]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
[grub2.git] / ChangeLog
CommitLineData
df042ccb
VS
12012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4 (grub_hfsplus_iterate_dir): Add "." and "..".
5
fc977f48
VS
62012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
10
f3250e5f
VS
112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
14 (find_path): Handle "." and "..".
15
fd8ed4c5
VS
162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
19 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
20 (grub_affs_iterate_dir): Handle hardlinks.
21
4ce776d2
MG
222012-05-26 Matthew Garrett <mjg@redhat.com>
23
24 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
25 (grub_efi_console_fini): Likewise.
26 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
27 (grub_video_gop_fill_mode_info): Rename to ...
28 (grub_video_gop_fill_real_mode_info): ... this.
29 (grub_video_gop_fill_mode_info): New function.
30 (grub_video_gop_setup): Setup double framebuffer.
31 (grub_video_gop_get_info_and_fini): Use original framebuffer.
32 Free offscreen.
33 (grub_video_gop_swap_buffers): Copy framebuffer.
34 (grub_video_gop_fini): Free offscreen buffer.
35 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
36 New enum.
37 (grub_efi_gop_blt_pixel): New struct.
38
683031ba
VS
392012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * gentpl.py: Remove error disabling for objconv.
42
c2deb798
VS
432012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * configure.ac: Remove -Wunitialized as it's not available on older
46 compilers.
47
482012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
49
50 Fix extent overflow comparator.
51
52 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
53 (grub_hfsplus_read_block): Set type.
54 (grub_hfsplus_cmp_extkey): Compare type.
55
d6b1fd36
VS
562012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
59
0a9aa0f6
VS
602012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
63 than 0.
64
8360e159
VS
652012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
68 (dejavu_bold_14.pf2): New target.
69
501b9e4b
VS
702012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * configure.ac: Fix djvu font detection.
73
7026b0e2
VS
742012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
77 ext* instead of ext2.
78
c2a51ade
VS
792012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
82 name with \0.
83
8f803a5d
JU
842012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
85
86 * docs/grub-dev.texi: Remove dot from .png.
87
13c6353f
VS
882012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
91 protective entry in any slot.
92 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
93 if protective entry is found in any slot.
94
95 Protective entry in non-first slot make no sense but is a widespread
96 brain damage.
97
4cf6be1b
VS
982012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
101
937d1c44
VS
1022012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
105 with old reiserfs.
106 (grub_reiserfs_open): Don't free root.
107
021d90ec
VS
1082012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
111 after freeing for safety.
112
967b2b64
VS
1132012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
116 Reported by: Jordan Uggla.
117
34274d02
JU
1182012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
119
967b2b64
VS
120 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
121 actual implementation. Specifically, clarify that the grub menu will
122 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
123 passed.
34274d02 124
dcaaae9d
BH
1252012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
126
127 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
128 of r0.
129
7086ad52
VS
1302012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Remove unjustified hard dependency of normal.mod on gfxterm.
133
134 * include/grub/term.h (grub_term_output): New member fullscreen.
135 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
136 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
137 (grub_gfxterm): Set .fullscreen.
138 * grub-core/normal/menu.c (menu_init): Use fullscreen.
139 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
140
37ed2c9b
VS
1412012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
144 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 145 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 146
a4469c88
VS
1472012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
150
4e461486
VS
1512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
154 a bad FS.
155
aa78f5c4
VS
1562012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
159 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
160
197626b5
VS
1612012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
164 (grub_jfs_mount): Fill caseins.
165 (grub_jfs_find_file): Respect caseins.
166
8ad3f28c
VS
1672012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
170 through UTF-16.
171
0c6c324e
VS
1722012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
175 New argument origpath. All users updated.
176
c6666ba6
VS
1772012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
180 (read_attr): Ensure that we read start of possibly compressed block.
181
e28e5fe5
VS
1822012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
185 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
186 All users updated.
187
5fc23ab2
VS
1882012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
191 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
192 (dejavu.pf2): Replace with ...
193 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
194 this.
195
79dbc21c
VS
1962012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * util/grub.d/20_linux_xen.in: Add missing line.
199
d2fcfb0c
VS
2002012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
203 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
204 (grub_utf16_to_utf8): Likewise.
205
5560e9d6
VS
2062012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
209 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
210 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
211 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
213 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
214
2152012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
216
217 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
218 a bad FS.
219
5560e9d6 2202012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
221
222 * grub-core/fs/udf.c (read_string): Bail out on size=0.
223 (grub_udf_read_symlink): Handle read_string failure.
224
5eae3175
VS
2252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
228 comment.
229
c1ad82db
VS
2302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Fix handling of UDF symlinks.
233
234 * grub-core/fs/udf.c (read_string): New argument outbuf.
235 All users updated.
236 (grub_ufs_read_symlink): Rename to ...
237 (grub_udf_read_symlink): ... this. All users updated.
238 Handle symlinks with more than one component.
239
33eca6e0
VS
2402012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
243 symlinks. Replace leading colon with a slash.
244
57f4a70b
VS
2452012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
248 filename.
249
38c8ee20
VS
2502012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
253 match in inner node.
254
2e57f28f
VS
2552012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
258 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
259 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
260 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
261 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
262 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
263 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
264 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
265 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
266
fe8c2f11
VS
2672012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Use grub-probe and not cmp to check that disk is empty.
270
271 * util/grub-install.in: Use grub-probe for zero-check.
272 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
273 (probe): Handle PRINT_ZERO_CHECK.
274 (argp_parser): Handle -t zero_check.
275
2762012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
277
278 Flush block cache on adding disk to device map.
279
280 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
281 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
282 adding.
283 (read_device_map): Likewise.
284 (open_device): Flush on opening.
285
690434e8
VS
2862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
289 (handle_symlink): Fix off-by-one error.
290 Canonicalize the target.
291 (grub_cpio_dir): Canonicalize the name.
292 Fix memory leak.
293 Set directory.
294 (grub_cpio_open): Canonicalize the name.
295
742d2be6
VS
2962012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
299 handling.
300
3244fe96
VS
3012012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
304 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
305
8aeb1837
VS
3062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
309 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 310 All users updated.
8aeb1837 311
9133fd05
VS
3122012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
315 counterpart.
316
6d521c5b
VS
3172012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
318
319 Fix UFS1 big file support.
320
321 * grub-core/fs/ufs.c (INODE): Removed.
322 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
323 64-bit.
324 (INODE_MODE): Simplify.
325 (grub_ufs_inode): Use uint64_t for size and not int64_t.
326 (grub_ufs_lookup_symlink): Don't use INODE.
327
21b82e17
VS
3282012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
329
330 Fix minixfs with non-power-of-two blocks since it's supported by minix.
331
332 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
333 (grub_minix_data): Replace log_block_size with block_size.
334 (grub_minix_read_file): Use block_size but avoid 64-bit division.
335 (grub_minix_mount): Fill block_size.
336
3372012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
338
339 * configure.ac: Bump to beta5.
340
f417ed04
VS
3412012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
342
343 Fix wrapped HFS+ handling.
344
345 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
346 blocks_start. All users updated.
347 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
348 wrapping offset.
349 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
350
607d282b
VS
3512012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Fix long symlinks on reiserfs.
354
355 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
356 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
357 (grub_reiserfs_iterate_dir): Save size for non-directories.
358 (grub_reiserfs_open): Don't reread stat block as we already know the
359 size.
360 (grub_reiserfs_read): Split into...
361 (grub_reiserfs_read_real): ... and ...
362 (grub_reiserfs_read): ...this.
363
ae16024d
VS
3642012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
365
366 Fix non-indexed JFS.
367
368 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
369 (grub_jfs_data): New field namecomponentlen.
370 (grub_jfs_mount): Fill namecomponentlen.
371 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
372
eea1e26e
VS
3732012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
376 * tests/grub_script_echo1.in: Add tests.
377
df760f77
VS
3782012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub-install.in: Ignore empty devicetree directory.
381
5efb817d
B
3822012-05-08 Bean <bean123ch@gmail.com>
383
384 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
385 All users updated.
386 (free_rsm): Free header as well.
387 (free_old_fragments): Fix memory leak.
388 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
389 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
390 (destroy_pq): Likewise.
391 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
392
668ea6d2
VS
3932012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
396 resulting hash as a precaution.
397
1739b1fe
VS
3982012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
401 '_' in variable names.
402 * grub-core/net/net.c (grub_net_network_level_interface_register):
403 Likewise.
404
6ae485aa
VS
4052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Fix AFFS with non-512B blocks.
408
409 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
410 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
411 (grub_affs_data): Replace blocksize with log_blocksize.
412 (grub_affs_read_block): Fix non-512B blocks.
413 (grub_affs_read_symlink): Likewise.
414 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
415 (grub_affs_read): Fix non-512B blocks.
416 (grub_affs_label): Likewise.
417 (grub_affs_mtime): Likewise.
418 (grub_affs_mount): Fix block detection routine.
419
d20fab84
VS
4202012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Add filesystem mtime to AFFS.
423
424 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
425 (aftime2ctime): New function.
426 (grub_affs_dir): Use aftime2ctime.
427 (grub_affs_label): Fix return value.
428 (grub_affs_mtime): New function.
429 (grub_affs_fs): Add mtime.
430
e87b10f5
VS
4312012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
434 UTF-8.
435
7dceec9b
VS
4362012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
439 UTF-8.
440
2f48221f
VS
4412012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
444
dacd85cf
VS
4452012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
448 flags.
449 (FLAGS_CASE_SENSITIVE): New enum value.
450 (cache_entry): New struct.
451 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
452 cache_size and cache.
453 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
454 Add log_blocksize and fshelp_flags.
455 (grub_sfs_read_extent): Handle non-512 blocks.
456 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
457 (grub_sfs_read_file): Handle non-512 blocks.
458 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
459 fshelp_flags.
460 (grub_sfs_read_symlink): Handle non-512 blocks.
461 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
462 (grub_sfs_dir): Free cache.
463 (grub_sfs_close): Likewise.
464
24e9a854
VS
4652012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
468 filesystems.
469
62ace64d
VS
4702012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
473
83b2e89c
VS
4742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
477
75ccaea3
VS
4782012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
481 (grub_sfs_read_extent): Likewise.
482 (grub_sfs_read_block): Likewise.
483 (grub_sfs_mount): Likewise.
484 (grub_sfs_iterate_dir): Likewise.
485 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
486 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
487
1b8463f2
VS
4882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
489
490 Fix errors on compressed NTFS with 512B clusters.
491
492 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
493 types.
494 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
495 not 0.
496 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
497 Relax check for inline extents.
498 (ntfscomp): Return correct -1 on error and not 0.
499
4f8e368f
VS
5002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * util/grub-install.in: Fix handling of prefix containing spaces.
503
6f5d5ee8
VS
5042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
507 (grub_squash_read_data): Fix offset byte-swapping.
508
ce41ab7a
VS
5092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
512 per common usage and preffered in several parts of code.
513 (grub_memcmp): Likewise.
514 (grub_strncmp): Likewise.
515 * include/grub/misc.h (grub_strcasecmp): Likewise.
516 (grub_strncasecmp): Likewise.
517 * Makefile.util.def (cmp_test): New test.
518 (grub_script_strcmp): Likewise.
519 * tests/cmp_unit_test.c: New file.
520 * tests/grub_script_strcmp.in: Likewise.
521 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
522
49717bf4
VS
5232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * include/grub/pci.h: Move enums into no-asm part.
526
0a308f64
VS
5272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
530
1796965f
ST
5312012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
532
533 * util/getroot.c (find_hurd_root_device): Try to make error message
534 and comments to translators clearer.
535
4e9b2819
VS
5362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
539
076aeb50
VS
5402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
543 btrfs.
544
19424d94
VS
5452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * docs/grub.cfg: Update.
548
ebb73076
VS
5492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * docs/grub.texi (PXE): Remove not present variables.
552
9a1b669c
VS
5532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/net/net.c (defserver_set_env): New function.
556 (defserver_get_env): Likewise.
557 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
558
d38bf7d3
VS
5592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
562 entries.
563
5642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
565
566 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
567 * grub-core/kern/emu/hostdisk.c: Likewise.
568
e5e4ca48
ST
5692012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
570
571 Handle hurd userspace partitions.
572
573 * util/getroot.c (find_hurd_root_device): New function.
574 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
575
56bb5dd5
VS
5762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
579 names.
580 Reported by: Bastian Blank.
581
9e8bc27a
VS
5822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
585 crossing page boundary.
586
aa01499d
VS
5872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
588
589 Fix B-tree search in BFS, especially in presence of non-ASCII
590 characters.
591
592 * grub-core/fs/bfs.c (bfs_strcmp): New function.
593 (find_in_b_tree): Use standard bsearch + btree algorithm.
594
57006035
VS
5952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
598 and so on.
599
9d34bb85
MG
6002012-05-03 Matthew Garrett <mjg@redhat.com>
6012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Suspend broadcom cards in order to stop their DMA.
604
605 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
606 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
607 (pci): Don't build on x86 EFI.
608 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
609 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
610 New function.
611 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
612 stop_broadcom if running on EFI.
613 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
614 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
615 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
616 (grub_pci_find_capability): New proto.
617
01aab997
VS
6182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * docs/grub.texi: Remove dot from the extension as it apparently
621 doesn't work with some makeinfo versions.
622
fbd8dca6
VS
6232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
626 with GRUB expectance.
627
dab797f4
VS
6282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
631
1516bfb4
VS
6322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
635 zero after directory block since last entry may be not 0-terminated if
636 it ends on block boundary. Use continue instead of if spanning whole
637 loop.
638
a3a0eace
VS
6392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
640
641 Support 4K sectors UDF inline files.
642
643 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
644 (grub_udf_extended_file_entry): Likewise.
645 (grub_fshelp_node): Name the anonymous union. Put block at the end.
646 All users updated.
647 (get_fshelp_size): New function.
648 (grub_udf_read_icb): Read whole block.
649 (grub_udf_iterate_dir): Likewise.
650 (grub_udf_dir): Likewise.
651 (grub_udf_open): Likewise.
652
c82f16c1
VS
6532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
656
59fd2aac
VS
6572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
660 inline symlinks in addition to workaround.
661
3b4afb4d
VS
6622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
665
f45c794a
VS
6662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
669
f25cecbd
VS
6702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
673
bb9a34e8
VS
6742012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Fix reiserfs big seek times.
677
678 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
679 exact. All users updated.
680 (grub_reiserfs_read): Use nearest btree search for seeking.
681 Fix return value on error.
682
dc478aea
VS
6832012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
686 entries.
687 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
688 * docs/grub.texi: Update menuentry description.
689
8db10f47
VS
6902012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
693 crash when embedding onto filesystem.
694
bcb288ed
VS
6952012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
698 name.
699
a626fdd7
VS
7002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
703
b2f68477
VS
7042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
707 commit.
708
ba15b2af
B
7092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7102012-05-01 Bean <bean123ch@gmail.com>
711
712 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
713
a188012e
VS
7142012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
717 Special behaviour for len = 0 to read whole file isn't used anywhere and
718 can cause buffer ovewrflows in several places.
719
f0a53ed2
VS
7202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
723
5ed554f0
VS
7242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Handle RAIDZ on non-512B sectors.
727
728 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
729 max_children_ashift.
730 (fill_vdev_info_real): Fill max_children_ashift.
731 (read_device): Use max_children_ashift.
732
ddc58357
VS
7332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
736
e3282399
VS
7372012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
740 disk names.
741 * docs/grub.texi: Update device.map parts.
742
ee618bd4
VS
7432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
744
745 Don't scan into non-diskfilter devices having diskfilter names.
746
747 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
748 (scan_disk): New argument accept_diskfilter. Fix recursion depth
749 handling.
750 (scan_disk_hook): New function.
751
bdf88864
B
7522012-04-29 Bean <bean123ch@gmail.com>
753
754 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
755 allocation.
756
32745f51
MK
7572012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
758
759 * configure.ac: Detect starfield theme font path
760 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
761
bc95c8c0
VS
7622012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
765 geometry on serial consoles.
766
147fbcab
VS
7672012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
770 because of network consoles.
771
0f42c889
VS
7722012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
775 handling.
776
4a3594c9
VS
7772012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
780 falls on Q syndrom.
781
5cb53879
VS
7822012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
785 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
786
b282dfe5
VS
7872012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
790 Allocate at lest 8192 for temporary buffer as required for lzo.
791
daa59f47
VS
7922012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
795 to cluster_bits, since it's already added in.
796 (grub_fat_read_data): Likewise.
797
986748ce
VS
7982012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
801 as long as cluster size is multiple of 512 bytes.
802
a20f6ad0
VS
8032012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/grub-mkrescue.in: Fix locale directory.
806
385f9abb
VS
8072012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/kern/emu/hostdisk.c (map): Make static.
810
1c557d30
B
8112012-04-23 Bean <bean123ch@gmail.com>
812
813 * util/grub-fstest.c (fstest): Add missing break.
814
524b5d3a
ST
8152012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
816
817 Fix hurd build.
818
819 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
820 not define nr variable.
fe4824e9 821 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
822 find_root_devices_from_poolname, find_root_devices_from_libzfs,
823 grub_find_device): Do not define.
524b5d3a 824
9a06490c
VS
8252012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Fix kfreebsd compile and behaviour.
828
829 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
830 format-security.
831 * util/getroot.c: Fix wait.h include.
832 (grub_guess_root_devices): Error if grub_find_device fails.
833 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
834 (grub_util_get_dev_abstraction): Likewise.
835 (grub_util_pull_device): Likewise.
836 (grub_util_get_grub_dev): Likewise.
837 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
838
48143d96
VS
8392012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Fix and unify wholedisk detection.
842
843 * util/getroot.c (convert_system_partition_to_system_disk): New argument
844 is_part. All users updated.
845 (device_is_wholedisk): Removed.
846 (grub_util_biosdisk_get_grub_dev): Use is_part.
847
ebbd24f3
VS
8482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
851 mode.
852
56f7aa1e
VS
8532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * configure.ac: Bump to beta4.
856
9c815e01
VS
8572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
860 --fs-uuid --set UUID syntax.
861
59e2651a
VS
8622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
865 disunification.
866
54e03cfc
VS
8672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
870
81092a75
MK
8712012-04-18 Mads Kiilerich <mads@kiilerich.com>
872
873 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
874
f8315e14
MG
8752012-04-18 Mike Gilbert <floppym@gentoo.org>
876
877 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
878
1501ac21
B
8792012-04-18 Bean <bean123ch@gmail.com>
880
881 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
882 place.
883
cb7f944e
VS
8842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
887 users updated.
888 (grub_util_biosdisk_read): Handle Linux partitions not exactly
889 corresponding to GRUB partitions.
890 (grub_util_biosdisk_write): Likewise.
891
b72d44a1
VS
8922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Scan mdraid before LVM.
895
896 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
897 (grub_diskfilter_register_front): ... this.
898 (grub_diskfilter_register_back): New function.
899 All users of grub_diskfilter_register updated.
900
33d918b8
VS
9012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * util/grub-install.in: Fix an automatic target detection bug.
904
c6ca973d
VS
9052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * util/grub-install.in: New option --efi-directory.
908
b41be562
VS
9092012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
912 boot services if we have no other choice.
913
9142012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * util/grub-mknetdir.in: Rename --override-directory to --directory and
917 document it.
918 * tests/util/grub-shell.in: Update to --directory.
919
e0595a73
VS
9202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
923
4ed80652
VS
9242012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
927 (grub_minix_read_file): Likewise.
928 (grub_minix_read_inode): Likewise.
929 (grub_minix_find_file): Likewise.
930 (grub_minix_dir): Likewise.
931
56008077
VS
9322012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * util/grub-setup.c (setup): Fix partition handling and blocklist
935 check.
936
ee520775
VS
9372012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
940 redundant buggy overlap check.
941
16fc9293
VS
9422012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
945 and grub-mknetdir.
946
9bab65c4
VS
9472012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
950 kh.loadflags on pre-2.00 kernels.
951
3c491b47
VS
9522012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Terminate UNDI and PXE before launching the payload to avoid problems
955 with DMA.
956
957 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
958 (grub_loader_flags): ... this. All users updated.
959 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
960 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
961 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
962 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
963 function.
964 (grub_pxe_restore): Likewise.
965 (fini_hnd): New var.
966 (GRUB_MOD_INIT): Register shutdown hook.
967 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
968 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
969 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
970 (grub_loader_set): Rename second argument to flags.
971
851ffada
VS
9722012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
975 written bytes.
976 (grub_get_num_of_utf8_bytes): New function.
977 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
978 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
979 executing it.
980 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
981 (grub_ucs4_to_utf8): Change return type.
982
491c57a8
VS
9832012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
986 warning.
851ffada
VS
987 * grub-core/fs/bfs.c (hop_level): Likewise.
988 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 989
756773df
VS
9902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/lib/adler32.c: Recode due to license unclearness.
993
fd556a96
VS
9942012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
997 (test_header): Likewise.
998
9f9d3f69
VS
9992012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 Fix --help formatting.
1002
1003 * util/grub-mkconfig_lib.in (print_option_help): New function.
1004 (grub_fmt): Likewise.
1005 * util/grub-install.in: Use print_option_help and grub_fmt.
1006 * util/grub-kbdcomp.in: Likewise.
1007 * util/grub-mkconfig.in: Likewise.
1008 * util/grub-mknetdir.in: Likewise.
1009 * util/grub-mkrescue.in: Likewise.
1010 * util/grub-mkstandalone.in: Likewise.
1011 * util/grub-reboot.in: Likewise.
1012 * util/grub-set-default.in: Likewise.
1013 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1014
561ec77e
VS
10152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * linguas.sh: Remove autogenerated *.po.
1018
7ec2b021
VS
10192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * po/README: Move language fetcing to ...
1022 * linguas.sh: ... here.
1023 * po/README: Point to linguas.sh.
1024
a88f3270
VS
10252012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * po/README: Exclude ko.po due to disclaimer problems.
1028
d61357ce
VS
10292012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1032 len = 0.
1033 (grub_gettext_translate_real): Handle 0th string.
1034 (grub_gettext_translate): Ensure that "" isn't translated.
1035
505e41dc
VS
10362012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1039 TRANSLATORS comment.
1040 (grub_diskfilter_print_partmap): Propagate changing of error into
1041 warning.
1042
e44092db
VS
10432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1046 to uint64_t to prevent overflow.
1047 (grub_diskfilter_lv): Increase start_extent and extent_count
1048 to uint64_t to prevent overflow.
1049
9b83956a
VS
10502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * configure.ac: Increase version.
1053
da0d5b3f
VS
10542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1057
1058 * po/Rules-translit: New file.
1059 * po/arabic.sed: Likewise.
1060 * po/cyrillic.sed: Likewise.
1061 * po/greek.sed: Likewise.
1062 * po/hebrew.sed: Likewise.
1063 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1064 * po/Makefile.in.in: Add extra_dist4.
1065
ac66b453
VS
10662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1069
1070 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1071 modify names. Introduce MODE_BIGENDIAN.
1072 * grub-core/fs/minix_be.c: New file.
1073 * grub-core/fs/minix2_be.c: Likewise
1074 * grub-core/fs/minix3_be.c: Likewise.
1075 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1076 minix3_be.
1077 * grub-core/Makefile.core.def (minix_be): New module.
1078 (minix2_be): Likewise.
1079 (minix3_be): Likewise.
1080
10812012-04-01 Felix <email@hamburg.de>
1082
1083 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1084 (devs): Add MBP 2011.
1085
0a2d5a82
VS
10862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1089
d1625889
VS
10902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/normal/cmdline.c (print_completion): New field
1093 prompt_len.
1094 (grub_cmdline_get): Handle width properly.
1095
6d36a236
VS
10962012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1099
9576977e
VS
11002012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1103 after 29th of February.
9576977e 1104
d73ff15d
VS
11052012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Fix exfat endianness handling.
1108
1109 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1110 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1111 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1112 Byte-swap utf16 when necessary.
1113 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1114
bbb39a45
AB
11152012-03-31 Anton Blanchard <anton@samba.org>
11162012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Fix btrfs endianness handling.
1119
1120 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1121 (lower_bound): Make root uint64_t. Use root in le.
1122 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1123 (find_path): Fix template key init.
1124 (grub_btrfs_dir): Fix mtime byteswap.
1125 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1126
354e0af7
VS
11272012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1130 recursion_depth. Break infinite resursions. All users updated.
1131
4e75f21c
VS
11322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1135 after free.
1136 Reported by: Peter Jones.
1137
25581802
AB
11382012-03-31 Anton Blanchard <anton@samba.org>
1139
1140 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1141 8 bit values.
1142
08fbf92e
VS
11432012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/grub-install.in: Fix nvram call for PreP.
1146
5d1182a6
VS
11472012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1150 the error when some elements are missing into a warning.
1151
3f8cdd90
VS
11522012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1155
51006716
CW
11562012-03-28 Colin Watson <cjwatson@ubuntu.com>
1157
1158 * docs/grub.texi (Invoking grub-probe): New section.
1159 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1160
e1bd676b
VS
11612012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 Fix tab and wide character handling in editor and menu.
1164
1165 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1166 agglomerate control characters with combining marks.
1167 (bidi_line_wrap): Allow break on tab.
1168 (grub_unicode_get_comb_start): New function.
1169 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1170 and tab correctly.
1171 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1172 with a space.
1173 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1174 fixed_tab_size. All users updated.
1175 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1176 (grub_term_getcharwidth): Handle \t.
1177 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1178 and copy.
1179
22e6a774
VS
11802012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 Handle big-endian mdraid.
1183
1184 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1185 * grub-core/Makefile.core.def (mdraid09_be): New module.
1186 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1187 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1188 * grub-core/disk/mdraid_linux_be.c: New file.
1189
3c0eae66
VS
11902012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1193
b6cf74c9
VS
11942012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1197 missing quotes which caused confusion among translators.
1198
83c93b9c
VS
11992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * util/grub-mkconfig_lib.in: Fix typo.
1202
ac6fd218
VS
12032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1206 spaces.
1207 * tests/grub_script_leading_whitespace.in: New file.
1208 * Makefile.util.def (grub_script_leading_whitespace): New test.
1209
ba287dd8
VS
12102012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1213 to work.
1214
d2d58d0a
VS
12152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1218 starts with control character.
1219
0382d9bb
VS
12202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1223 overflow.
1224 (grub_gdb_outbuf): Likewise.
1225
d83ff9f9
VS
12262012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1229 zero terminator. Fixes a crash.
1230
2282da4a
VS
12312012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1234 beyond 4 GiB.
1235 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1236 images independently of preffered adderss field.
1237
0ae4f0bd
VS
12382012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1241 * grub-core/commands/regexp.c: Likewise.
1242 * grub-core/loader/i386/linux.c: Likewise.
1243 * grub-core/partmap/msdos.c: Likewise.
1244 * grub-core/script/execute.c: Likewise.
1245 * grub-core/term/gfxterm.c: Likewise.
1246
546fbe9b
VS
12472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Add variable parsing in $"..." and fix several mismatches with bash.
1250
1251 * Makefile.util.def (grub_script_gettext): New test.
1252 * grub-core/script/execute.c (parse_string): New function.
1253 (gettext_append): Likewise.
1254 (grub_script_arglist_to_argv): Use gettext_append.
1255 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1256 * tests/grub_script_gettext.in: New file.
1257
9fdb2d7b
VS
12582012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Fix handling of leading spaces in scripts.
1261
1262 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1263 spaces.
1264 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1265 other than skipping \r. All users updated.
1266 * tests/grub_script_echo1.in: Add space-related tests.
1267 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1268
1a1ac4f6
VS
12692012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1272
b63d89b6
VS
12732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * configure.ac: Bump up the version to beta2.
1276
17f38c0f
VS
12772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Fix gettext reload bugs (e.g. inability to disable gettext
1280 once enabled).
1281
1282 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1283 main_context and secondary_context. All functions updated.
1284 (grub_gettext_translate): Rename to ...
1285 (grub_gettext_translate_real): ... this. Return NULL on failed
1286 translate.
1287 (grub_gettext_translate): Handle secondary context.
1288 (grub_gettext_delete_list): Close file and zero-out the context.
1289 (grub_mofile_open): Don't call grub_gettext_delete_list.
1290 Don't close file.
1291 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1292 if locale="" to avoid pointless error message.
1293 (grub_gettext_env_write_lang): Update lang even if load fails.
1294 Handle secondary context.
1295 (grub_gettext_reread_prefix): New function.
1296 (read_main): Likewise.
1297 (read_secondary): Likewise.
1298 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1299 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1300 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1301 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1302
8e56f870
VS
13032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * configure.ac: Decrease warning level to avoid spurious warnings and
1306 to be able to compile with GCC 4.2.
1307 * Makefile.util.def: Remove -Wno-error=logical-op.
1308
82f6d455
WB
13092012-03-10 William Bittner <william.bittner@gmail.com>
1310
1311 * util/import_unicode.py: Add missing brackets around string for
1312 python 3 support.
1313
1ecd61a4
VS
13142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Fix efi chainloader on network root.
1317
1318 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1319 network devices.
1320 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1321 New function.
1322
14361ee8
VS
13232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1326 unused show_text member.
1327 * docs/grub.texi: Document "text" property.
1328
922aabf3
VS
13292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1332 in dprintf.
1333
ec316771
VS
13342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Fix IMSM handling on Fedora.
1337
1338 * util/getroot.c (grub_util_is_imsm): New function.
1339 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1340
0f021838
VS
13412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * Makefile.am: Strip gold section.
1344 * conf/Makefile.common: Likewise.
1345 * gentpl.py: Likewise.
1346 * grub-core/Makefile.core.def: Likewise.
1347 * grub-core/genmod.sh.in: Likewise.
1348
1039c8eb
VS
13492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1352 * util/grub.d/20_linux_xen.in: Likewise.
1353 Based on Debian patch.
1354
6dd412cd
VS
13552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * util/grub.d/10_linux.in: Fix syntax error resulting in
1358 Richard Laager's patch.
1359 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1360
3fd8bae5
VS
13612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1364 dependencies.
1365
7eea1671
RL
13662012-03-10 Richard Laager <rlaager@wiktel.com>
1367
1368 * util/grub.d/10_linux.in: Fix ZFS root passing.
1369
e8e0566b
VS
13702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1373 * grub-core/commands/xnu_uuid.c: Likewise.
1374 * grub-core/loader/efi/appleloader.c: Likewise.
1375 * grub-core/script/execute.c: Likewise.
1376 * grub-core/script/main.c: Likewise.
1377 * util/grub-mkfont.c: Likewise.
1378
1acc5b1f
VS
13792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * util/grub-mkfont.c (options): Use more appropriate "select" that
1382 "set" for face index.
1383
35d70620
VS
13842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * util/grub-editenv.c (options): Gettextize command summaries.
1387
c9eb96b5
VS
13882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1391 "out of memory" error messagge.
1392
1f493136
VS
13932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1396 of diskfilter for diskfilter on diskfilter support.
1397
6d790129
VS
13982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1401
005f46c9
VS
14022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1405 themes/starfield.
1406
c8f778a0
VS
14072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1410
de1e64eb
VS
14112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1414
c6d54211
VS
14152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1418 of error message.
1419
dd390777
VS
14202012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1423
5fd1c522
VS
14242012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1427 message.
c6d54211 1428 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1429
fae01f6c
VS
14302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1433 Gettextize.
1434 * util/grub-mount.c (options): Likewise.
1435
292fdaff
VS
14362012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1439 gettextize.
1440 * grub-core/commands/search_wrap.c (options): Likewise.
1441
ecdbae77
VS
14422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1445
52bfedfa
VS
14462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1449 size calculation.
1450 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1451 none is known.
1452
55b20e58
VS
14532012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1456 "temporary" since it's used in identifier and is limited in space.
1457
fda9d101
VS
14582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * po/POTFILES.in: Regenerate. Include *.h since they contain
1461 translatable strings as well.
1462
6a0295e2
VS
14632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1466 byte-swap on big-endian.
1467 Reported by: Lennart Sorensen
1468
807fb77c
VS
14692012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1472 (allocate_pages): Improve dprintf.
1473 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1474 code32_start. Fill code32_start and kernel_alignment in params.
1475 (grub_cmd_initrd): Use prot_init_space.
1476
61ac50ba
VS
14772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1480
abdd26dd
VS
14812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/grub-install.in: Add missing dot at the end of sentence.
1484
6e69da9c
VS
14852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1488 * grub-core/commands/videotest.c: Likewise.
1489 * grub-core/loader/i386/linux.c: Likewise.
1490
4a929343
VS
14912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1494 sentence.
1495 Reported by: Milo Casagrande.
1496
bb51c6c6
VS
14972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1500 * grub-core/commands/gptsync.c: Likewise.
1501 * grub-core/commands/hashsum.c: Likewise.
1502 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1503 * grub-core/commands/legacycfg.c: Likewise.
1504 * grub-core/io/gzio.c: Likewise.
1505 * grub-core/net/net.c: Likewise.
1506 * grub-core/term/gfxterm.c: Likewise.
1507 * grub-core/term/terminfo.c: Likewise.
1508 * grub-core/tests/test_blockarg.c: Likewise.
1509 * grub-core/video/video.c: Likewise.
1510 * util/grub-install.in: Likewise.
1511 * util/grub-mkfont.c: Likewise.
1512
b2b149cb
VS
15132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1516
c7c080ad
VS
15172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1520 Reported by: David Prévot.
c7c080ad 1521
f2e243c0
VS
15222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1525 description.
1526
09963c76
VS
15272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * util/grub-script-check.c (main): Fix a syntax error message which was
1530 unclear.
1531
a50514a8
VS
15322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1535
4650daec
VS
15362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1539 messages.
1540
15412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1542
1543 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1544 without argument.
1545 * util/grub-mount.c (options): Likewise.
1546
bbc5a342
VS
15472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1550
ef292a87
VS
15512012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/net/http.c: Add TRANSLATORS comments.
1554 * grub-core/normal/cmdline.c: Likewise.
1555 * grub-core/normal/misc.c: Likewise.
1556 * grub-core/partmap/msdos.c: Likewise.
1557 * grub-core/parttool/msdospart.c: Likewise.
1558 * grub-core/script/execute.c: Likewise.
1559 * grub-core/script/main.c: Likewise.
1560 * grub-core/term/terminfo.c: Likewise.
1561 * grub-core/video/bitmap.c: Likewise.
1562 * util/grub-install.in: Likewise.
1563 * util/grub-mkimage.c: Likewise.
1564 * util/grub-mklayout.c: Likewise.
1565 * util/grub-setup.c: Likewise.
1566
0fc19bd0
VS
15672012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1570 with similar messages in grub-fstest.
1571
d95862ef
VS
15722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * util/grub-install.in: Unify "option requires an argument" message
1575 with similar messages in other files.
1576 * util/grub-mkconfig.in: Likewise.
1577
b7308f90
VS
15782012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/grub-set-default.in: Replace printf with gettext_printf (the
1581 string in in question is already translated from grub-reboot)
1582
559dc587
VS
15832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * configure.ac: Bump up the version to beta1.
1586
1a11761f
VS
15872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1590 case when min_align = 0.
1591
24539abd
VS
15922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1595 and fix a case when line_start overflows.
1596
32bd735b
VS
15972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * util/grub-reboot.in (usage): Mention id posibility.
1600 * util/grub-set-default.in (usage): Likewise.
1601
1a2fd1e6
VS
16022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1605 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1606 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1607 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1608 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1609 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1610 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1611
90eeab76
VS
16122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/commands/menuentry.c (options): Remove
1615 GRUB_ARG_OPTION_REPEATABLE.
1616 Reported by: Andreas Vogel
1617
5ad1be82
AV
16182012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1619
1620 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1621
cb055286
HE
16222012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1623
1624 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1625 error.
1626
93b1cd79
VS
16272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Use sort -V by the idea of Georgi Georgiev.
1630
1631 * util/grub-mkconfig_lib.in (version_sort): New function.
1632 (version_test_numeric): Use version_sort.
1633
0cdc126c
VS
16342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 Use submenus in grub-mkconfig.
1637
1638 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1639 * util/grub-mkconfig_lib.in (grub_quote): New function.
1640 (gettext_printf): Use gettext and not gettext_quoted to fix several
1641 messages.
1642 * util/grub.d/10_hurd.in: Use submenus.
1643 * util/grub.d/10_kfreebsd.in: Likewise.
1644 * util/grub.d/10_linux.in: Likewise.
1645 * util/grub.d/10_netbsd.in: Likewise.
1646 * util/grub.d/20_linux_xen.in: Likewise.
1647 * util/grub.d/30_os-prober.in: Likewise.
1648 * util/grub.d/10_illumos.in: Add missing quoting.
1649 * util/grub.d/10_windows.in: Likewise.
1650
d9bef9bc
VS
16512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 Fix menu title instability bug.
1654
1655 * grub-core/commands/menuentry.c (options): New option --id.
1656 (grub_normal_add_menu_entry): New argument id. All users updated.
1657 (grub_cmd_menuentry): Handle --id.
1658 (grub_menu_init): Accept unknown arguments.
1659 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1660 feature_menuentry_options.
1661 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1662 saved_entry.
1663 (get_entry_number): Match with id as well.
1664 * include/grub/menu.h (grub_menu_entry): New member id.
1665 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1666 * util/grub.d/00_header.in: Define menuentry_id_option.
1667 * util/grub.d/10_hurd.in: Define id.
1668 * util/grub.d/10_illumos.in: Likewise.
1669 * util/grub.d/10_kfreebsd.in: Likewise.
1670 * util/grub.d/10_linux.in: Likewise.
1671 * util/grub.d/10_netbsd.in: Likewise.
1672 * util/grub.d/10_windows.in: Likewise.
1673 * util/grub.d/20_linux_xen.in: Likewise.
1674 * util/grub.d/30_os-prober.in: Likewise.
1675
16762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1677
1678 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1679 "scope" with "body".
1680
7c8d0ce7
VS
16812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1684 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1685 prot_size and prot_file_size.
1686
49de079b
VS
16872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1690 All users updated. If easily=1 require raid-5/-6 to be full.
1691 (is_node_readable): Likewise.
1692 (scan_devices): Scan incomplete but readable LVs at the end.
1693 (grub_diskfilter_memberlist): Pull missing devices.
1694 (insert_array): Skip scanning until device is complete or scan is
1695 done otherwise.
1696 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1697 check.
1698 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1699 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1700
aff05d45
MG
17012012-03-03 Matthew Garrett <mjg@redhat.com>
17022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 Avoid EFI boot services when loading Linux.
1705
1706 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1707 avoid_efi_bootservices. All users updated.
1708 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1709 argument avoid_efi_bootservices. All users updated.
1710 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1711 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1712 align, min_align, relocatable, prefered_address. All users updated.
1713 Allocate avoiding boot services if kernel is relocatable.
1714 (grub_cmd_linux): Check if kernel is relocatable.
1715 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1716 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1717 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1718 avoid_efi_boot_services.
1719 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1720 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1721 (linux_kernel_params): Likewise.
1722
3935dde2
MG
17232012-03-03 Matthew Garrett <mjg@redhat.com>
17242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Use EDID on EFI.
1727
1728 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1729 datasize_out.
1730 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1731 modes. Set gop_handle.
1732 (grub_video_gop_get_edid): New function.
1733 (grub_gop_get_preferred_mode): Likewise.
1734 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1735 (grub_video_efi_gop_adapter): Set .get_edid.
1736 * include/grub/efi/edid.h: New file.
1737 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1738
32107ec0
VS
17392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/grub-install.in: Load efivars unconditionally.
1742
e70a2c50
VS
17432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * po/Rules-piglatin: Change suffix from .po-update-en to
1746 .po-update-en-piglatin.
1747
8f9cace1
VS
17482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 Add a pig farm.
1751
1752 * po/piglatin.sed: New file.
1753 * po/en@piglatin.header: Likewise.
1754 * po/Rules-piglatin: Likewise.
1755 * po/README: Add en@piglatin to autogenerated languages.
1756
8f95d002
VS
17572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1760 "Command for ...".
1761 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1762 "Check" since we don't check anything.
1763 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1764 is 64-bit one.
1765 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1766 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1767 (grub_md_sha512_real): Likewise.
1768
805a8dcc
VS
17692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/commands/gptsync.c: Fix typographic quoting.
1772 * grub-core/commands/ieee1275/suspend.c: Likewise.
1773 * grub-core/commands/parttool.c: Likewise.
1774 * grub-core/commands/search_wrap.c: Likewise.
1775 * grub-core/commands/videoinfo.c: Likewise.
1776 * grub-core/gfxmenu/gui_label.c: Likewise.
1777 * grub-core/hello/hello.c: Likewise.
1778 * grub-core/kern/emu/main.c: Likewise.
1779 * grub-core/net/net.c: Likewise.
1780 * grub-core/normal/menu.c: Likewise.
1781 * grub-core/normal/menu_text.c: Likewise.
1782 * grub-core/normal/misc.c: Likewise.
1783 * util/grub-editenv.c: Likewise.
1784 * util/grub-install.in: Likewise.
1785 * util/grub-kbdcomp.in: Likewise.
1786 * util/grub-mkconfig.in: Likewise.
1787 * util/grub-mknetdir.in: Likewise.
1788 * util/grub-mkrescue.in: Likewise.
1789 * util/grub-mkstandalone.in: Likewise.
1790 * util/grub-reboot.in: Likewise.
1791 * util/grub-set-default.in: Likewise.
1792 * util/grub-setup.c: Likewise.
1793 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1794
40211ab8
VS
17952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1798 * grub-core/commands/keystatus.c: Likewise.
1799 * grub-core/commands/loadenv.c: Likewise.
1800 * grub-core/commands/probe.c: Likewise.
1801 * grub-core/commands/regexp.c: Likewise.
1802 * grub-core/commands/true.c: Likewise.
1803 * grub-core/commands/videoinfo.c: Likewise.
1804 * grub-core/disk/cryptodisk.c: Likewise.
1805 * grub-core/disk/ldm.c: Likewise.
1806 * grub-core/disk/loopback.c: Likewise.
1807 * grub-core/disk/luks.c: Likewise.
1808 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1809 * grub-core/kern/disk.c: Likewise.
1810 * grub-core/kern/emu/hostdisk.c: Likewise.
1811
0c7d99c7
VS
18122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1815 * util/grub-install.in: Add missing quote in the comment.
1816
e7d2559b
VS
18172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1820 * grub-core/commands/lsmmap.c: Likewise.
1821 * grub-core/commands/minicmd.c: Likewise.
1822 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1823 * grub-core/commands/regexp.c: Likewise.
1824 * grub-core/gdb/gdb.c: Likewise.
1825 * grub-core/term/gfxterm.c: Likewise.
1826 * util/grub-mkconfig.in: Likewise.
1827 * util/grub-mkfont.c: Likewise.
1828 * util/grub-mklayout.c: Likewise.
1829 * util/grub-mknetdir.in: Likewise.
1830 * util/grub-mkrescue.in: Likewise.
1831 * util/grub.d/30_os-prober.in: Likewise.
1832
49ce9e50
VS
18332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1836 with "Direct color" and "Packed" with "Packed pixel".
1837 (grub_cmd_videoinfo): Simplify legend.
1838
e4b791fa
VS
18392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1842 absolutely unclear error message.
1843
fd1265cb
VS
18442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * util/grub-mkstandalone.in: Remove confusing leftover print.
1847
8822a8a0
VS
18482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1851 comments.
1852 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1853 (GRUB_MOD_INIT): Likewise.
1854 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1855 VGA mode.
1856 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1857 comments.
1858 * util/grub-install.in (usage): Likewise.
1859 Spell ID in whole letters.
1860 Add missing ending dot.
1861 Quote variables.
1862 * util/grub-reboot.in: Fix capitalisation.
1863 * util/grub-set-default.in: Likewise.
1864
937fd0cc
VS
18652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1868 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1869 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1870 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1871 Disable -Werror for -Wdeprecated-declarations.
1872 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1873 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1874 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1875 (grub_util_get_grub_dev): Make luks handling dependent on
1876 HAVE_DEVICE_MAPPER and not __linux__.
1877 (get_win32_path): Fix format security.
1878 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1879 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1880 Don't try grub_find_zpool_from_dir.
1881 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1882 #ifdef-out paresdir.
1883
1bab1ae3
VS
18842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * util/grub-pe2elf.c (usage): Add missing noreturn.
1887 (write_section_data): Rename name to shname to avoid shadowing.
1888 (write_symbol_table): Rename name to symname to avoid shadowing.
1889 Fix write_reloc_section call.
1890
ef023e42
VS
18912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1894 to ensure that it's after the last byte of .text.
1895
48afcb75
VS
18962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * util/ieee1275/ofpath.c (my_isdigit): New function.
1899 (trailing_digits): Use my_isdigit.
1900 (strip_trailing_digits): Likewise.
1901
88d51eff
VS
19022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1905 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1906
17edc2ba
VS
19072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/kern/i386/pc/startup.S: Define __start.
1910
ad5518d7
VS
19112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1914 strip already transforms he format.
1915
9e95e1bf
VS
19162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1919
9cc3ee5c
VS
19202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * util/grub-install.in: Add missing gettext init.
1923 * util/grub-kbdcomp.in: Likewise.
1924 * util/grub-mkconfig.in: Likewise.
1925 * util/grub-mknetdir.in: Likewise.
1926 * util/grub-mkrescue.in: Likewise.
1927 * util/grub-mkstandalone.in: Likewise.
1928 * util/grub-reboot.in: Likewise.
1929 * util/grub-set-default.in: Likewise.
1930 * util/grub.d/00_header.in: Likewise.
1931 * util/grub.d/10_hurd.in: Likewise.
1932 * util/grub.d/10_windows.in: Likewise.
1933 * util/grub.d/30_os-prober.in: Likewise.
1934 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1935
49e08a06
VS
19362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * po/Rules-swiss: Fix header comment.
1939
3809cb41
AV
19402012-02-29 Andreas Vogel <anvoit>
1941
1942 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1943 resulted in leak of arguments.
1944
fa6ec573
VS
19452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1948 reed_solomon_size const definition instead of computing it since
1949 Apple assembler doesn't support the later.
1950
22899b9c
VS
19512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * gentpl.py (kernel): Rewrite Apple part.
1954
a132afc3
VS
19552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1958
9d742bd4
VS
19592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1962 ELF section gap.
1963 (load_image): Likewise.
1964
f04a9a21
VS
19652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * configure.ac: Fix a typo in previous commit.
1968
46cf439c
VS
19692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 Don't add -Wl,-N on Apple platform.
1972
1973 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1974 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1975
c4c48c54
VS
19762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/Makefile.core.def (lzma_decompress): Use
1979 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1980
31a12124
VS
19812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/genmod.sh.in: Rewrite the Apple part.
1984
4f3aa1af
VS
19852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1988 comparison.
1989
7bd8b0c7
VS
19902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * acinclude.m4 (grub_CHECK_PIC): New test.
1993 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1994
97304d7c
VS
19952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1998 to avoid the warning.
1999
fb883812
VS
20002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2003 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2004 after. All users updated.
2005
a121c964
VS
20062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 Use the common size routine in hostfs so we can read disks as well.
2009
2010 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2011 (grub_util_get_fd_size): ... this. Return size in bytes.
2012 All users updated.
2013 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2014 grub_util_get_fd_size.
2015
c66d6410
VS
20162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2019 Add blocksize retrieval.
2020
dfc8aeb0
VS
20212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * configure.ac: Restore CFLAGS after efiemu check.
2024
403e25a5
VS
20252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2028 Apple bug.
2029
382775d1
VS
20302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2033
6fd4e6e4
VS
20342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2037 (grub_cmd_halt): Likewise.
2038
bea359d6
VS
20392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2042 for local arithmetics.
2043 Break %sp init into 2 instructions.
2044 Add 0 byte at the end.
2045
32eb6ee1
VS
20462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2049 before loops.
2050
e8377389
VS
20512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2054 for context.
2055
8cb17de7
VS
20562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/disk/ldm.c (make_vg): Init part.name.
2059 (grub_ldm_detect): Silence spurious warning.
2060 (grub_util_is_ldm): Likewise.
2061
595717e6
VS
20622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2065 sane value to avoid a spurious warning.
2066
c4b7e588
VS
20672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2070 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2071
59824957
VS
20722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2075 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2076
70115b99
VS
20772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2080 hardcoding the relevant info.
2081
56733740
VS
20822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2085 missing const qualifiers.
2086 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2087
43481481
VS
20882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * util/getroot.c [__APPLE__]: Add missing includes.
2091 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2092
3cb38f01
VS
20932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2096
d9dbf11e
VS
20972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2100 avoid conflicts.
2101
0c42a45d
VS
21022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2105
46c34eb0
VS
21062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2109 and grub_file_close call.
2110
99ce1597
VS
21112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Add LZSS Mach-O support (needed for new xnu kernelcache).
2114
2115 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2116 * grub-core/loader/lzss.c: New file.
2117 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2118 on Mach-O open failure.
2119 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2120 Don't free cmdsXX in uncompressedXX is set.
2121 (grub_macho_file): Init new fields.
2122 New argument is_64bit. All users updated.
2123 Handle compressed. Error out if no suitable architecture is found.
2124 Don't close file.
2125 (grub_macho_open): New argument is_64bit. All users updated.
2126 * grub-core/loader/macho32.c: Add defines for new fields.
2127 * grub-core/loader/macho64.c: Likewise.
2128 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2129 (grub_macho_parse): Handle compressed.
2130 Defer actual processing if compressed.
2131 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2132 "filename". All users updated.
2133 (grub_macho_size): New argument "filename". All users updated.
2134 (grub_macho_get_entry_point): Likewise.
2135 (grub_macho_load): Handle compressed.
2136 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2137 (GRUB_MACHO_LZSS_OFFSET): New define.
2138 (grub_decompress_lzss): New proto.
2139 * include/grub/machoload.h (grub_macho_file): New fields to handle
2140 compressed.
2141 (grub_macho_contains_macho64): Remove proto.
2142 (grub_macho_contains_macho32): Likewise.
2143 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2144
ebd17d6f
VS
21452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2148
2702b4e4
VS
21492012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Fix make dist.
2152
2153 * Makefile.am (starfield_theme_files): New var.
2154 (starfield_DATA): Use starfield_theme_files.
2155 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2156 Add bootcheck-related files.
2157 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2158 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2159 and font_char_metrics.txt.
2160 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2161 (setjmp): Add lib/ia64/longjmp.S.
2162 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2163 * po/POTFILES.in: Regenerate.
2164 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2165 DISTFILES.common.extra1.
2166 * util/devicemap.c: Removed.
2167 * grub-core/lib/i386/relocator_backward.S: Likewise.
2168 * util/import_gcry.py: Remove unused files. Add extra_dist for
2169 ChangeLog.
2170
cf1adfdf
VS
21712012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2174 grub_gettext_delete_list before changing grub_gettext_max to avoid
2175 running out of array bounds.
2176
21772012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2178
2179 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2180 grub_vga_text_init/grub_vga_text_fini.
2181
cf1adfdf 21822012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2183
2184 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2185
541d92e9
VS
21862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * configure.ac: Bump to 2.00~beta0.
2189
7931dddf
VS
21902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2193 missing initialisation.
2194
f1b16fa3
VS
21952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2198
83ddae23
VS
21992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 Support v2 xnu boot arguments.
2202
2203 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2204 New argument fsbfreq_out.
2205 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2206 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2207 be used.
2208 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2209 darwin_version.
2210 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2211 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2212 (grub_xnu_boot_params): Rename to ...
2213 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2214 (grub_xnu_boot_params_v2): New struct.
2215
dc693fe6
VS
22162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2219 zeroing of CRC field before computing CRC.
2220
5a6e39c2
VS
22212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2224 Change order of allocations to decrease fragmentation.
2225
6c21f5d7
VS
22262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2229
cfe456dc
CW
22302012-02-27 Colin Watson <cjwatson@ubuntu.com>
2231
2232 Use write-combining MTRR to speed up video with buggy BIOSes.
2233
2234 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2235 (cpuid): New define.
2236 (rdmsr): Likewise.
2237 (wrmsr): Likewise.
2238 (mtrr_base): Likewise.
2239 (mtrr_mask): Likewise.
2240 (grub_vbe_enable_mtrr_entry): New function.
2241 (grub_vbe_enable_mtrr): Likewise.
2242 (grub_vbe_disable_mtrr): Likewise.
2243 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2244 control off to BIOS.
2245 (grub_video_vbe_init): Fill mtrr.
2246 (grub_video_vbe_fini): Disable mtrr.
2247 (grub_video_vbe_get_info_and_fini): Likewise.
2248 (grub_video_vbe_setup): Enable mtrr.
2249
e3c78337
CW
22502012-02-27 Colin Watson <cjwatson@ubuntu.com>
2251
2252 * include/grub/partition.h (grub_partition_map): Change prototype of
2253 embed to take a maximum value for nsectors.
2254 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2255 * include/grub/fs.h (grub_fs): Likewise.
2256 * grub-core/partmap/msdos.c (embed_signatures): New array.
2257 (pc_partition_map_embed): Check for and avoid sectors matching any
2258 of the signatures in embed_signatures, up to max_nsectors.
2259 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2260 returned sector map to max_nsectors.
2261 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2262 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2263 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2264 * util/grub-setup.c (setup): Allow for the embedding area being
2265 split into multiple blocklists. Tell dest_partmap->embed the
2266 maximum number of sectors we care about.
2267
22682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2271 Specify blocklist_install and reserver_first_sector for all fs.
2272 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2273 blocklists.
2274
984b973f
VS
22752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * util/grub-install.in: Clarify strings.
2278 Fix source dir check.
2279
f122e0d6
RL
22802012-02-27 Richard Laager <rlaager@wiktel.com>
2281
2282 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2283 "zfs" and "fuse.zfs" as synonyms.
2284
071114bb
VS
22852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * configure.ac: Put platform and target_cpu substitutions back since
2288 they are used for directories.
2289
817e6abc
RL
22902012-02-27 Richard Laager <rlaager@wiktel.com>
22912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2294 * util/grub.d/20_linux_xen.in: Likewise.
2295
897b7419
RL
22962012-02-27 Richard Laager <rlaager@wiktel.com>
2297
2298 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2299 with full paths.
2300
a414bd15
RL
23012012-02-27 Richard Laager <rlaager@wiktel.com>
2302
2303 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2304 unescape.
2305
30ac48c4
VS
23062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Don't use insecure popen in getroot.
2309
2310 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2311 (exec_pipe): ... here.
2312 (find_root_devices_from_poolname): Use exec_pipe.
2313
53f13848
VS
23142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Remove platform and target_cpu replacement.
2317
2318 * configure.ac: Remove platform and target_cpu substitutions.
2319 * tests/util/grub-shell.in: Use modinfo.
2320 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2321 explicitly.
2322
90cb2803
VS
23232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 Autodetect platform in grub-install but allow override.
2326
2327 * util/grub-install.in: Autodetect platform. Support --target and
2328 --directory. Read platform from modinfo.sh.
2329
b9136427
VS
23302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Support btrfs multi-volume probe.
2333
2334 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2335 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2336 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2337 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2338 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2339 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2340 grub_find_root_devices_from_btrfs if on btrfs.
2341
c36e5cd1
VS
23422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 Remove any awareness of *.c util files about target.
2345
2346 * Makefile.util.def (grub-setup): Split to ...
2347 (grub-bios-setup): ... and this.
2348 (grub-sparc64-setup): ... and this.
2349 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2350 * docs/man/grub-setup.h2m: Split into ...
2351 * docs/man/grub-sparc64-setup.h2m: ... this.
2352 * docs/man/grub-bios-setup.h2m: ... and this.
2353 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2354 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2355 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2356 (grub_target_addr_t): Remove.
2357 (grub_target_size_t): Remove.
2358 (grub_target_ssize_t): Remove.
2359 * util/grub-install.in: Use new grub-*-setup.
2360 * util/grub-mkimagexx.c (Elf_Word): New define.
2361 (Elf_Half): Likewise.
2362 (Elf_Section): Likewise.
2363 (ELF_ST_TYPE): Likewise.
2364 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2365 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2366
584b2f8a
VS
23672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 Replace grub_target_addr with more appropriate types.
2370
2371 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2372 grub_target_addr with grub_addr.
2373 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2374 grub_target_addr with grub_port.
2375 (grub_cmd_write): Likewise.
2376 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2377 grub_target_addr with grub_addr.
2378 (grub_cmd_write): Likewise.
2379 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2380
5a0dc6fb
VS
23812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2384 const qualifier for vendor_guid.
2385
786aff6e
VS
23862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2389 const qualifier.
2390 (efiemu_memequal): Likewise.
2391 (find_variable): Likewise.
2392
49017b17
VS
23932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Fix missing console prototype on qemu-mips.
2396
2397 * include/grub/mips/qemu_mips/console.h: New file.
2398
c5988629
MG
23992012-02-27 Matthew Garrett <mjg@redhat.com>
24002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2403 * include/grub/efi/efi.h: Likewise.
2404 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2405 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2406 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2407 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2408 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2409 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2410
e33f8d69
MG
24112012-02-27 Matthew Garrett <mjg@redhat.com>
2412
2413 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2414
fb312cd9
VS
24152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2418 error.
2419
7134247c
VS
24202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * configure.ac: Remove inappropriate use of program_transform_name
2423 on grubdir and bootdir but allow explicit specification of those
2424 variables.
2425
6a313124
VS
24262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * util/grub-mknetdir.in (grub_prefix): Removed.
2429 (subdir): Use @bootdirname@ and @grubdirname@.
2430
2311c5ca
VS
24312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2434
7d5d60f7
VS
24352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * po/POTFILES.in: Regenerated.
2438
8151bc82
VS
24392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 Remove improper use of program_transform_name on pkglibrootdir.
2442
2443 * configure.ac (pkglibrootdir): Removed.
2444 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2445 * util/grub-mkimage.c: Likewise.
2446
b4a6a533
VS
24472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2450 warning.
2451
668f304f
VS
24522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * util/grub-install.in: Use file identifier if no UUID is available
2455 or user explicitly prompted for it.
2456
665f2341
NP
24572012-02-27 Navdeep Parhar <nparhar@gmail.com>
2458
2459 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2460 (freebsd_get_zfs): New function.
2461 (grub_freebsd_boot): Pass zfs UUID.
2462 (grub_cmd_freebsd): Set zfs UUID.
2463
8151bc82 24642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2465
2466 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2467 pkglibrootdir.
2468
e4c498a1
MG
24692012-02-27 Mike Gilbert <floppym@gentoo.org>
2470
2471 Add configure flag to control libzfs integration.
2472
2473 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2474
1e9a9a3f
VS
24752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2478 device.
2479 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2480 small devices.
2481
036985b8
VS
24822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2485 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2486 be used on non-modules.
2487
2488 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2489 Rename to grub_boot_init.
2490 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2491 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2492 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2493 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2494 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2495 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2496 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2497 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2498 includes.
2499 (grub_machine_init): Remove empty inits.
2500 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2501 includes.
2502 (grub_machine_init): Remove empty inits.
2503 * grub-core/term/arc/console.c: Remove explicit proto.
2504 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2505 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2506 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2507 grub_at_keyboard_fini.
2508 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2509 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2510 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2511 grub_gfxterm_fini.
2512 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2513 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2514 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2515 grub_vgatext_fini.
2516 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2517 * grub-core/term/serial.c (GRUB_MOD_INIT)
2518 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2519 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2520 grub_serial_fini.
2521 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2522 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2523 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2524 grub_terminfo_fini.
2525 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2526 (GRUB_MOD_FINI): Likewise.
2527 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2528 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2529 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2530 grub_video_radeon_fuloong2e_fini.
2531 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2532 [LOONGSON]: Rename to grub_video_sis315pro_init.
2533 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2534 grub_video_sis315pro_fini.
2535 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2536 [LOONGSON]: Rename to grub_video_sm712_init.
2537 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2538 grub_video_sm712_fini.
2539 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2540 (grub_at_keyboard_fini): Likewise.
2541 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2542 Don't declare grub_{modname}_init.
2543 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2544 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2545 New proto.
2546 (grub_keylayouts_fini) [!EMU]: Likewise.
2547 * include/grub/serial.h (grub_serial_init) [!EMU]:
2548 New proto.
2549 (grub_serial_fini) [!EMU]: Likewise.
2550 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2551 New proto.
2552 (grub_terminfo_fini) [!EMU]: Likewise.
2553 * include/grub/video.h (grub_font_init) [!EMU]:
2554 New proto.
2555 (grub_font_fini) [!EMU]: Likewise.
2556 (grub_gfxterm_init) [!EMU]: Likewise.
2557 (grub_gfxterm_fini) [!EMU]: Likewise.
2558 (grub_video_sm712_init) [!EMU]: Likewise.
2559 (grub_video_sm712_fini) [!EMU]: Likewise.
2560 (grub_video_sis315pro_init) [!EMU]: Likewise.
2561 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2562 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2563 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2564
d5534665
VS
25652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Make nand a prefix for nand devices.
2568
2569 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2570
10133b5f
VS
25712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2574 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2575
8e307a62
VS
25762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * include/grub/env.h (grub_env_find): Remove prototype.
2579 * grub-core/kern/env.c (grub_env_find): Make static.
2580 (grub_env_set): Remove useless set.
2581
a4c65f34
VS
25822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/kern/i386/realmode.S: Remove useless align.
2585
d87893d5
VS
25862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * include/grub/dl.h (grub_dl_load_file): Don't export.
2589
50159add
VS
25902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2593 grub_dprintf.
2594
b2582b84
VS
25952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2598 grub_errors.
2599 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2600 not reloading whole superblock but only the part which is really needed.
2601 Remove useless grub_errors.
2602 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2603 grub_errors.
2604
e2a83395
VS
26052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Don't export grub_get_rtc.
2608
2609 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2610 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2611
e7d2a906
VS
26122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2615
6cf1363b
VS
26162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2619 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2620
eece3349
VS
26212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Remove prio_list.
2624
2625 * include/grub/list.h (grub_prio_list): Removed.
2626 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2627 GRUB_COMMAND_PRIO_MASK.
2628 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2629 GRUB_COMMAND_FLAG_ACTIVE.
2630 (grub_prio_list_insert): Removed.
2631 (grub_prio_list_remove): Likewise.
2632 (GRUB_AS_PRIO_LIST): Likewise.
2633 (GRUB_AS_PRIO_LIST_P): Likewise.
2634 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2635 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2636 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2637 * grub-core/kern/command.c (grub_register_command_prio): Inline
2638 the prio_list code.
2639 (grub_unregister_command): Likewise.
2640
94f064b4
VS
26412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 Fix interrupt mixup from previous commit.
2644
2645 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2646 (grub_realidt): New var.
2647 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2648 Load idt.
2649 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2650 New declaration.
2651 (grub_relocator16_boot): Set grub_relocator16_idt.
2652 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2653 (LOCAL(realidt)): ... this.
2654 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2655 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2656 (grub_realidt): New variable.
2657
27317084
VS
26582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2661 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2662 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2663 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2664 Gettextize.
2665 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2666 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2667 * po/POTFILES.in: Regenerate.
2668
47b40053
VS
26692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2672 errors.
2673
2b343101
VS
26742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2677 \0.
2678 (add_length): Likewise.
2679
ff27c3dd
LK
26802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26812012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2682
2683 GDB serial and backtrace support.
2684
2685 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2686 (prot_to_real): Likewise.
2687 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2688 * grub-core/Makefile.core.def (backtrace): New module.
2689 (gdb): Likewise.
2690 * grub-core/gdb/cstub.c: New file.
2691 * grub-core/gdb/gdb.c: Likewise.
2692 * grub-core/gdb/i386/idt.c: Likewise.
2693 * grub-core/gdb/i386/machdep.S: Likewise.
2694 * grub-core/gdb/i386/signal.c: Likewise.
2695 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2696 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2697 * include/grub/backtrace.h: Likewise.
2698 * include/grub/gdb.h: Likewise.
2699 * include/grub/i386/gdb.h: Likewise.
2700
27012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2702
2703 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2704 New function.
2705 (add_length): Likewise.
2706 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2707 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2708 proto.
2709 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2710 __argp_get_display_len.
2711
ff27c3dd 27122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2713
2714 $"..." support in scripts.
2715
2716 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2717 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2718 * grub-core/script/yylex.l: Likewise.
2719 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2720 value.
2721
ff27c3dd 27222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2723
2724 * gentpl.py: Remove obsolete pkglib_DATA handling.
2725
ff27c3dd 27262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2727
2728 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2729 mailing list.
2730
2731 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2732 * util/grub-kbdcomp.in: Likewise.
2733 * util/grub-mkconfig.in: Likewise.
2734 * util/grub-mkconfig_lib.in: Likewise.
2735 * util/grub-mknetdir.in: Likewise.
2736 * util/grub-mkrescue.in: Likewise.
2737 * util/grub-mkstandalone.in: Likewise.
2738 * util/grub-reboot.in: Likewise.
2739 * util/grub-set-default.in: Likewise.
2740 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2741
ff27c3dd 27422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2743
2744 Remove GRUB_PREFIX.
2745
2746 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2747 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2748 used for backward compatibility.
2749
ff27c3dd 27502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2751
2752 Add new all_video module.
2753
2754 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2755 * grub-core/Makefile.core.def (all_video): New module.
2756 * grub-core/genmoddep.awk: Generate dependency of all_video from
2757 video.lst.
2758 * grub-core/lib/fake_module.c: New file.
2759 * grub-core/normal/main.c (features): Add feature_all_video_module.
2760 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2761 don't do explicit search again.
47454da5 2762 insmod all_video in load_video if available.
22c7ce85 2763
ff27c3dd 27642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2765
2766 Another round of string clarification and adding TRANSLATORS comments.
2767
ff27c3dd 27682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2769
2770 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2771
ff27c3dd 27722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2773
2774 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2775 to grub_ssize_t.
2776 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2777 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2778
ff27c3dd 27792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2780
2781 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2782 trailing newline implicitly. All users updated.
2783
ff27c3dd 27842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2785
2786 Implement serial on IEEE1275 and EFI.
2787
2788 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2789 on emu. Mention arc and emu as the only platforms without serial
2790 support.
2791 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2792 ieee1275 platforms.
2793 * grub-core/term/efi/serial.c: New file.
2794 * grub-core/term/ieee1275/serial.c: Likewise.
2795 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2796 specification if no ns8250 driver is available.
2797 (grub_cmd_serial): Likewise.
2798 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2799 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2800 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2801 (grub_efi_parity_type_t): New type.
2802 (grub_efi_stop_bits_t): Likewise.
2803 (grub_efi_serial_io_interface): New struct.
2804 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2805 available for all interfaces.
2806 Add EFI and IEEE1275 fields.
2807 (grub_ofserial_init): New proto.
2808 (grub_efiserial_init): Likeiwse.
2809 * util/grub.d/00_header.in: Don't check for the presence of serial
2810 module.
2811
ff27c3dd 28122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2813
2814 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2815 name as if it was an alias.
2816
114076ef
VS
28172012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/commands/lsacpi.c (options): Fix typo.
2820
6a656b0e
VS
28212012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Convert grub-emu to argp.
2824
2825 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2826 emu.
2827 * util/argp_common.c: Rename to ...
2828 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2829 Add missing includes.
2830 * grub-core/kern/emu/main.c: Convert to argp.
2831 * po/POTFILES.in: Regenerate.
2832 * util/grub-install.in (usage): Make first letter lowcase in messages
2833 for uniformity.
2834 * util/grub-setup.c (options): Likewise.
2835
1e3f8ae8
VS
28362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2839 Put back accidently commented-out code.
2840
ed167a80
VS
28412012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2844 loop check using Brent algorithm.
2845 (grub_hfsplus_btree_search): Likewise.
2846
6753c0ec
VS
28472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * util/grub-install.in: Fix usage of wrong device for PreP install.
2850
4e27343f
VS
28512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * conf/Makefile.common (CFLAGS_GNULIB): Add
2854 -Wno-unsafe-loop-optimizations.
2855 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2856 on tools.
2857 * grub-core/commands/legacycfg.c: Add pragma to skip
2858 -Wunsafe-loop-optimizations.
2859 (check_password_md5_real): Fix loop counter type.
2860 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2861 reading.
2862 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2863 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2864 loop condition.
2865 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2866 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2867 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2868 condition.
2869 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2870 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2871 avoid possible infinite loops.
2872 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2873 and -Wunsafe-loop-optimizations.
2874 * grub-core/script/yylex.l: Likewise.
2875 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2876 (print_glyphs): Avoid infinite loops.
2877 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2878
697f18b0
GS
28792012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2880
2881 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2882 to avoid infinite loop.
2883 (disp_acpi_rsdt_table): Likewise.
2884
274416e8
VS
28852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/font/font.c (grub_font_load): Add support for default
2888 path for fonts ($prefix/fonts).
2889 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2890 for checking if string is a path.
2891 * grub-core/normal/main.c (features): Add feature_default_font_path.
2892 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2893 * util/grub.d/00_header.in: Use default directory if possible.
2894 * util/grub-install.in: Install unicode.pf2.
2895
b3e08622
VS
28962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2899 * po/Rules-swiss: New file.
2900 * po/swiss.sed: Likewise.
2901
fe42ce09
VS
29022012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/fs/btrfs.c (find_device): Fix typos.
2905 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2906 * util/grub-mkrelpath.c (argp_parser): Likewise.
2907 Reported by: Yuri Chornoivan.
2908
72f1d065
DO
29092012-02-23 Dalet Omega <daletomega@gmail.com>
2910
2911 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2912 for usual informative messages.
2913
c5884973
DO
29142012-02-23 Dalet Omega <daletomega@gmail.com>
2915
2916 Starfield theme.
2917
2918 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2919 * conf/Makefile.common: Define starfielddir.
2920 * configure.ac: Configure starfield.
2921 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2922 * themes/starfield/README: Likewise.
2923 * themes/starfield/blob_w.png: Likewise.
2924 * themes/starfield/boot_menu_c.png: Likewise.
2925 * themes/starfield/boot_menu_e.png: Likewise.
2926 * themes/starfield/boot_menu_n.png: Likewise.
2927 * themes/starfield/boot_menu_ne.png: Likewise.
2928 * themes/starfield/boot_menu_nw.png: Likewise.
2929 * themes/starfield/boot_menu_s.png: Likewise.
2930 * themes/starfield/boot_menu_se.png: Likewise.
2931 * themes/starfield/boot_menu_sw.png: Likewise.
2932 * themes/starfield/boot_menu_w.png: Likewise.
2933 * themes/starfield/slider_c.png: Likewise.
2934 * themes/starfield/slider_n.png: Likewise.
2935 * themes/starfield/slider_s.png: Likewise.
2936 * themes/starfield/src/blob_nw.xcf: Likewise.
2937 * themes/starfield/src/bootmenu/: Likewise.
2938 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2939 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2940 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2941 * themes/starfield/src/slider_c.xcf: Likewise.
2942 * themes/starfield/src/slider_n.xcf: Likewise.
2943 * themes/starfield/src/slider_s.xcf: Likewise.
2944 * themes/starfield/src/terminalbox/: Likewise.
2945 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2946 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2947 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2948 * themes/starfield/starfield.png: Likewise.
2949 * themes/starfield/terminal_box_c.png: Likewise.
2950 * themes/starfield/terminal_box_e.png: Likewise.
2951 * themes/starfield/terminal_box_n.png: Likewise.
2952 * themes/starfield/terminal_box_ne.png: Likewise.
2953 * themes/starfield/terminal_box_nw.png: Likewise.
2954 * themes/starfield/terminal_box_s.png: Likewise.
2955 * themes/starfield/terminal_box_se.png: Likewise.
2956 * themes/starfield/terminal_box_sw.png: Likewise.
2957 * themes/starfield/terminal_box_w.png: Likewise.
2958 * themes/starfield/theme.txt: Likewise.
2959
17d73325
VS
29602012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * util/grub.d/00_header.in: Add missing export theme.
2963
dbebaf92
VS
29642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2967 already included.
2968 Reported by: Eren D.
2969
3d68bffb
VS
29702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * conf/Makefile.common (grubdatadir): Removed.
2973 (Makefile.am): Move eveything grubdata to pkgdata.
2974
4b59234d
VS
29752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/commands/acpihalt.c (get_sleep_type):
2978 Remove unused variable.
2979
463dcadc
VS
29802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2983 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2984 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2985 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2986 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2987 i18n with gettext no-op.
2988 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2989 GRUB_ACPI_OPCODE_STRING_CONST.
2990 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2991 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2992
e5b90c82
VS
29932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * po/POTFILES.in: Regenerate.
2996
2a704ca9
VS
29972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3000 -Wno-error=missing-noreturn.
3001
84f9d341
VS
30022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3005 condition to avoid possibly infinite loops.
3006 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3007 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3008
d46683f9
VS
30092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3012 condition to avoid possibly infinite loops.
3013
c44866b2
VS
30142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3017 on show_error.
3018
96790539
VS
30192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3022
1ba7e295
VS
30232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3026
21ffe8f1
VS
30272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * util/bin2h.c (usage): Add missing attribute noreturn.
3030
0ccb6b3c
VS
30312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3034 if the size isn't divisible by 512.
3035
b00d7fb6
VS
30362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Make list_push and list_remove functions rather than inline functions
3039 to decrease size and avoid aliasing violations.
3040
3041 * include/grub/list.h (grub_list_push): Move to ...
3042 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3043 * include/grub/list.h (grub_list_remove): Move to ...
3044 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3045
9d369087
VS
30462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3049 and -Wunused-result.
3050
af0250d9
VS
30512012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3054 Reported by: Seth Goldberg
3055
aad32b14
VS
30562012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3059
ac96441c
ST
30602012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3061
3062 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3063 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3064 command line.
3065 * docs/grub.texi (Simple configuration): Document
3066 GRUB_CMDLINE_GNUMACH.
3067
30682012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3069
3070 * conf/Makefile.common (platform_SCRIPTS): New variable.
3071 (platform_PROGRAMS): Likewise.
3072 * gentpl.py: Mark *,module and *.image for install.
3073 * grub-core/gdb_grub.in: Add a notice of expected environment.
3074 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3075 (gmodule.pl): Likewise.
3076
ac96441c 30772012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3078
3079 Replace grub_checkkey with grub_getkey_noblock.
3080
3081 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3082 (grub_getkey_noblock): ... this. All users updated.
3083
ac96441c 30842012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3085
3086 * grub-core/kern/emu/console.c: Move to ...
3087 * grub-core/term/emu/console.c: ...here.
3088 (grub_ncurses_getkey): Fix return value if no key is detected.
3089
e51b5666
VS
30902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3093 (grub_unit_test_fini): Likewise.
3094 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3095
30962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * include/grub/test.h (GRUB_UNIT_TEST)
3099
d9a62292
VS
31002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3103 Better error handling.
3104 (grub_script_return): Likewise.
3105 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3106
77c9182f
VS
31072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3110 rimplicit redifinition.
3111
edb13cf9
VS
31122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3115 GRUB.
3116
a9e9dc7c
VS
31172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3120 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3121 prompt here.
3122
b4ba8e02
VS
31232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3126 as GRUB_ERR_BUG. Don't malloc if no device is available.
3127
dded5540
VS
31282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3131 Mark calling with invalid term as GRUB_ERR_BUG.
3132
0cf69874
VS
31332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3136 packets rather than raising an error.
3137
59bfe502
VS
31382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3141 in if.
3142
db5fc596
VS
31432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3146 diagnostic to dprintf.
3147 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3148
e4b7f404
VS
31492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3152 device name.
3153
e7b02f9e
VS
31542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3157 (grub_ntfs_iterate_dir): Likewise.
3158
0331e102
VS
31592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 Efiemu stylistic fixes and gettext.
3162
3163 * grub-core/efiemu/i386/loadcore32.c
3164 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3165 * grub-core/efiemu/i386/loadcore64.c
3166 (grub_arch_efiemu_relocate_symbols64): Likewise.
3167 * grub-core/efiemu/i386/pc/cfgtables.c
3168 (grub_machine_efiemu_init_tables): Likewise.
3169 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3170 (grub_efiemu_loadcore_initXX): Add a filename argument.
3171 All users updated.
3172 Improved error message.
3173 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3174 Add a filename argument.
3175 All users updated.
3176 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3177 Reclassify double relocation as GRUB_ERR_BUG.
3178
306fc074
VS
31792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3182 handling.
3183
794d8ef2
VS
31842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3187 on partition.
3188
31892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3190
3191 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3192
794d8ef2 31932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3194
3195 Improve string. Gettextize.
3196
78dde88e
VS
31972012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3200 utils.
3201 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3202
4786a90f
VS
32032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3206 [GRUB_UTIL]: New function.
3207 (insert_array) [GRUB_UTIL]: Store partmaps.
3208 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3209 partmaps.
3210 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3211 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3212 (probe_abstraction): Print diskfilter and not raid.
3213 Reported by: Lennart Sorensen
3214
0b6225bd
VS
32152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3218 * util/grub-mkimagexx.c (MASK3): New define.
3219 (add_value_to_slot_20b): Use MASK3.
3220 (add_value_to_slot_21): Likewise.
3221 (relocate_addresses): Fix format specification.
3222 (load_image): Explicitly init symtab_section.
3223
b055f8f6
VS
32242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3227 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3228
b77c2fb7
VS
32292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3232 on powerpc.
3233 Reported by: Lennart Sorensen
3234
e3ec28ab
VS
32352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * gentpl.py: Add missing license header.
3238 * docs/grub.texi: Update copyright year.
3239
c8d9ead6
GS
32402012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3241
3242 Source grub-mkconfig_lib from the build directory at build time.
3243 Suggested by: Vladimir Serbinenko.
3244
3245 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3246 * util/grub-install.in: Define pkgdatadir if not already set, and source
3247 grub-mkconfig_lib from there.
3248 * util/grub-kbdcomp.in: Likewise.
3249 * util/grub-mkconfig.in: Likewise.
3250 * util/grub-mknetdir.in: Likewise.
3251 * util/grub-mkrescue.in: Likewise.
3252 * util/grub-mkstandalone.in: Likewise.
3253 * util/grub-reboot.in: Likewise.
3254 * util/grub-set-default.in: Likewise.
3255 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3256
ebcecdf1
VS
32572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Increase warning level.
3260
3261 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3262 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3263 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3264 (TARGET_CFLAGS): Likewise.
3265 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3266 * grub-core/Makefile.core.def (decompressor_xz): Add
3267 -Wno-unreachable-code.
3268 (normal): Add -Wno-redundant-decls.
3269 (xzio): Add -Wno-unreachable-code.
3270 (lzopio): Add -Wno-redundant-decls -Wno-error.
3271 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3272 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3273 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3274 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3275 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3276 * grub-core/kern/i386/coreboot/init.c: Add exception to
3277 -Wsuggest-attribute=noreturn.
3278 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3279 * grub-core/kern/ia64/dl_helper.c: Likewise.
3280 * grub-core/kern/mips/dl.c: Likewise.
3281 * grub-core/kern/sparc64/dl.c: Likewise.
3282 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3283 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3284 (memcmp): Likewise.
3285 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3286 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3287 * grub-core/loader/mips/linux.c: Likewise.
3288 * grub-core/loader/multiboot_elfxx.c: Likewise.
3289 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3290 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3291 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3292 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3293 fixme.
3294 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3295 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3296 Fix prototype.
3297
37bb97fe
VS
32982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3301 address.
3302
29a3550b
VS
33032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3306 Avoid improper use of strings.
3307 (grub_cmd_legacy_initrdnounzip): Likewise.
3308
dfdffd0d
VS
33092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3312 attribute.
3313 (grub_util_info): Likewise.
3314 (grub_util_error): Likewise.
3315
102fae4a
VS
33162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3319 * util/grub-fstest.c (fstest): Likewise.
3320
7e94d044
VS
33212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3324 (grub_md_sha512_real): Likewise.
3325 (grub_util_get_geli_uuid): Likewise.
3326 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3327 (grub_util_biosdisk_open): Fix format specification.
3328 Respect format security.
3329 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3330 (xrealloc): Likewise.
3331 (xasprintf): Likewise.
3332
5ebd9769
VS
33332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * util/import_gcry.py: Include grub/crypto.h in init.c.
3336
495fc8c1
VS
33372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3340 (generate_image): Make prefix a const char *.
3341 Fix format specifications. Respect format security.
3342 Avoid void * arithmetics.
3343 Avoid shadowing.
3344 (argp_parser): Remove unused variable. Respect format security.
3345 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3346 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3347 (count_funcs): Remove unused variable.
3348 (relocate_addresses): Fix format specification.
3349 Disable x86-64 with elf32. Remove unused variables.
3350 (add_fixup_entry): Avoid shadowing.
3351 (make_reloc_section): Fix format specification.
3352 Use assert.
3353 (locate_sections): Fix format specifications.
3354 (load_image): Avoid shadowing.
3355
043c2ea3
VS
33562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3359 Fix format specifications. Respect format security.
3360 Don't translate already translated grub_errmsg.
3361 (argp_parser): Remove unused variable
3362
3ec65a81
VS
33632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3366
a4d9fe4a
VS
33672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3370 (main): Likewise. Use xmalloc. Respect format security.
3371
15b81d49
VS
33722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3375 a const char *.
3376 (argp_parser): Remove unused variable.
3377
31731fc0
VS
33782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3381 (add_pixel): Make static.
3382 (add_font): Likewise.
3383 (write_string_section): Make name and str a const char *.
3384 (write_be16_section): Make name a const char *.
3385 (print_glyphs): Make static.
3386 (write_font_ascii_bitmap): Likewise.
3387 (write_font_width_spec): Likewise.
3388 (write_font_pf2): Likewise.
3389 (argp_parser): Remove unused variable.
3390 Respect format security.
3391 (main): Avoid shadowing. Respect format security.
3392
0809527b
VS
33932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * util/grub-editenv.c (argp_parser): Make static.
3396 (create_envblk_file): Use xmalloc.
3397 (open_envblk_file): Likewise.
3398 Resepect format security.
3399 (set_variables): Respect format security.
3400
45b0c8b7
VS
34012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * util/getroot.c (grub_find_device): Respect format security.
3404 (get_mdadm_uuid): Remove unused variable.
3405 (grub_util_pull_device): Dont call gettext on already translated
3406 grub_errmsg.
3407 (find_system_device): Remove unused variable.
3408 (grub_util_get_grub_dev): Likewise.
3409 (grub_make_system_path_relative_to_its_root): Respect format security.
3410
1b024b4e
VS
34112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * util/grub-fstest.c (execute_command): Make first argument
3414 a const char *.
3415 (read_file): Avoid shadowing.
3416 Reuse underlying error message if device open fails.
3417 (cmd_cmp): Respect format security.
3418 (root): Make const char *.
3419 (fstest): Remove args argument and use global copy.
3420 Respect format security.
3421 (argp_parser): Make static.
3422 (main): Make default_root const char *.
3423
5d1d4e28
VS
34242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * util/grub-mount.c (root): Make const char *.
3427 (execute_command): Make first argument a const char *.
3428 (fuse_init): Respect format security.
3429 (argp_parser): Make static. Remove unused variable.
3430 (main): Make default_root a const char *.
3431 Respect format security.
3432
36eb7379
VS
34332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * util/grub-probe.c (probe): Don't call gettext on already translated
3436 grub_errmsg.
3437 Remove unused variables.
3438 (argp_parser): Remove unused variable.
3439
76fb2ea9
VS
34402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * util/grub-script-check.c (argp_parser): Remove unused variable.
3443 (main): Rename read to curread to avoid shadowing.
3444
56c98584
VS
34452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * util/misc.c (grub_util_write_image_at): Fix format specification.
3448 (grub_util_write_image): Likewise.
3449 (grub_script_execute_argument_to_string): Removed (unused).
3450 (grub_script_execute_menuentry): Likewise.
3451 (grub_putchar): Likewise.
3452
164ebb48
VS
34532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3456 (FUNCTION) [GRUB_UTIL]: Likewise.
3457 (VARIABLE) [GRUB_UTIL]: Likewise.
3458
44318d61
VS
34592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3462 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3463
31a26002
VS
34642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3467 buffer.
3468
34692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3472 (LzmaEnc_SaveState): Removed (unused).
3473 (LzmaEnc_RestoreState): Likewise.
3474 (LzmaEnc_InitPriceTables): Made static.
3475 (LzmaEnc_Construct): Likewise.
3476 (LzmaEnc_FreeLits): Likewise.
3477 (LzmaEnc_Destruct): Likewise.
3478 (LzmaEnc_Init): Likewise.
3479 (LzmaEnc_InitPrices): Likewise.
3480 (LzmaEnc_Finish): Likewise.
3481 (LzmaEnc_PrepareForLzma2): Removed (unused).
3482 (LzmaEnc_MemPrepare): Likewise.
3483 (LzmaEnc_GetNumAvailableBytes): Likewise.
3484 (LzmaEnc_GetCurBuf): Likewise.
3485 (LzmaEnc_CodeOneMemBlock): Likewise.
3486
6fa67967
VS
34872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3490 (grub_util_ldm_embed): Likewise.
3491
9a7428e6
VS
34922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * util/grub-editenv.c (print_var): Rename name to varname to
3495 avoid shadowing.
3496 (main): Rename index to curindex to avoid shadowing.
31a26002 3497 Make filename a const char *.
9a7428e6 3498
4f96abd1
VS
34992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3502 to arg_getline to avoid shadowing.
3503
44d10dad
VS
35042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3507 disk_ to avoid shadowing.
3508
340ba63e
VS
35092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3512 curindex to avoid shadowing.
3513 Make static.
3514 (MatchFinder_GetNumAvailableBytes): Make static.
3515
22965bce
VS
35162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3519 avoid shadowing.
3520
7b5784d4
VS
35212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3524 argument from encrypt to do_encrypt to avoid shadowing.
3525
6f48ca01
VS
35262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3529 incorrect nesting of #if's.
3530
a4ea2dff
VS
35312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3534 checks which are always false on some platforms.
3535 (grub_cmd_lsacpi): Likewise.
3536 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3537 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3538 Likewise.
3539
def9fc1b
VS
35402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3543 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3544
a67b2a04
VS
35452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3548 re_dfa_t to avoid breaking alignment invariants.
3549 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3550 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3551
44c6828d
VS
35522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3555 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3556
bebe0dd0
VS
35572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3560 Fix declaration.
3561
a9cdb3cf
VS
35622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3565 conserve alignment invariants.
3566 (grub_ehci_ehcc_read16): Likewise.
3567 (grub_ehci_oper_read32): Likewise.
3568 (grub_ehci_oper_write32): Likewise.
3569 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3570 Conserve alignment invariants.
3571
ccc3b1b8
VS
35722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3575 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3576 declarations.
3577
987fbd95
VS
35782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3581 Remove unused variable.
3582
0df363f3
VS
35832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3586 Remove set in if.
3587
b2c0c4a6
VS
35882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * include/grub/net.h: Remove double declarations.
3591
690c531f
VS
35922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 Remove "payload" command in ia64 Linux loader since I couldn't
3595 find any evidence of it being used for anything.
3596 Replace "relocate" command with an environment variable
3597
3598 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3599 fields.
3600 (ia64_boot_payload): Removed.
3601 (last_payload): Likewise.
3602 (RELOCATE_OFF): Likewise.
3603 (RELOCATE_ON): Likewise.
3604 (RELOCATE_FORCE): Likewise.
3605 (relocate): Likewise.
3606 (free_pages): Don't free payloads.
3607 (grub_load_elf64): Use common error messages.
3608 Use "linux_relocate" variable.
3609 Increase the space after boot_params.
3610 (grub_cmd_payload): Removed.
3611 (grub_cmd_relocate): Likewise.
3612 (grub_cmd_fpswa): Improve messages.
3613 (cmd_payload): Removed.
3614 (cmd_relocate): Likewise.
3615 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3616 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3617
01783768
VS
36182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 Convert UHCI to DMA framework.
3621
3622 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3623 (grub_uhci_pci_iter): Fill new members
3624 (grub_alloc_td): Use P2V and V2P functions.
3625 (grub_free_queue): Likewise.
3626 (grub_alloc_qh): Likewise.
3627 (grub_uhci_setup_transfer): Likewise.
3628 (grub_uhci_check_transfer): Likewise.
3629
43206939
VS
36302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3633 Remove assignment in if while on it.
3634
571e140e
VS
36352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * util/grub-mkstandalone.in: Fix modules directory.
3638
a9d96eeb
VS
36392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3642 on i386-pc target.
3643 (argp_parser): Accept "auto" as compression specification.
3644
e4e37e8d
VS
36452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 Fix `help' with unloaded modules.
3648
3649 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3650 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3651 (grub_dyncmd_dispatcher): Small stylistic fix.
3652 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3653 explicit help is requested.
3654
e1ea3ade
VS
36552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3658 Explicitly init restart while on it.
3659
27556881
VS
36602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3663 uninited variable.
3664
d65f6b36
VS
36652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * util/grub-mknetdir.in: Use . rather than source for POSIX
3668 compatibility.
3669
0a1e473c
VS
36702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3673
ce6647c8
VS
36742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3677 variable.
3678
66747894
VS
36792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3682 without quotes.
3683
71645f6e
VS
36842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3687
0e1c1f61
VS
36882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3691 iteration of partitions.
3692
9c4b5c13
VS
36932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 Improve gettext support. Stylistic fixes and error handling fixes while
3696 on it.
3697
215c90cb
VS
36982012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3701 part. Instead setup the correct stack in RM.
3702 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3703 for stack.
3704 * include/grub/i386/relocator_private.h: New file.
3705
b5c1f9bf
VS
37062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3709 argument.
3710 * util/grub-fstest.c (options): Add missing DEVICE part.
3711
b525fd83
VS
37122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Clarify and unify messages.
3715
3716 * grub-core/commands/hashsum.c (options): Unify messages.
3717 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3718 literal-only message as translatable.
3719 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3720 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3721 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3722 commands.
3723 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3724 key, not the key used to unlock. Clarify what it's used for.
3725 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3726 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3727 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3728 * util/grub-editenv.c (options): Unify "verbose" message.
3729 * util/grub-fstest.c (read_file): Unify error message.
3730 (fstest): Add quotes around commands.
3731 (options): Unify "verbose" message.
3732 * util/grub-install.in: Add quotes around variable name.
3733 * util/grub-kbdcomp.in: Unify error message.
3734 * util/grub-mkfont.c (main): Likewise.
3735 * util/grub-mkrescue.in: Likewise.
3736 * util/grub-mklayout.c (options): Unify "verbose" message.
3737 * util/grub-mkstandalone.in: Unify help and verbose messages.
3738 * util/grub-mount.c (options): Unify "verbose" message.
3739 * util/grub-probe.c (options): Likewise.
3740 * util/grub-script-check.c (options): Likewise.
3741 * util/grub-setup.c (setup): Unify no-terminator message.
3742 (options): Use DEVICE and not DEV.
3743 Unify "verbose" message.
3744 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3745
0ae70393
VS
37462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Improve and unify messages.
3749
3750 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3751 name. All users updated.
3752 Print filename in error.
3753 (read_device_map): Print filename in error.
3754 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3755 (grub_util_get_os_disk): Likewise.
3756 (grub_util_biosdisk_get_grub_dev): Likewise.
3757 (grub_util_check_block_device): Likewise.
3758 (grub_util_check_char_device): Likewise.
3759 (grub_make_system_path_relative_to_its_root): Likewise.
3760 * util/grub-editenv.c (create_envblk_file): Likewise.
3761 (open_envblk_file): Likewise.
3762 (write_envblk): Likewise.
3763 * util/grub-fstest.c (cmd_cp): Likewise.
3764 (cmd_cat): Likewise.
3765 (cmd_cmp): Likewise.
3766 * util/grub-menulst2cfg.c (main): Likewise.
3767 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3768 (write_font_width_spec): Likewise.
3769 (write_font_pf2): Likewise.
3770 * util/grub-mkimage.c (generate_image): New argument outname.
3771 All users updated.
3772 Remove unreacheable message.
3773 (options): Unify messages.
3774 (help_filter): Likewise.
3775 * util/grub-mklayout.c (usage): Removed (unused).
3776 (main): Print filename in error.
3777 * util/grub-mkrescue.in: Fix wrong quoting.
3778 * util/grub-setup.c (setup): Print filename in error.
3779 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3780 (check_sas): Likewise.
3781 * util/misc.c (grub_util_get_fp_size): Removed.
3782 (grub_util_get_image_size): Print filename in error.
3783 (grub_util_read_at): Removed.
3784 (grub_util_read_image): Print filename in error.
3785 (grub_util_load_image): Likewise.
3786 (grub_util_write_image_at): New argument filename. All users updated.
3787 Print filename in error.
3788 (grub_util_write_image): New argument filename. All users updated.
3789 Print filename in error.
3790 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3791 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3792
0a96117d
VS
37932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/Makefile.core.def (pxechain): New module.
3796 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3797 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3798 function.
3799 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3800 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3801
aca002f7
VS
38022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3805 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3806 * include/grub/err.h (grub_error_saved): New struct.
3807 (grub_errmsg): Make array size explicit.
3808 * include/grub/misc.h (grub_error_save): New function.
3809 (grub_error_load): Likewise.
3810 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3811 (grub_error_push): Update `errno' member name.
3812 (grub_error_pop): Likewise
3813 * grub-core/net/tftp.c (tftp_data): New member save_err.
3814 (tftp_receive): Save error.
3815 (tftp_open): Restore error.
3816
a51dab13
VS
38172012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3820 to real mode down to execute A20-related code in protected mode as
3821 intended.
3822
eb6e6649
GS
38232012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3824
3825 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3826 NULL when the argument `level' has an unexpected value.
3827
92cd0f6e
VS
38282012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Move platform-dependent files from $prefix to $prefix/$platform.
3831
3832 * config.h.in (GRUB_TARGET_CPU): New definition.
3833 (GRUB_PLATFORM): Likewise.
3834 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3835 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3836 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3837 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3838 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3839 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3840 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3841 * grub-core/normal/term.c (read_terminal_list): Likewise.
3842 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3843 $prefix/locale.
3844 (grub_gettext_init_ext): Likewise.
3845 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3846 grub_platform.
3847 * util/grub-install.in: Update directories.
3848 * util/grub-mknetdir.in: Likewise.
3849 * util/grub-mkrescue.in: Likewise.
3850
db606889
VS
38512012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3854 grub_error framework. All users updated.
3855
c39992a4
VS
38562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3859 lists (by always binsearching), improve caching (cache strings
3860 used for binsearch, not only results), improve
3861 maintainability (by using more structured binary search) and correct
3862 error handling.
3863
1e5ec32f
VS
38642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/script/execute.c (grub_script_return): Fix warning.
3867
ac576cde
VS
38682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/script/execute.c (grub_script_return): Fix potential
3871 NULL-dereference.
3872 Reported by: Jim Meyering.
3873
498453f6
VS
38742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * po/POTFILES.in: Regenerate.
3877 * util/grub-install.in: Gettextize the strings missed in first pass.
3878
8be63f2e
VS
38792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * Makefile.util.def (grub-mkdevicemap): Removed.
3882 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3883 * include/grub/util/deviceiter.h: Removed.
3884 * util/deviceiter.c: Likewise.
3885 * util/getroot.c (grub_util_get_os_disk): New function.
3886 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3887 replacement for EFI.
3888 * util/grub-mkdevicemap.c: Removed.
3889 * util/grub-probe.c (probe): Handle PRINT_DISK.
3890 (argp_parser): Handle -t disk.
3891
8e1e4e39
VS
38922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * util/grub-mkfont.c: Migrate to argp.
3895 * util/grub-mklayout.c: Likewise.
3896 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3897 * util/grub-mkrelpath.c: Likewise.
3898 * util/grub-probe.c: Likewise.
3899 * util/grub-script-check.c: Likewise.
3900
4459819a
VS
39012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * util/grub-reboot.in: Add missing datarootdir.
3904 Add missing newline.
3905 * util/grub-set-default.in: Add missing datarootdir.
3906 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3907 * util/grub-mkrescue.in: Likewise.
3908
f65741c7
VS
39092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3912
c1a33466
VS
39132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * util/grub-kbdcomp.in: Add decent help and gettextize.
3916 * docs/man/grub-kbdcomp.h2m: New file.
3917
c76899a0
VS
39182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Migrate grub-mkimage.c to argp.
3921
3922 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3923 (grub-setup): Likewise.
3924 * util/grub-setup.c (print_version): Move to ...
3925 * util/argp_common.c (print_version): ... here.
3926 * util/grub-setup.c (argp_program_version_hook): Move to ...
3927 * util/argp_common.c (argp_program_version_hook): ... here.
3928 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3929 safety.
3930 * util/grub-mkimage.c (main): Migrate to argp.
3931
57db0757
VS
39322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub-mkrescue.in: Use same message as
3935 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3936 for better translations.
3937
18534ad9
VS
39382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3941 options with generic grub-mkrescue.in with the goal of future
3942 merge.
3943
c84ba308
VS
39442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/kern/mm.c: Add missing include of i18n.h
3947 * grub-core/lib/relocator.c: Likewise.
3948
347998c2
VS
39492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3952 error.
3953 (allocate_pages): Check return value.
3954 Replace fatal with error.
3955 (grub_linux_boot): Replace printf with dprintf.
3956 Check find_mmap_size return value.
3957 Replace fatal with error.
3958 Don't call grub_machine_fini.
3959 (grub_load_elf64): Replace printf with dprintf.
3960 (grub_cmd_linux): Likewise.
3961 (grub_cmd_initrd): Likewise.
3962 (grub_cmd_payload): Likewise.
3963
c779226e
VS
39642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3967 message.
3968 * grub-core/video/radeon_fuloong2e.c
3969 (grub_video_radeon_fuloong2e_setup): Likewise.
3970 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3971 * grub-core/video/video.c (grub_video_set_mode): Don't override
3972 standard out of memory message.
3973
dc87d45a
GS
39742012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3975
3976 NetBSD disk wedge support.
3977
3978 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3979 [__NetBSD__]: Handle NetBSD disk wedges.
3980 * util/getroot.c (convert_system_partition_to_system_disk)
3981 [__NetBSD__]: Likewise.
3982
055f856f
MW
39832012-02-03 Mark Wooding <mdw@distorted.org.uk>
3984
3985 * util/grub-mkconfig.in: Use umask rather than chmod to create
3986 grub.cfg.new to avoid insecure grub.cfg.
3987
4a9f8346
VS
39882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/commands/ls.c: Gettextize.
3991 * grub-core/commands/setpci.c: Likewise.
3992 * grub-core/commands/videotest.c: Likewise.
3993 * grub-core/disk/geli.c: Likewise.
3994 * grub-core/kern/mm.c: Likewise.
3995 * grub-core/lib/relocator.c: Likewise.
3996 * grub-core/loader/efi/appleloader.c: Likewise.
3997 * grub-core/loader/i386/xnu.c: Likewise.
3998 * grub-core/loader/ia64/efi/linux.c: Likewise.
3999 * grub-core/loader/xnu.c: Likewise.
4000 * grub-core/net/dns.c: Likewise.
4001 * grub-core/net/net.c: Likewise.
4002 * grub-core/script/lexer.c: Likewise.
4003 * grub-core/script/parser.y: Likewise.
4004 * grub-core/script/yylex.l: Likewise.
4005 * util/getroot.c: Likewise.
4006 * util/grub-setup.c: Likewise.
4007
a646a366
VS
40082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4011 number.
4012
54e2be26
VS
40132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4016
f7c71e68
VS
40172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4020 macro.
4021 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4022 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4023
a32d5c71
VS
40242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4027 * util/grub-install.in: Gettextize.
4028 * util/grub-mkconfig.in: Likewise.
4029 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4030 if not available.
4031 (grub_warn): Gettextize.
4032 * util/grub-mknetdir.in: Gettextize.
4033 * util/grub-mkrescue.in: Likewise.
4034 * util/grub-mkstandalone.in: Likewise.
4035 * util/grub-reboot.in: Likewise.
4036 * util/grub-set-default.in: Likewise.
4037 * util/grub.d/00_header.in: Likewise.
4038 * util/grub.d/10_hurd.in: Likewise.
4039 * util/grub.d/10_kfreebsd.in: Likewise.
4040 * util/grub.d/10_linux.in: Likewise.
4041 * util/grub.d/10_netbsd.in: Likewise.
4042 * util/grub.d/10_windows.in: Likewise.
4043 * util/grub.d/20_linux_xen.in: Likewise.
4044 * util/grub.d/30_os-prober.in: Likewise.
4045 * po/POTFILES-shell.in: Regenerate.
4046
69edd81a
RL
40472012-02-03 Richard Laager <rlaager@wiktel.com>
4048
4049 * util/grub-mkimage.c (main): Fix format-security warning.
4050 * util/grub-mkrelpath.c (main): Likewise.
4051 * util/grub-probe.c (main): Likewise.
4052
65f08dbf
RL
40532012-02-03 Richard Laager <rlaager@wiktel.com>
4054
4055 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4056 failure.
4057 Put back lost PRINT_DRIVE.
4058
e9084abe
RL
40592012-02-03 Richard Laager <rlaager@wiktel.com>
4060
4061 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4062 (grub_guess_root_devices): Replace strlen with sizeof.
4063 Avoid crash.
4064 (find_root_devices_from_poolname): Remove unused variable.
4065 Handle raidzN.
4066
cf5f7ee7
VS
40672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 Support install on multi-device filesystems.
4070
4071 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4072 (grub_guess_root_devices): ...this. Return char **. All users updated.
4073 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4074 Removed.
4075 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4076 (find_root_devices_from_poolname): ... here.
4077 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4078 Support zfs-fuse.
4079 (grub_guess_root_device): Rename to ...
4080 (grub_guess_root_devices): ... this. Return char **. All users updated.
4081 * util/grub-install.in: Handle multi-device filesystems.
4082 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4083 argument. All users updated.
4084 Handle multi-device filesystems.
4085 Use 'delim' as separator.
4086 Remove device check to allow filesystems on file.
4087 (main): Support -0 argument. Handle multi-device.
4088 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4089 Fix a cross-device check while on it.
4090 (arguments): Remove root_dev.
4091 (argp_parser): Remove -r.
4092 (main): Remove root_dev.
4093
2f53a9ed
VS
40942012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4097
17e1d934
VS
40982012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4101 symbol.
4102 Reported by: NODA, Kai <nodakai>.
4103
d3e3fab5
VS
41042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Fix ehci on amd64.
4107
4108 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4109 pointers.
4110 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4111 (grub_ehci_setup_qh): Likewise.
4112 (grub_ehci_find_qh): Likewise.
4113 (grub_ehci_transaction): Likewise.
4114 (grub_ehci_setup_transfer): Likewise.
4115 (grub_ehci_check_transfer): Likewise.
4116 (grub_ehci_portstatus): Likewise.
4117 (grub_ehci_detect_dev): Likewise.
4118 (grub_ehci_transfer_controller_data): New field td_last_phys.
4119 (grub_ehci_setup_transfer): Fill td_last_phys.
4120 (grub_ehci_check_transfer): Use td_last_phys.
4121
3008675b
SG
41222012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4123
4124 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4125 if no submenu is present.
4126
fc9b5652
AN
41272012-02-01 Aleš Nesrsta <starous@volny.cz>
4128
4129 CBI support.
4130
4131 * include/grub/usb.h (grub_usbms_protocol_t): New values
4132 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4133 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4134 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4135 (grub_usbms_dev): Add subclass, protocol and intrpt.
4136 Remove in_maxsz and out_maxsz.
4137 (grub_usbms_reset): Rename to ...
4138 (grub_usbms_bo_reset): .. this.
4139 (grub_usbms_cbi_cmd): New function.
4140 (grub_usbms_cbi_reset): Likewise.
4141 (grub_usbms_reset): Likewise.
4142 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4143 (grub_usbms_transfer): Rename to ...
4144 (grub_usbms_transfer_bo): ... this.
4145 (grub_usbms_transfer_cbi): Likewise.
4146 (grub_usbms_transfer): Likewise.
4147
a2b81d53
AN
41482012-02-01 Aleš Nesrsta <starous@volny.cz>
41492012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4152 the support for the CS5536 modification thereos and few bugfixes.
4153
4154 * grub-core/Makefile.core.def (ehci): New module.
4155 * grub-core/bus/usb/ehci.c: New file.
4156 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4157 port and hubaddr. All users updated.
4158 Save port and hubaddr into dev structure.
4159 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4160 define.
4161 * include/grub/pci.h (grub_dma_phys2virt): New function.
4162 (grub_dma_virt2phys): Likewise.
4163 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4164
b1d51f02
VS
41652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4168 check as some mkfs implementations omit it.
4169
fc694106
VS
41702012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4173
6c0920e3
VS
41742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4177 Add new member volname2.
4178 (grub_jfs_label): Use volname2 if available.
4179
d1a46f9a
VS
41802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4183 over last_mounted as seen in image generated by mkfs.nilfs2.
4184 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4185
dec8ed14
VS
41862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4189 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4190 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4191
7397c69b
VS
41922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4195 over the sector.
4196
b3fe42ad
VS
41972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4200 subvolume name (by removing a bogus and useless check).
4201
10476bb0
VS
42022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4205 sizeof while on it.
4206
9c08ad87
VS
42072012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4210 (grub_scsi_read_capacity10): ... this.
4211 (grub_scsi_read_capacity16): New function.
4212 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4213 0xffffffff.
4214 Fix off-by-one error.
4215 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4216 64-bit unsigned.
4217 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4218 (grub_scsi_read_capacity10): ... this.
4219 (grub_scsi_read_capacity_data): Rename to ...
4220 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4221 (grub_scsi_read_capacity16): New struct.
4222 (grub_scsi_read_capacity16_data): Likewise.
4223 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4224 grub_scsi_cmd_read_capacity10.
4225 New command grub_scsi_cmd_read_capacity16.
4226
bc8d0f45
VS
42272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 SCSI >2TiB support.
4230
4231 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4232 (grub_scsi_write16): Likewise.
4233 (grub_scsi_read): Use read16 when necessary.
4234 (grub_scsi_write): Likewise.
4235 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4236 (grub_scsi_write16): Likewise.
4237 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4238
cc774926
VS
42392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 SCSI write support (for usbms mainly).
4242
4243 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4244 a const pointer.
4245 (grub_scsi_write): Implement.
4246 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4247
67639fd7
VS
42482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4251 variable.
4252
9079d3ed
VS
42532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4256
c6a6f204
VS
42572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * po/POTFILES.in: Regenerate.
4260
ecbf8cd1
VS
42612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4264 with grub_printf to avoid unnecessary fatal failure.
4265
0b3b3b38
VS
42662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4269 (INT_MAX): Likewise.
4270 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4271 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4272 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4273 (strcpy): Likewise.
4274 (strstr): Likewise.
4275 (strchr): Likewise.
4276 (strncpy): Likewise.
4277 (strcat): Likewise.
4278 (strncat): Likewise.
4279 (strcoll): Likewise.
4280 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4281 (GRUB_INT_MAX): Likewise.
4282
db7337a3
VS
42832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4286 unexpected error.
4287 (optimize_utf8): Likewise.
4288 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4289
f37c87e1
VS
42902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/boot/i386/pc/lnxboot.S: Use
4293 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4294 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4295 location.
4296 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4297 definition.
4298 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4299
63fe43f3
VS
43002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4303 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4304 now to avoid double free.
4305 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4306 hostdisk.
4307 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4308 * util/grub-probe.c (escape_of_path): Always return a new copy.
4309 (print_full_name): Escape path.
4310 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4311 Fix hints on abstractions.
4312
ebe2c961
VS
43132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4316 Don't add "root" line if no compatibility hont is available.
4317 Suggested by: Seth Goldberg.
4318
2b5336a2
VS
43192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4322 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4323 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4324 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4325
74310bd8
VS
43262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4329
c30582ba
VS
43302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * util/grub-pe2elf.c (ehdr): Make static.
4333 (shdr): Likewise.
4334 (num_sections): Likewise.
4335 (offset): Likewise.
4336
5f47782c
VS
43372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 Eliminate ofpath limits and possible overflows.
4340
4341 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4342 (OF_PATH_MAX): Removed.
4343 (MAX_DISK_CAT): New const.
4344 (find_obppath): Use allocated rather than preallocated buffer.
4345 Return result. Argument of_path removed. All users updated.
4346 Add missing fdstat.
4347 (xrealpath): New function.
4348 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4349 Allocate rather than use preallocated buffer. All users updated.
4350 (__of_path_common): Use allocated rather than preallocatecd buffer.
4351 Return result. Argument of_path removed. All users updated.
4352 (vendor_is_ATA): Read only needed part form the file.
4353 (check_sas): Allocate depending on contents rather than fixed.
4354 (main) [STANDALONE]: Handle NULL result.
4355
f990cbf9
VS
43562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4359
9c6e84b8
VS
43602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Cryptodisk write support.
4363
4364 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4365 (grub_cryptodisk_decrypt): Moved logic to ...
4366 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4367 (grub_cryptodisk_write): Implement.
4368 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4369 (grub_util_fd_write): ... this. Make global.
4370 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4371
87cf9744
VS
43722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * include/grub/list.h (grub_list_remove): Don't crash if element is
4375 removed twice.
4376
ca8c0baf
VS
43772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 Rename ofconsole to console.
4380
4381 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4382 as sysnonym to console.
4383 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4384 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4385 Rename grub_ofconsole_ to grub_console_. All users updated
4386 (grub_console_term_output): Rename "ofconsole" to "console".
4387 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4388 as "console".
4389
64c8b8f6
VS
43902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4393 handling.
4394 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4395 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4396 GRUB_DISK_DEVICE_FILE_ID.
4397
f6c434d5
VS
43982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4401 and improve performance.
4402
5858b42d
VS
44032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4406 missing ieee1275/ prefix on whole disk.
4407
4ed3c26b
VS
44082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4411 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4412
df71143e
VS
44132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4416
076e7c0f
VS
44172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 Merge common RAID and LVM logic to an abstract diskfilter.
4420 Add LDM support using the same framework.
4421
4422 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4423 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4424 (libgrubmods): Remove grub-core/disk/raid.c and
4425 grub-core/partmap/gpt.c.
4426 * grub-core/Makefile.core.def (ldm): New module.
4427 (raid): Renamed to diskfilter. All users updated.
4428 * grub-core/disk/raid.c: Moved to ...
4429 * grub-core/disk/diskfilter.c: ... here.
4430 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4431 (lv_num): New var.
4432 (find_array): Renamed to ...
4433 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4434 (grub_is_array_readable): Renamed to ...
4435 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4436 (insert_array): New argument id.
4437 (is_node_readable): New function.
4438 (scan_device): Rename to ...
4439 (scan_disk): .. this. Restrict to one disk.
4440 (scan_devices): New function.
4441 (grub_diskfilter_iterate): Support multi-LV.
4442 Skip invisible and nameless LVs.
4443 (grub_diskfilter_memberlist): Support multi-LV.
4444 (grub_diskfilter_read_node): New function.
4445 (grub_raid_read): Most of logic moved to ...
4446 (read_segment): ... here
4447 (read_lv): New function.
4448 (grub_diskfilter_get_vg_by_uuid): New function.
4449 (grub_diskfilter_make_raid): Likewise.
4450 * grub-core/disk/ldm.c: New file.
4451 * grub-core/disk/lvm.c (vg_list): Removed.
4452 (lv_count): Likewise.
4453 (scan_depth): Likewise.
4454 (is_lv_readable): Likewise.
4455 (grub_lvm_getvalue): Advance pointer past the number.
4456 (find_lv): Removed.
4457 (do_lvm_scan): Refactored into ...
4458 (grub_lvm_detect): ... this. Support raid.
4459 (grub_lvm_iterate): Removed.
4460 (grub_lvm_memberlist): Likewise.
4461 (grub_lvm_open): Likewise.
4462 (grub_lvm_close): Likewise.
4463 (read_lv): Likewise.
4464 (read_node): Likewise.
4465 (is_node_readable): Likewise.
4466 (is_lv_readable): Likewise.
4467 (grub_lvm_read): Likewise.
4468 (grub_lvm_write): Likewise.
4469 (grub_lvm_dev): Use diskfilter
4470 (GRUB_MOD_INIT): Likewise.
4471 (GRUB_MOD_FINI): Likewise.
4472 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4473 new interface.
4474 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4475 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4476 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4477 grub_diskfilter_read_node.
4478 Fix a bug with xor.
4479 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4480 grub_diskfilter_read_node.
4481 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4482 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4483 (grub_disk_dev_iterate): Move from here...
4484 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4485 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4486 Make global.
4487 (grub_hostdisk_find_partition_start): Likewise.
4488 (grub_hostdisk_os_dev_to_grub_drive): New function.
4489 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4490 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4491 * util/getroot.c (make_device_name): ... here.
4492 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4493 Move to ...
4494 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4495 * grub-core/kern/emu/hostdisk.c
4496 (convert_system_partition_to_system_disk): Move to ...
4497 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4498 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4499 * util/getroot.c (device_is_wholedisk): ... here.
4500 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4501 * util/getroot.c (find_system_device): ... here.
4502 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4503 Move to ...
4504 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4506 Move to ...
4507 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4508 Handle LDM.
4509 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4510 Move to ...
4511 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4512 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4513 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4514 DISKFILTER.
4515 * include/grub/raid.h: Renamed to ...
4516 * include/grub/diskfilter.h: ... this.
4517 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4518 (GRUB_RAID_LAYOUT_*): Make into array.
4519 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4520 (grub_diskfilter_vg): New struct.
4521 (grub_diskfilter_pv_id): Likewise.
4522 (grub_raid_member): Removed.
4523 (grub_raid_array): Likewise.
4524 (grub_diskfilter_pv): New struct.
4525 (grub_diskfilter_lv): Likewise.
4526 (grub_diskfilter_segment): Likewise.
4527 (grub_diskfilter_node): Likewise.
4528 (grub_diskfilter_get_vg_by_uuid): New proto.
4529 (grub_raid_register): Inline.
4530 (grub_diskfilter_unregister): Likewise.
4531 (grub_diskfilter_make_raid): New proto.
4532 (grub_diskfilter_vg_register): Likewise.
4533 (grub_diskfilter_read_node): Likewise.
4534 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4535 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4536 (grub_util_is_ldm): Likewise.
4537 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4538 (grub_hostdisk_find_partition_start): Likewise.
4539 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4540 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4541 New definition.
4542 (grub_gpt_partition_map_iterate): New proto.
4543 * include/grub/lvm.h (grub_lvm_vg): Removed.
4544 (grub_lvm_pv): Likewise.
4545 (grub_lvm_lv): Likewise.
4546 (grub_lvm_segment): Likewise.
4547 (grub_lvm_node): Likewise.
4548 * util/getroot.c [...]
4549 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4550 (probe_abstraction): Likewise.
4551 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4552 (main): Remove dead logic.
4553
8a7f9b9c
VS
45542012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Simplify root device discover and don't fail when trying to open
4557 incorrect devices.
4558
4559 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4560 function.
4561 (get_diskname_from_path): Likewise.
4562 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4563 of iterating.
4564
30545b85
VS
45652012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4568
28ea58cf
VS
45692012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4572 pastthe end.
4573
692dabca
VS
45742012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * util/grub-install.in: Add missing \.
4577 Reported by: gentoofan
4578
f6e4ea70
VS
45792012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4582 (direct_read): Use correct compressed size.
4583 (grub_squash_read_data): Likewise.
4584
45852012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4586
4587 * docs/grub.texi (Platform limitations): New section.
4588 (Platform-specific operations): Likewise.
4589 * docs/grub-dev.texi (Porting): Likewise.
4590
76261110
VS
45912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 IEEE1275 disk write support.
4594
4595 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4596 const void *.
4597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4598 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4599 and seek loginc to ...
4600 (grub_ofdisk_prepare): ... here.
4601 (grub_ofdisk_write): Implement.
4602
fc36d603
VS
46032012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 ARC disk write support.
4606
4607 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4608 (reopen): New argument writable. All users updated.
4609 Handle required access mode.
4610 (grub_arcdisk_write): Implement.
4611 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4612 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4613
e06c2e7a
VS
46142012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4617 (read_sblock): Don't attempt to read superblocks outside the disk size.
4618
ff447958
VS
46192012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4622 first superblock to find the second one when possible.
4623
9e88df39
VS
46242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/grub-install.in: Fix an ARC bug.
4627 Print a warning if no platform-specific setup is available.
4628
bb26e4ff
VS
46292012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Use static allocation rather than scratch pointer in reed_solomon.
4632 It decreases its size significantly and avoids a variable in .text.
4633
4634 * grub-core/lib/reed_solomon.c (scratch): Removed.
4635 (chosenstat): New const or static array.
4636 (sigma): Likewise.
4637 (errpot): Likewise.
4638 (errpos): Likewise.
4639 (sy): Likewise.
4640 (mstat): Likewise.
4641 (errvals): Likewise.
4642 (eqstat): Likewise.
4643 (pol_evaluate): Replace x with log_x argument. All users updated.
4644 (syndroms): Removed.
4645 (gauss_solve): Use statically allocated arrays.
4646 (rs_recover): Likewise.
4647 Calculate syndroms directly.
4648 (decode_block): Use statically allocated arrays.
4649 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4650 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4651
2e13ede5
VS
46522012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Eliminate fixed limit on reed solomon decoder length.
4655
4656 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4657 rather than hardcoding the address.
4658 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4659 no_reed_solomon_length.
4660 Move gate_a20 to no-reed-solomon part.
4661 Don't force a particular size of no reed-solomon part.
4662 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4663 Removed.
4664 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4665 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4666
f8a9ab12
VS
46672012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * grub-core/commands/wildcard.c (match_files): Handle filenames
4670 without explicit device.
4671 (wildcard_expand): Don't add explicit device if not already present.
4672 * tests/grub_script_echo1.in: Add a new expansion test.
4673
87edb894
VS
46742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Replace single-linked with double-linked lists. It results in more
4677 compact and more efficient code.
4678
4679 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4680 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4681 (grub_list_remove): Moved from here ...
4682 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4683 (grub_prio_list_insert): Set prev.
4684 * include/grub/list.h (grub_list): Add prev. All users updated.
4685
48b391e9
VS
46862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Handle newer autotools. Add some missing quotes while on it.
4689
4690 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4691 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4692 (pkgdata_DATA): ... here.
4693 * Makefile.util.def (update-grub_lib): Removed.
4694 * conf/Makefile.common (pkglib_DATA): Removed.
4695 (pkglib_SCRIPTS): Likewise.
4696 (pkgdata_DATA): New variable.
4697 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4698 needed.
4699 Add missing quotes.
4700 Remove unused variable while on it.
4701 * tests/util/grub-shell.in: Likewise.
4702 * util/grub-install.in: Likewise.
4703 * util/grub-mkconfig.in: Likewise.
4704 * util/grub-mknetdir.in: Likewise.
4705 * util/grub-mkrescue.in: Likewise.
4706 * util/grub-mkstandalone.in: Likewise.
4707 * util/grub.d/00_header.in: Likewise.
4708 * util/grub.d/10_hurd.in: Likewise.
4709 * util/grub.d/10_illumos.in: Likewise.
4710 * util/grub.d/10_kfreebsd.in: Likewise.
4711 * util/grub.d/10_linux.in: Likewise.
4712 * util/grub.d/10_netbsd.in: Likewise.
4713 * util/grub.d/10_windows.in: Likewise.
4714 * util/grub.d/20_linux_xen.in: Likewise.
4715 * util/grub.d/30_os-prober.in: Likewise.
4716 * util/update-grub_lib.in: Removed.
4717
47182012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4719
4720 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4721 a workaround for intel problem.
4722
66832792
PRP
47232012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
47242012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
47252012-01-23 pfsmorigo
4726
4727 * util/grub-install.in: Support dd'in into PreP partition.
4728 * util/grub-probe.c (probe): Support discovering partition type.
4729 (main): Support -t msdos_parttype.
4730
7816a17e
VS
47312012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4734 infinite recursion using counter.
4735 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4736 init to skip it if the magic check fails.
4737 (dec_stream_header): Init s->crc32.
4738
8f9d3a8c
ZB
47392012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
47402012-01-22 Zachary Bedell <pendorbound@gmail.com>
47412012-01-22 Richard Laager <rlaager@wiktel.com>
4742
4743 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4744 All users updated.
4745 (find_bestub): Determine correct size.
4746 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4747 (scan_disk): Align the size down.
4748 Call check pool before find_bestub to have ashift.
4749
b055dd32
VS
47502012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4753 dprintf in no-malloc zone.
4754
d779e9bd
ML
47552012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4756
4757 * configure.ac: Add back in test for limits.h.
4758
b508af69
VS
47592012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Support 4K-sector NTFS.
4762
4763 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4764 (grub_ntfs_data): Remove blocksize.
4765 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4766 Remove data argument. All users updated.
4767
dad9c8b5
VS
47682012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4771 being in .text to avoid dprel references.
4772 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4773 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4774 (grub_arch_highmemsize): Likewise.
4775 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4776 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4777 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4778
d43a777e
VS
47792012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4782
4783 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4784 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4785
34e4208f
VS
47862012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4789 GRUB_UTIL.
4790 (grub_set_datetime_cmos): Likewise.
4791
3ec0fc1c
VS
47922012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 Make XZ compression parameters dependent on target and not host CPU.
4795
4796 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4797 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4798
22489834
VS
47992012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4802 set but not used variable.
4803
8502fbca
VS
48042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4807 created when no uuid support is compiled into mkfs.reiser.
4808
76df2068
VS
48092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4812 (utf8_to_macroman): Do the opposite.
4813 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4814
64e3f8f6
VS
48152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * configure.ac: Refise build qemu_mips w/o unifont.
4818
9c271078
VS
48192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Eliminate grub_min/grub_max prone to overflow usage.
4822
4823 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4824 (poll_nonroot_hub): Likewise.
4825 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4826 (grub_affs_label): Likewise.
4827 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4828 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4829 (grub_hfs_label): Likewise.
4830 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4831 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4832 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4833 (zap_leaf_array_get): Likewise.
4834 (dnode_get_path): Likewise.
4835 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4836 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4837 * grub-core/script/execute.c (grub_script_break): Likewise.
4838 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4839 grub_max.
4840 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4841 * include/grub/misc.h (grub_min): Removed.
4842 (grub_max): Likewise.
4843
80662dbc
VS
48442012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4845
4846 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4847 direct.inode = 0.
4848
e6da1467
VS
48492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4852
b1ac4cb1
VS
48532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4856
b4bf7c3b
VS
48572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4860 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4861
8ee1101a
VS
48622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4865 rather than a hack for grub_strncasemap.
4866
48672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 Support multiple initrds
4870 Note: part of this was accidently committed in r3739.
4871
4872 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4873 initrd.
4874 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4875 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4876 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4877 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4878 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4879
4d1e2bc9
VS
48802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4883 disks with unknown size.
4884 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4885
75b49ebe
VS
48862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Remove defines pertaining to arbitrary limits not affecting GRUB
4889 anymore.
4890
4891 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4892 (EXT2_MAX_SYMLINKCNT): Likewise.
4893 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4894 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4895 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4896 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4897 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4898 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4899 (DN_MAX_OBJECT_SHIFT): Likewise.
4900 (DN_MAX_OFFSET_SHIFT): Likewise.
4901 (DN_MAX_OBJECT): Likewise.
4902 (DNODES_PER_LEVEL_SHIFT): Likewise.
4903 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4904 (SPA_MAXBLOCKSIZE): Likewise.
4905 (SPA_BLOCKSIZES): Likewise.
4906 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4907 (MZAP_MAX_BLKSZ): Likewise.
4908
74a1dce7
VS
49092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4912 handle NULL appropriately.
4913 Remove MIN.
4914
30c7d3ce
VS
49152012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Fix efiemu.
4918
4919 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4920 cpu/types.h.
4921 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4922 * configure.ac: Fix efiemu check.
4923
3c76ea0c
VS
49242012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4927 grub_probe.
4928 Reported by: adamwill
4929
7e532280
SG
49302012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4931
4932 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4933
30492374
VS
49342012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 Fix handling of wide characters in gfxterm.
4937
4938 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4939 (clear_char): Likewise.
4940 (paint_char): Skip code == NULL chars.
4941 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4942
e70cb72f
VS
49432012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/normal/charset.c: Move comment to right place.
4946
5c827cf9
VS
49472012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4950 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4951 (grub_affs_mount): Revert the correct version checking.
4952
53603892
VS
49532012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * docs/grub.texi (Unicode): Mention several other unsupported features.
4956
ff094b9b
VS
49572011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4960 case statements as compile-time one.
4961 (direct_read): Prevent spurious warnings.
4962 (grub_squash_read_data): Likewise.
4963
c029da8a
VS
49642011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Various squash4 fixes and LZO and XZ support.
4967
4968 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4969 Add xzembed source files.
4970 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4971 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4972 (grub_squash_inode): New subtype long_dir.
4973 (SQUASH_TYPE_LONG_DIR): New inode type.
4974 (COMPRESSION): New enum.
4975 (XZBUFSIZ): New const.
4976 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4977 (read_chunk): Use data->decompress.
4978 (zlib_decompress): New function.
4979 (lzo_decompress): Likewise.
4980 (xz_decompress): Likewise.
4981 (squash_mount): Set new data fields.
4982 (grub_squash_iterate_dir): Handle long dir.
4983 (squash_unmount): Free xzdec and xzbuf.
4984 (grub_squash_open): Check ino type.
4985 (direct_read): Stylistic fixes. Use data->decompress.
4986 (grub_squash_read_data): Likewise.
4987 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4988 (get_byte): Likewise.
4989 (grub_zlib_disk_read): Removed.
4990 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4991 (GRUB_POSIX_BOOL_DEFINED): New define.
4992 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4993 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4994 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4995 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4996
7a45a539
VS
49972011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 Don't override more informative errors.
5000
5001 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5002 * grub-core/font/font.c (open_section): Likewise.
5003 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5004 filename. Don't override errors.
5005 (grub_cmd_openbsd_ramdisk): Don't override errors.
5006 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5007 (grub_cmd_initrd): Likewise.
5008 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5009 (grub_cmd_initrd): Likewise.
5010 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5011 (grub_cmd_linux): Likewise.
5012 (grub_cmd_initrd): Likewise.
5013 (grub_cmd_payload): Likewise.
5014 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5015 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5016 (grub_cmd_module): Likewise.
5017 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5018 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5019 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5020 (grub_cmd_xnu_mkext): Likewise.
5021 (grub_cmd_xnu_ramdisk): Likewise.
5022 (grub_xnu_check_os_bundle_required): Likewise.
5023 (grub_xnu_load_kext_from_dir): Likewise.
5024 (grub_cmd_xnu_kextdir): Likewise.
5025 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5026
b2d004db
VS
50272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5030 as 1024 in block size field. Found on one of my test images.
5031 Small optimisation while on it.
5032
ec000eac
VS
50332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5036 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5037 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5038 performance fixes while on it.
5039 (grub_sfs_close): Fix memory leak while on it.
5040 (grub_sfs_label): Convert Latin1 to UTF-8.
5041
f50e1165
VS
50422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5045 space to avoid overflows.
5046 (grub_hfs_label): Convert from macroman to UTF-8.
5047
2ae254de
VS
50482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5051
0108f491
VS
50522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5055
f45f5f89
VS
50562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * unicode: Import Unicode 6.0 data.
5059
4d8c4765
VS
50602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5061
63fa8ef9
VS
5062 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5063 outside of range.
5064
50652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5068
5069 * include/grub/charset.h (grub_getend): New function.
5070 * grub-core/script/function.c (grub_script_function_find): Use
5071 grub_getend.
5072 * grub-core/normal/completion.c (add_completion): Likewise.
5073
f3cb4a4e
VS
50742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5077 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5078 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5079 (GRUB_UNICODE_TAG_END): Likewise.
5080 (GRUB_UNICODE_LAST_VALID): Likewise.
5081
5da8dbc5
VS
50822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5085 len and make it smaller. All users updated.
5086 * util/import_unicode.py: Put length and not end character.
5087 Check length.
5088
8569f13d
VS
50892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 Make better Unicode-compliant and unify some UTF-8 code pathes.
5092
5093 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5094 valid character.
5095 (grub_is_valid_utf8): Use grub_utf8_process.
5096 Check resulting code range.
5097 (grub_utf8_to_ucs4): Use grub_utf8_process.
5098 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5099 valid character.
5100
cc4fddf5
VS
51012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5104
bbc47747
VS
51052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * docs/grub.texi (Filesystems): Mention AFS.
5108
f63d6bf4
VS
51092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * docs/grub.texi (Filesystems): Clarify restrictions.
5112 (Regexp): Mention non-Unicode regexp behaviour.
5113 (Other): Mention non-Unicode matching behaviour.
5114
74bbf0db
VS
51152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5116
f63d6bf4 5117 Make HFS implementation use MacRoman.
74bbf0db
VS
5118
5119 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5120 (macroman): New const array.
5121 (macroman_to_utf8): New function.
5122 (utf8_to_macroman): Likewise.
5123 (grub_hfs_find_dir): Use utf8_to_macroman.
5124 (grub_hfs_dir): Use macroman_to_utf8.
5125 Set case_insensitive.
5126
4ea0316e
VS
51272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5130
d3c13cbd
VS
51312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Integrate hints into autogeneration scripts.
5134
5135 * docs/grub.texi (Filesystems): Add a hostdisk example.
5136 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5137 (grub-probe): Add ofpath.
5138 * gentpl.py: Remove group nosparc64.
5139 * grub-core/commands/search.c (cache_entry): New struct.
5140 (cache): New var.
5141 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5142 * grub-core/commands/search_wrap.c (options): Add platform-specific
5143 hint options.
5144 (grub_cmd_search): Handle platform-specific hints.
5145 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5146 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5147 (grub_util_biosdisk_data): Likewise.
5148 (grub_util_biosdisk_open): Set device_map.
5149 (read_device_map): Handle "" as indication of no map.
5150 Set device_map.
5151 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5152 (grub_util_biosdisk_get_compatibility_hint): New function.
5153 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5154 * include/grub/emu/hostdisk.h
5155 (grub_util_biosdisk_get_compatibility_hint): New proto.
5156 * util/grub-install.in: Don't call grub-mkdevicemap.
5157 Add platform-specific hint to load.cfg.
5158 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5159 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5160 hints. Set root preliminary to compatibility hint, not to OS name.
5161 * util/grub-probe.c (PRINT_*): Add hints.
5162 (print): Make static.
5163 (escape_of_path): New function.
5164 (guess_bios_drive): Likewise.
5165 (guess_efi_drive): Likewise.
5166 (guess_baremetal_drive): Likewise.
5167 (print_full_name): Likewise.
5168 (probe): Handle hints.
5169 (main): Likewise.
5170 * util/ieee1275/devicemap.c: Removed.
5171 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5172 updated.
5173 (grub_util_devname_to_ofpath): Return NULL on failure.
5174
5175 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5176 resource leak.
5177 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5178
5179 * po/POTFILES.in: Regenerated.
5180
5181 Allow purely long options
5182
5183 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5184 (SHORT_ARG_USAGE): Likewise.
5185 (grub_arg_show_help): Compare opt with help_options.
5186 (parse_option): Receive opt as argument. If makes big simplificatons.
5187 All users updated
5188
00ce2df3
VS
51892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5192 Restructure to avoid warning.
5193
e77e325f
VS
51942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/grub-install.in: Account for possible escaped comma in device
5197 name.
5198
165099ea
VS
51992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5202 channel.
5203
ce4a999d
VS
52042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5207 allocation and zero-setting.
5208 (grub_ieee1275_get_devname): Check that alias is complete.
5209
379586ad
VS
52102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5213 unaligned segments.
5214
9197b0ad
VS
52152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5218 prefix.
5219 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5220 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5221 Add ieee1275 prefix.
5222
edddb7f9
VS
52232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * docs/grub.texi (Filesystems): Update.
5226
a1a8b1b9
VS
52272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 Support odc, newc and bigendian cpio formats.
5230
5231 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5232 * grub-core/Makefile.core.def (newc): New module.
5233 (odc): Likewise.
5234 (cpio_be): Likewise.
5235 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5236 (MAGIC): Likewise.
5237 (MAGIC2): Likewise.
5238 (head) [MODE_ODC]: Adapt for the format.
5239 (head) [MODE_NEWC]: Likewise.
5240 (head) [!MODE_*]: Write fields of interest as arrays.
5241 (MAGIC_USTAR): Removed.
5242 (read_number) [MODE_NEWC]: Change to hex.
5243 (read_number) [!MODE_*]: Parse binary arrays.
5244 (grub_cpio_find_file): Factor out the code for better structure and
5245 always use read_number.
5246 (grub_cpio_mount): Use MAGIC and MAGIC2.
5247 (grub_cpio_dir): Exit on first hook non-0 return.
5248 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5249 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5250 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5251 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5252 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5253 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5254 * grub-core/fs/newc.c: New file.
5255 * grub-core/fs/odc.c: Likewise.
5256 * grub-core/fs/cpio_be.c: Likewise.
5257
58eba9ee
VS
52582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 Fix handling of tar numbers occupying the whole field.
5261
5262 * grub-core/fs/cpio.c (read_number): New function.
5263 (grub_cpio_find_file): Use read_number instead of strtoull.
5264
a54a0e12
VS
52652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5268 occupying the whole field size.
5269
a6120aca
LA
52702011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5271
5272 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5273
a93964ce
VS
52742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5277
3ea1ca46
SG
52782011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5279
5280 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5281 TARGET_IMG_LDFLAGS.
5282
b87f7ef2
VS
52832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5286 (mountinfo_entry): Increase the field size to take escaping into
5287 account.
5288 (find_root_device_from_libzfs): Add one byte to size of strings for
5289 security.
5290
62092395
VS
52912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5294 an assert.
5295 * util/grub-setup.c (setup): Likewise.
5296
1f0b1a77
VS
52972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5300 _LzmaDecodeA.
5301
8eba9997
VS
53022011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * docs/grub.texi (Internationalisation): New section.
5305
dd0c91e9
VS
53062011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * docs/grub.texi (Loopback booting): New section.
5309
53102011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5311
5312 * util/grub-mkstandalone.in: Fix minor typo errors.
5313
198e150a
VS
53142011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5317
5318 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5319 net/icmp.c and net/icmp6.c.
5320 (http): New module.
5321 (priority_queue): Likewise.
5322 * grub-core/io/bufio.c: Rewritten.
5323 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5324 TYPE_WITH_CONFIGFILE_OPTION.
5325 (legacy_commands): Add bootp and dhcp.
5326 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5327 (grub_legacy_parse): Likewise.
5328 * grub-core/lib/priority_queue.c: New file.
5329 * grub-core/net/arp.c: Add missing license header.
5330 (arp_find_entry): Removed.
5331 (arp_find_entry): Likewise.
5332 (grub_net_arp_resolve): Rename to ...
5333 (grub_net_arp_send_request): ...this.
5334 (grub_net_arp_receive): New card argument.
5335 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5336 Set router and DNS server.
5337 (grub_net_configure_by_dhcp_ack): Handle routing information.
5338 (grub_cmd_bootp): Set checksum.
5339 (grub_bootp_init): Remove net_dhcp.
5340 * grub-core/net/dns.c: New file.
5341 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5342 completion.
5343 (get_card_packet): Handle allocation.
5344 (grub_efinet_findcards): Set mtu.
5345 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5346 (get_card_packet): Handle allocation.
5347 (emucard): Set mtu.
5348 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5349 (GRUB_MOD_INIT): Set mtu.
5350 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5351 mtu.
5352 (get_card_packet): Handle allocation.
5353 (grub_ofnet_findcards): Set mtu.
5354 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5355 assert.
5356 (grub_net_recv_ethernet_packet): Handle IPv6.
5357 * grub-core/net/http.c: New file.
5358 * grub-core/net/icmp.c: Likewise.
5359 * grub-core/net/icmp6.c: Likewise.
5360 * grub-core/net/ip.c (ip6addr): New type.
5361 (ip6hdr): Likewise.
5362 (reassemble): Likewise.
5363 (cmp): New function.
5364 (reassembles): New variable.
5365 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5366 (id): New variable.
5367 (send_fragmented): New function.
5368 (grub_net_send_ip_packet): Rename to ...
5369 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5370 Handle non-UDP.
5371 (grub_net_recv_ip_packets): Rename to ...
5372 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5373 (free_rsm): New function.
5374 (free_old_fragments): Likewise.
5375 (grub_net_recv_ip4_packets): New function.
5376 (grub_net_send_ip6_packet): Likewise.
5377 (grub_net_send_ip_packet): Likewise.
5378 (grub_net_recv_ip6_packets): Likewise.
5379 (grub_net_recv_ip_packets): Likewise.
5380 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5381 (LINK_LAYER_CACHE_SIZE): New const.
5382 (link_layer_find_entry): New function.
5383 (grub_net_link_layer_add_address): Likewise.
5384 (grub_net_link_layer_resolve_check): Likewise.
5385 (grub_net_link_layer_resolve): Likewise.
5386 (grub_net_ipv6_get_slaac): Likewise.
5387 (grub_net_ipv6_get_link_local): Likewise.
5388 (grub_cmd_ipv6_autoconf): Likewise.
5389 (parse_ip): Handle one number representation.
5390 (parse_ip6): New functoion.
5391 (match_net): Handle IPv6.
5392 (grub_net_resolve_address): Handle IPv6 and DNS.
5393 (grub_net_resolve_net_address): Handle IPv6.
5394 (route_cmp): New function.
5395 (grub_net_route_address): Find best route.
5396 (grub_net_addr_to_str): Handle IPv6.
5397 (grub_net_addr_cmp): New function.
5398 (grub_net_add_addr): Register local route.
5399 (print_net_address): Handle net address.
5400 (grub_net_poll_cards): Retransmit TCP.
5401 (grub_net_poll_cards_idle_real): Likewise.
5402 (have_ahead): New function.
5403 (grub_net_seek_real): Use underlying seek.
5404 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5405 * grub-core/net/tcp.c: New file.
5406 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5407 (cmp): New function.
5408 (ack): Likewise.
5409 (tftp_receive): Handle unordered input.
5410 (destroy_pq): New function.
5411 (tftp_close): Close pq.
5412 * grub-core/net/udp.c: Put missing license header.
5413 (grub_net_udp_socket): New function.
5414 (udp_socket_register): Likewise.
5415 (grub_net_udp_close): Likewise.
5416 (grub_net_recv_udp_packet): Check checksum.
5417 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5418 * include/grub/misc.h (grub_memchr): New function.
5419 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5420 (grub_net_card_driver): Return buf in recv.
5421 (grub_net_slaac_mac_list): New struct.
5422 (grub_network_level_protocol_id): Add ipv6.
5423 (grub_net_network_level_addr): Likewise.
5424 (grub_net_network_level_net_addr): Likewise.
5425 (grub_net_app_protocol): Add seek.
5426 (grub_net_socket): Removed.
5427 (grub_net_sockets): Likewise.
5428 (grub_net_socket_register): Likewise.
5429 (grub_net_socket_unregister): Likewise.
5430 (FOR_NET_SOCKETS): Likewise.
5431 (grub_net_add_addr): Add const.
5432 (GRUB_NET_BOOTP_*): New enum.
5433 (grub_net_addr_cmp): New proto.
5434 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5435 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5436 (grub_net_hwaddr_to_str): NEw proto.
5437 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5438 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5439 (grub_dns_init): New proto.
5440 (grub_dns_fini): Likewise.
5441 (grub_net_tcp_retransmit): Likewise.
5442 (grub_net_link_layer_add_address): Likewise.
5443 (grub_net_link_layer_resolve_check): Likewise.
5444 (grub_net_link_layer_resolve): Likewise.
5445 (grub_net_dns_lookup): Likewise.
5446 (grub_net_add_dns_server): Likewise.
5447 (grub_net_remove_dns_server): Likewise.
5448 (GRUB_NET_TRIES): New const.
5449 (GRUB_NET_INTERVAL): Likewise.
5450 * include/grub/net/arp.h: Mostly rewritten.
5451 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5452 * include/grub/net/ip.h: Mostly rewritten.
5453 * include/grub/net/netbuff.h: Indent.
5454 * include/grub/net/tcp.h: New file.
5455 * include/grub/net/udp.h: Mostly rewritten.
5456 * include/grub/priority_queue.h: New file.
5457 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5458 (grub_swap_bytes64_compile_time): Likewise.
5459 (grub_cpu_to_be16_compile_time): Likewise.
5460 (grub_cpu_to_be32_compile_time): Likewise.
5461 (grub_cpu_to_be64_compile_time): Likewise.
5462 (grub_be_to_cpu64_compile_time): Likewise.
5463
215c1800
VS
54642011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5467 UINT_TO_PTR with cast.
5468
c17e546c
VS
54692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5472 don't use them.
5473
ff6b18b6
VS
54742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5477 already there.
5478
70ffcc93
VS
54792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5482 confusing ipxe.
5483
e5f4d260
VS
54842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5487 Add missing const attribute.
5488 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5489 Likewise.
5490 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5491 Likewise.
5492
8e54b4b7
VS
54932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5496 misaligned access.
5497 (serpent_setkey): Likewise.
5498 (serpent_encrypt_internal): Likewise.
5499 (serpent_decrypt_internal): Likewise.
5500 (serpent_encrypt): Don't put an alignment-increasing cast.
5501 (serpent_decrypt): Likewise.
5502 (serpent_test): Likewise.
5503
813c0a2b
VS
55042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5507
f2b60fbd
VS
55082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5511
5512 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5513 grub_addr_t casts.
5514 (PTR_TO_UINT64): Likewise.
5515 (PTR_TO_UINT32): Likewise.
5516
5ef5c511
VS
55172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5520 because of stack.
5521 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5522 limit.
5523
c476e6df
VS
55242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5527 text_width > available width a bit more gracefully.
5528
384ad7cc
VS
55292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5532 current address calculation.
5533
96f8caf8
VS
55342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5537 stack.
5538 (encode_block): Likewise.
5539
276b7a8b
VS
55402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5543 certainety.
5544
e3fd394a
VS
55452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5548 non-RS part to avoid RS messing with GDT.
5549 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5550 Increase to suit in realmode routines.
5551
55522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/kern/i386/realmode.S: Increase alignment.
5555 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5556
ee9c2e7a
VS
55572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5560 be deterministic.
5561 (syndroms): Compute 0 syndrom.
5562 (rs_recover): Use 0 syndrom.
5563
7a7f7cc9
VS
55642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5567
a14b16d1
VS
55682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5571 brackets.
5572
9f59e9fc
VS
55732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5574
ca1b552c
VS
5575 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5576 account.
5577 (get_top_pad): Likewise.
5578 (get_right_pad): Likewise.
5579 (get_bottom_pad): Likewise.
5580
55812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5584
e739d698
VS
55852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5588 attribute as the structure isn't guaranteed to be properly aligned.
5589 (grub_efi_pci_device_path): Likewise.
5590 (grub_efi_pccard_device_path): Likewise.
5591 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5592 specify the size of `memory_type'.
5593 (grub_efi_vendor_device_path): Likewise.
5594 (grub_efi_controller_device_path): Likewise.
5595 (grub_efi_acpi_device_path): Likewise.
5596 (grub_efi_expanded_acpi_device_path): Likewise.
5597 (grub_efi_atapi_device_path): Likewise.
5598 (grub_efi_scsi_device_path): Likewise.
5599 (grub_efi_fibre_channel_device_path): Likewise.
5600 (grub_efi_1394_device_path): Likewise.
5601 (grub_efi_usb_device_path): Likewise.
5602 (grub_efi_usb_class_device_path): Likewise.
5603 (grub_efi_i2o_device_path): Likewise.
5604 (grub_efi_mac_address_device_path): Likewise.
5605 (grub_efi_ipv4_device_path): Likewise.
5606 (grub_efi_ipv6_device_path): Likewise.
5607 (grub_efi_infiniband_device_path): Likewise.
5608 (grub_efi_uart_device_path): Likewise.
5609 (grub_efi_vendor_messaging_device_path): Likewise.
5610 (grub_efi_hard_drive_device_path): Likewise.
5611 (grub_efi_cdrom_device_path): Likewise.
5612 (grub_efi_vendor_media_device_path): Likewise.
5613 (grub_efi_file_path_device_path): Likewise.
5614 (grub_efi_protocol_device_path): Likewise.
5615 (grub_efi_piwg_device_path): Likewise.
5616 (grub_efi_bios_device_path): Likewise.
5617
cb8f88ea
VS
56182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5621 (grub_ucs4_to_utf8_alloc): Likewise.
5622 (grub_ucs4_to_utf8): Likewise.
5623 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5624 (grub_ucs4_to_utf8_alloc): Likewise.
5625
309e5352
VS
56262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 AFFS never uses unicode.
5629
5630 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5631 (grub_latin1_to_utf8): New inline function.
5632 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5633
e7987e1b
VS
56342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5637 overflow.
5638
efc2616e
VS
56392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5642 (grub_squash_dirent_header): Likewise.
5643 (read_chunk): Don't double swap.
5644 (grub_squash_iterate_dir): Fix swap sizes.
5645
3c349f5a
VS
56462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5649
b453412d
VS
56502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5653 (grub_hfs_iterate_dir): Likewise.
5654
12e9d4d1
VS
56552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Fix video on platforms where unaligned access is forbidden.
5658 Make several optimisations while on it.
5659
5660 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5661 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5662 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5663 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5664 Disable.
5665 (grub_video_fbblit_replace_16bit_1bit):
5666 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5667 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5668 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5669 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5670 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5671 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5672 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5673 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5674 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5675 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5676 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5677 (grub_video_fbblit_replace_index_RGB888): Likewise.
5678 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5679 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5680 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5681 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5682 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5683 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5684 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5685 Disable.
5686 (grub_video_fbblit_blend_XXX565_1bit):
5687 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5688 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5689 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5690 void *.
5691 * grub-core/video/fb/video_fb.c (common_blitter)
5692 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5693 (grub_video_fb_create_render_target_from_pointer)
5694 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5695 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5696 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5697 definition.
5698 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5699
ace96609
VS
57002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5703 HH22 and HM10 relocations.
5704
fd261d73
VS
57052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5708
e59b7857
VS
57092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5712 allocation succeeded.
5713
9b4baaa4
VS
57142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5717 argument a u8 pointer. All users updated.
5718 Handle unaligned buffers.
5719
dc713193
VS
57202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5723 add_part to workaround compiler bug.
5724
30dd48c2
VS
57252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5728
0c6087a8
VS
57292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5732 Reserve alignment invariants.
5733 (grub_multiboot_load): Likewise.
5734 (retrieve_video_parameters): Likewise.
5735 (grub_multiboot_make_mbi): Likewise.
5736
c2e77777
VS
57372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5740 incorrect pointer.
5741
b70b6d11
VS
57422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5745 (grub_pata_pio_write): Likewise.
5746
02a2bf83
VS
57472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 Add noreturn attributes and remove unreachable code.
5750
5751 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5752 code.
5753 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5754 code. Mark as noreturn.
5755 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5756 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5757 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5758 unreachable code.
5759 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5760 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5761 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5762 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5763 * include/grub/kernel.h (grub_main): Mark as noreturn.
5764 * include/grub/reader.h (grub_rescue_run): Likewise.
5765
2019d09e
VS
57662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5769 redundant declaration.
5770
d1c501ee
VS
57712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5774 redundant declaration.
5775 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5776
61664420
VS
57772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5780 to ensure alignment.
5781 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5782 alignment. Ensure tmp alignment.
5783 (grub_cmd_hdparm): Ensure buf alignment.
5784 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5785 to ensure alignment.
5786 (grub_ata_dumpinfo): Ensure text alignment.
5787 (grub_atapi_identify): Preserve alignment invariant.
5788 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5789
0d51ee20
VS
57902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5793 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5794 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5795 * include/grub/misc.h (grub_reboot)
5796 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5797 (grub_halt) [__mips__]: Likewise.
5798
753ef8c1
VS
57992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5802 Remove redundant declaration.
5803 (grub_mmap_get_post64): Likewise.
5804 (grub_mmap_get_upper): Likewise.
5805 (grub_mmap_get_lower): Likewise.
5806
85c85365
VS
58072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5810 uint32_t * to ensure alignment.
5811 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5812
a23f2cc4
VS
58132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5814
93018f64
VS
5815 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5816 uint16_t * to ensure alignment.
5817 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5818 alignment.
5819
58202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5823 to ensure alignment.
5824 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5825
58acccd6
VS
58262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5829 Handle unaligned pointers.
5830 (u32at): Likewise.
5831 (u64at): Likewise.
5832 (fixup): Use byte access instead of v16at.
5833 (find_attr): Fix imporper usage of v32at.
5834 (read_data): Likewise.
5835 (list_file): Handle byte-swapping and unaligned strings.
5836 (grub_ntfs_label): Likewise.
5837
9b05cad7
VS
58382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5841 as it's not necessarily aligned.
5842
b3950b84
VS
58432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5846 redundant declaration.
5847 (grub_serial_init): Likewise.
5848 (grub_terminfo_init): Likewise.
5849
fcd232b7
VS
58502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5853 function.
5854 (ZAP_HASH_IDX): Likewise.
5855 (ZAP_LEAF_HASH_SHIFT): Likewise.
5856 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5857 (LEAF_HASH): Likewise.
5858 (ZAP_LEAF_NUMCHUNKS): Likewise.
5859 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5860 alignment invariants. Return pointer. All users updated.
5861 (ZAP_LEAF_ENTRY): Make into inline function.
5862 (NBBY): Removed.
5863 (xor): LIkewise.
5864 (xor_out): Use grub_crypto_xor.
5865 (dnode_get_path): Use grub_get_unaligned.
5866 (nvlist_find_value): Likewise.
5867 (grub_zfs_nvlist_lookup_uint64): Likewise.
5868 (grub_zfs_nvlist_lookup_string): Likewise.
5869 (get_nvlist_size): Likewise.
5870 (grub_zfs_open): Likewise.
5871 (fill_fs_info): Likewise.
5872 (grub_zfs_dir): Likewise.
5873 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5874 alignment invariants.
5875 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5876 necessarily aligned.
5877
f138623a
VS
58782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5881
564840dc
VS
58822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5885 arithmetic to conserve alignment invariants.
5886
9b40df20
VS
58872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5890 redundant declaration.
5891 (grub_efiemu_mm_obtain_request): Likewise.
5892 (grub_efiemu_prepare): Likewise.
5893
d1c930f9
VS
58942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5897 to match types.
5898
4c5f3056
VS
58992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5902 case of aunaligned recptr.
5903 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5904 alignment.
5905 (grub_hfsplus_btree_search): Handle unaligned index.
5906
728cba91
VS
59072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5910 to get freetag and skip.
5911
eb561f31
VS
59122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5915 array.
5916 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5917 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5918
20993fbb
VS
59192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5922 name for checksum and fix allocation algorithm.
5923
1f313b94
VS
59242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * include/grub/types.h (grub_properly_aligned_t): New type.
5927 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5928 (grub_get_unaligned16): Add explicit casts.
5929 (grub_get_unaligned32): Likewise.
5930 (grub_get_unaligned64): Likewise.
5931 (grub_set_unaligned16): New function.
5932 (grub_set_unaligned32): Likewise.
5933
47ae27ec
VS
59342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5937
78c2cd1c
VS
59382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5941 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5942 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5943
53072f9b
VS
59442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5947 conditionals.
5948
055dc239
VS
59492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5952 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5953
496bd074
VS
59542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 Unify and improve RAID and crypto xor.
5957
5958 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5959 changed to grub_crypto_xor
5960 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5961 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5962 Use bigger types when possible.
5963
ef6e4335
VS
59642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/disk/raid.c (scan_devices): Fix condition.
5967
5d048bf2
VS
59682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5971 Make name a const ptr.
5972
ee533335
VS
59732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5976 first argument a const pointer.
5977 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5979 proto.
5980 (grub_children_iterate): Likewise.
5981 (grub_machine_mmap_iterate): Remove redundant declaration.
5982
cc8f3668
VS
59832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5986 (grub_cmd_acpi) [!x86]: Disable EBDA.
5987
c5fc563a
VS
59882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 Enable UTF8 in gnulib regexp.
5991
5992 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5993 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5994 (isupper): Use grub_isupper.
5995 (isascii): New inline function.
5996 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5997 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5998 * grub-core/normal/charset.c (grub_utf8_process): New function.
5999 (grub_utf8_to_utf16): Use grub_utf8_process.
6000 (grub_encode_utf8_character): New function.
6001 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6002 * include/grub/charset.h (grub_utf8_process): New declaration.
6003 (grub_encode_utf8_character): Likewise.
6004 * include/grub/misc.h (grub_islower): New inline function.
6005 (grub_isupper): Likewise.
6006 (grub_strchrsub): Moved down to fix the definitions.
6007
0af2346f
VS
60082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6011 specification.
6012
74dbd244
VS
60132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * include/grub/loader.h (grub_loader_register_preboot_hook):
6016 Use struct preboot * and not void * for handle. All users updated.
6017 (grub_loader_unregister_preboot_hook): Likewise.
6018
1bc8f60d
VS
60192011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6022 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6023 UTF-16-BE. All users updated.
6024 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6025 (grub_hfsplus_iterate_dir): Likewise.
6026 (grub_hfsplus_label): Likewise.
6027
48d6e456
VS
60282011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6031
bf3a3857
VS
60322011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Add missing const qualifiers.
6035
6036 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6037 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6038 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6039 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6040 (grub_lvm_check_flag): Likewise.
6041 * grub-core/efiemu/i386/coredetect.c
6042 (grub_efiemu_get_default_core_name): Likewise
6043 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6044 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6045 * grub-core/fs/ntfs.c (fixup): Likewise.
6046 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6047 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6048 (fzap_lookup): Likewise.
6049 (zap_lookup): Likewise.
6050 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6051 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6052 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6053 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6054 (grub_freebsd_add_meta_module): Likewise.
6055 (grub_cmd_freebsd_module): Likewise.
6056 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6057 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6058 (grub_xnu_writetree_get_size): Likewise.
6059 (grub_xnu_writetree_toheap_real): Likewise.
6060 (grub_xnu_find_key): Likewise.
6061 (grub_xnu_create_key): Likewise.
6062 (grub_xnu_create_value): Likewise.
6063 (grub_xnu_register_memory): Likewise.
6064 (grub_xnu_check_os_bundle_required): Likewise.
6065 (grub_xnu_scan_dir_for_kexts): Likewise.
6066 (grub_xnu_load_kext_from_dir): Likewise.
6067 * grub-core/normal/color.c (color_list): Likewise.
6068 * grub-core/normal/completion.c (current_word): Likewise.
6069 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6070 * grub-core/term/serial.c (grub_serial_find): Likewise.
6071 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6072 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6073 Likewise.
6074 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6075 (grub_freebsd_add_meta_module): Likewise.
6076 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6077 * include/grub/net.h (grub_net_card_driver): Likewise.
6078 (grub_net_card): Likewise.
6079 (grub_net_app_protocol): Likewise.
6080 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6081 * include/grub/serial.h (grub_serial_find): Likewise.
6082 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6083 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6084 (grub_xnu_create_value): Likewise.
6085 (grub_xnu_find_key): Likewise.
6086 (grub_xnu_scan_dir_for_kexts): Likewise.
6087 (grub_xnu_load_kext_from_dir): Likewise.
6088
6089 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6090 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6091 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6092 Moved from here ...
6093 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6094
112b4837
CW
60952011-11-28 Colin Watson <cjwatson@ubuntu.com>
6096
6097 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6098
49e891ac
VS
60992011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6102 (read_device): Fix size calculation.
6103
fd258e5c
RM
61042011-11-25 Robert Millan <rmh@gnu.org>
6105
6106 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6107 (find_root_device_from_libzfs): Add zpool output parser to be used
6108 as fallback when libzfs isn't available.
6109
78845dc2
SG
61102011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6111
6112 * po/Makefile.in.in: Add missing escape-continuation.
6113
adac5211
VS
61142011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6117
10b64f1c
VS
61182011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6121
bb416954
VS
61222011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6125
bdfe9eeb
VS
61262011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6129
581ffa8a
VS
61302011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/lib/adler32.c: Add missing license specification.
6133 * grub-core/lib/crc64.c: Likewise.
6134 * grub-core/loader/i386/pc/plan9.c: Likewise.
6135 * grub-core/partmap/plan.c: Likewise.
6136
2536cf64
LK
61372011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6138
6139 Add facility to debug GRUB with gdb under qemu.
6140
6141 * grub-core/gdb_grub.in: New file.
6142 * grub-core/gmodule.pl.in: Likewise.
6143 * grub-core/Makefile.core.def (gmodule.pl): New script.
6144 (gdb_grub): Likewise.
6145
bc108a4a
VS
61462011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * util/grub-mount.c (argp_parser): Accept relative pathes.
6149 * util/grub-fstest.c (argp_parser): Likewise.
6150
111c1778
VS
61512011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Plan9 support.
6154
6155 * Makefile.util.def (libgrubmods): Add
6156 grub-core/partmap/plan.c.
6157 * docs/grub.texi: Notice Plan9 support.
6158 * grub-core/Makefile.core.def (plan9): New module.
6159 (part_plan): Likewise.
6160 * grub-core/loader/i386/pc/plan9.c: New file.
6161 * grub-core/partmap/plan.c: Likewise.
6162 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6163 define.
6164 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6165 * include/grub/mm.h (grub_extend_alloc): New inline function.
6166
c30be3b6
VS
61672011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Make Reed-Solomon faster by using power of generator representation of
6170 GF(256)*.
6171
6172 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6173 (gf_double_t): Likewise.
6174 (gf_invert): Removed.
6175 (gf_powx): New array.
6176 (gf_powx_inv): Likewise.
6177 (scratch): Move higher.
6178 (gf_reduce): Removed.
6179 (gf_mul): Use powx.
6180 (gf_invert): Likewise.
6181 (init_inverts): Replaced with ...
6182 (init_powx): ...this. All users updated.
6183 (pol_evaluate): Replace multiplications with additions.
6184 (rs_encode): Likewise.
6185 (gauss_eliminate): Call gf_invert.
6186 (grub_reed_solomon_add_redundancy): Call init_powx.
6187 (grub_reed_solomon_recover): Call init_powx unconditionally.
6188
fa5aeffc
VS
61892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6192
a346b81c
VS
61932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6196 disk->partiton for safety.
6197
d89ee414
VS
61982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6201 Fix a memory leak.
6202 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6203
91ee7b6d
VS
62042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6207
91e5a33d
VS
62082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6211
9edd7be2
VS
62122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Fix spaces handling in proc/self/mountinfo.
6215
6216 * util/getroot.c (unescape): New function.
6217 (grub_find_root_device_from_mountinfo): Use unescape.
6218
ba102053
VS
62192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 Support ZFS embedding.
6222
6223 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6224 (grub_zfs_fs): Register grub_zfs_embed.
6225
aa94b870
VS
62262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Fix MIPS compilation.
6229
6230 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6231 * include/grub/offsets.h: Rename decompressor fields from
6232 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6233 * util/grub-mkimage.c (image_targets): Use new names.
6234
5fbdac14
VS
62352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Defer multiboot device parsing until we're in compressed part.
6238
6239 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6240 bsd_part. setdevice has fallen into disuse.
6241 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6242 (bsd_part): Likewise.
6243 (boot_dev): New variable.
6244 (multiboot_trampoline): Don't parse multiboot device.
6245 Pass multiboot device in %edx.
6246 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6247 grub_boot_device.
6248 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6249 Likewise.
6250 * grub-core/kern/i386/pc/startup.S: Save edx.
6251 (grub_boot_drive): Removed.
6252 (grub_install_dos_part): Likewise.
6253 (grub_install_bsd_part): Likewise.
6254 (grub_boot_device): New variable.
6255 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6256 (grub_install_bsd_part): Likewise.
6257 (grub_boot_drive): Likewise.
6258 (grub_boot_device): New variable.
6259 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6260 Removed.
6261 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6262 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6263 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6264 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6265 * util/grub-install.in: Remove redundant condition.
6266
691cbb58
VS
62672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Fix bug introduced by previous commit.
6270
6271 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6272
60240b8b
VS
62732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Use decompressors framework on i386-pc. It increases core size
6276 by 46 bytes but improves compatibility and maintainability.
6277
6278 * grub-core/Makefile.core.def (lzma_decompress): New image.
6279 (kernel): Add i386_pc_ldflags.
6280 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6281 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6282 to real_to_prot, prot_to_real and device info.
6283 * include/grub/offsets.h: Renamed decompressor offsets.
6284 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6285 (image_target_desc): Remove raw_size and rename decompressor fields.
6286 (compress_kernel): Handle lzma.
6287 (generate_image): Handle decompressors on i386-pc.
6288
e9d3421c
VS
62892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * configure.ac: Add -fno-asynchronous-unwind-tables.
6292
2b23074a
VS
62932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Move assembly code to C by using intwrap. It increases core size
6296 by 88 bytes but improves compatibility and maintainability.
6297
6298 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6299 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6300 ... here. Translated to C.
6301 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6302 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6303 ... here. Translated to C.
6304 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6305 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6306 ... here. Translated to C.
6307 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6308 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6309 ... here. Translated to C.
6310 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6311 * grub-core/term/i386/pc/console.c (grub_console_cls):
6312 ... here. Translated to C.
6313 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6314 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6315 ... here. Translated to C.
6316 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6317 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6318 Translated to C.
6319 * grub-core/term/i386/pc/console.c (int10_9): New function.
6320 (grub_console_putchar): Likewise.
6321 * include/grub/i386/pc/console.h: Removed the not anymore shared
6322 functions.
6323
678f4b67
VS
63242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Move grub_chainloader_real_boot out of the kernel.
6327
6328 * grub-core/Makefile.am: Remove machine/loader.h.
6329 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6330 Removed.
6331 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6332 variable.
6333 (grub_relocator16_keep_a20_enabled): Likewise.
6334 (grub_relocator16_boot): Fill new variables.
6335 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6336 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6337 relocator.
6338 (grub_chainloader_unload): Likewise.
6339 (grub_chainloader_cmd): Likewise.
6340 * include/grub/i386/pc/loader.h: Removed.
6341 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6342 and esi. All initialisers updated.
6343
4626edf6
VS
63442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
63452011-11-12 Colin Watson <cjwatson@ubuntu.com>
6346
6347 * Makefile.util.def (grub-mount): New util.
6348 * .bzrignore: Add grub-mount.
6349 * configure.ac: Check for fuse and enable grub-mount if available.
6350 * docs/man/grub-mount.h2m: New file.
6351 * util/grub-mount.c: Likewise.
6352
10f0117b
VS
63532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/commands/efi/fixvideo.c: Gettextize.
6356 * grub-core/commands/hashsum.c: Likewise.
6357 * grub-core/commands/i386/cmostest.c: Likewise.
6358 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6359 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6360 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6361 * grub-core/commands/lsmmap.c: Likewise.
6362 * grub-core/commands/menuentry.c: Likewise.
6363 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6364 * grub-core/commands/setpci.c: Likewise.
6365 * grub-core/loader/i386/bsd.c: Likewise.
6366 * grub-core/loader/i386/linux.c: Likewise.
6367 * util/getroot.c: Likewise.
6368 * util/grub-editenv.c: Likewise.
6369 * util/grub-fstest.c: Likewise.
6370 * util/grub-mkfont.c: Likewise.
6371 * util/grub-mkimage.c: Likewise.
6372 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6373 * util/grub-pe2elf.c: Likewise.
6374 * util/grub-probe.c: Likewise.
6375 * util/grub-setup.c: Likewise.
6376 * util/ieee1275/ofpath.c: Likewise.
6377 * util/misc.c: Likewise.
6378 * util/raid.c: Likewise.
6379
566f779b
RM
63802011-11-11 Robert Millan <rmh@gnu.org>
6381
6382 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6383 __attribute__((unused)) from `os_dev', which *is* being used.
6384
b50787de
VS
63852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6388 forgotten define.
6389 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6390 GRUB_IA64_DL_GOT_ALIGN.
6391 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6392 GRUB_IA64_DL_TRAMP_ALIGN.
6393
119d11c8
VS
63942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Replace grub_fatal with normal errors in i386 linux loader.
6397
6398 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6399 (allocate_pages): Check find_efi_mmap_size return value.
6400 (grub_e820_add_region): Return error.
6401 (grub_linux_boot): Check mmap return value.
6402
6e0632e2
VS
64032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/commands/acpihalt.c: Gettextized.
6406 * grub-core/commands/cacheinfo.c: Likewise.
6407 * grub-core/commands/cmp.c: Likewise.
6408 * grub-core/commands/efi/loadbios.c: Likewise.
6409 * grub-core/commands/gptsync.c: Likewise.
6410 * grub-core/commands/ieee1275/suspend.c: Likewise.
6411 * grub-core/commands/legacycfg.c: Likewise.
6412 * grub-core/commands/memrw.c: Likewise.
6413 * grub-core/commands/minicmd.c: Likewise.
6414 * grub-core/commands/parttool.c: Likewise.
6415 * grub-core/commands/time.c: Likewise.
6416 * grub-core/commands/videoinfo.c: Likewise.
6417 * grub-core/disk/geli.c: Likewise.
6418 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6419 * grub-core/disk/luks.c: Likewise.
6420 * grub-core/disk/lvm.c: Likewise.
6421 * grub-core/font/font_cmd.c: Likewise.
6422 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6423 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6424 * grub-core/gfxmenu/view.c: Likewise.
6425 * grub-core/kern/emu/hostdisk.c: Likewise.
6426 * grub-core/kern/emu/main.c: Likewise.
6427 * grub-core/kern/emu/misc.c: Likewise.
6428 * grub-core/kern/emu/mm.c: Likewise.
6429 * grub-core/kern/mips/arc/init.c: Likewise.
6430 * grub-core/kern/mips/loongson/init.c: Likewise.
6431 * grub-core/kern/partition.c: Likewise.
6432 * grub-core/lib/i386/halt.c: Likewise.
6433 * grub-core/lib/mips/arc/reboot.c: Likewise.
6434 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6435 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6436 * grub-core/loader/i386/xnu.c: Likewise.
6437 * grub-core/loader/multiboot.c: Likewise.
6438 * grub-core/net/bootp.c: Likewise.
6439 * grub-core/net/net.c: Likewise.
6440 * grub-core/normal/term.c: Likewise.
6441 * grub-core/partmap/bsdlabel.c: Likewise.
6442 * grub-core/parttool/msdospart.c: Likewise.
6443 * grub-core/term/gfxterm.c: Likewise.
6444 * grub-core/term/terminfo.c: Likewise.
6445 * grub-core/video/i386/pc/vbe.c: Likewise.
6446 * util/grub-menulst2cfg.c: Likewise.
6447 * util/grub-mkdevicemap.c: Likewise.
6448 * util/grub-mklayout.c: Likewise.
6449 * util/grub-mkrelpath.c: Likewise.
6450 * util/grub-script-check.c: Likewise.
6451 * util/ieee1275/grub-ofpathname.c: Likewise.
6452 * util/resolve.c: Likewise.
6453
073aa7a9
VS
64542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 Support %1$d syntax.
6457
6458 * tests/printf_unit_test.c: New file.
6459 * Makefile.util.def (printf_test): New test.
6460 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6461
c76b5417
VS
64622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6465 fix.
6466
df067ad1
VS
64672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6470 dprintf.
6471 * grub-core/font/font.c (grub_font_load): Likewise.
6472
5b289bc5
VS
64732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * util/grub-macho2img.c: Add comment concerning gettext.
6476 * grub-core/lib/legacy_parse.c: Likewise.
6477
c1860f87
VS
64782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6481 (grub_xvasprintf): Likewise.
6482
d35d0d37
VS
64832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 Add const keyword to grub_env_get and gettextize week days.
6486
6487 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6488 (grub_read_hook_datetime): Return const char *.
6489 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6490 updated.
6491 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6492 Mark for gettext.
6493 (grub_get_weekday_name): Return const char *. Call gettext.
6494 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6495 char * and len as the argument. All users updated.
6496 (grub_script_argv_split_append): Receive const char *.
6497 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6498 * include/grub/env.h (grub_env_get): Likewise.
6499 (grub_env_read_hook_t): Return const char *.
6500 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6501 (grub_script_argv_split_append): Likewise.
6502
9aed8a71
VS
65032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6506
067fdf00
VS
65072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6510 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6511
a8bd9d39
VS
65122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6515 Fix prototype.
6516
f7ce5baf
VS
65172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 Fix mips compilation.
6520
6521 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6522 normal decoder.
6523 (hashes): Use in embed decoder as well (for sizes).
6524 (dec_stream_header): Fix embed decompressor logic.
6525 (dec_stream_footer): Likewise.
6526
9bb182f3
VS
65272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6530 an error and not a fatal on unrecognised relocation types.
6531
63a9e6f6
VS
65322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6535 Issue error rather than printf on unknown arguments.
6536
4c458569
VS
65372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6540 Make buf a const.
6541
e2d22baf
VS
65422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6545 Fix module name.
6546
53dc8590
VS
65472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6550 leftover debug printf.
6551
6c189294
VS
65522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6555
f7688369
VS
65562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6559 A stylistic fix.
6560
11a775a3
VS
65612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6564
33f784e8
SL
65652011-11-10 Shea Levy <slevy@tieronedesign.com>
6566
6567 Allow all modules to perform serial IO
6568
6569 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6570 * include/grub/serial.h (grub_serial_port_configure): New inline
6571 function.
6572 (grub_serial_port_fetch): Likewise.
6573 (grub_serial_port_put): Likewise.
6574 (grub_serial_port_fini): Likewise.
6575 (grub_serial_find): New proto.
6576
f6276525
VS
65772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 Put symlink at the end of the node and fix a potential
6580 memory corruption.
6581
6582 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6583 Make symlink into an array.
6584 (set_rockridge): Set have_symlink and alloc_dirents.
6585 (grub_iso9660_read_symlink): Use new layout.
6586 (grub_iso9660_iterate_dir): Fix memory corruption.
6587 Use new layout.
6588 (grub_iso9660_dir): Set have_symlink.
6589 (grub_iso9660_open): Likewise.
6590
c3591189
VS
65912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Remove local keyword.
6594
6595 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6596 (version_test_gt): Likewise.
6597 (version_find_latest): Likewise.
6598 (gettext_printf): Likewise.
6599 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6600
cb544caa
VS
66012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6604
45bd824d
VS
66052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Fix ZFS memory and resource leaks.
6608
6609 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6610 All users updated.
6611 Free type on exit.
6612 (fill_vdev_info): New parameter inserted. All users updated.
6613 (check_pool_label): Likewise.
6614 (scan_disk): Likewise.
6615 (scan_devices): Close non-inserted disks.
6616 (fzap_iterate): Free l.
6617 (unmount_device): Free children descripto memory.
6618
ad9a2f44
VS
66192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6622 argument (access out of bounds).
6623
6b68db81
VS
66242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6627 >= 6 drives.
6628
28840fda
VS
66292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6632 Fix declaration.
6633
8a5a3a5b
VS
66342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 Fix several memory leaks.
6637
6638 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6639 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6640 (grub_cpio_dir): Likewise.
6641 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6642 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6643 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6644 (grub_romfs_label): Likewise.
6645 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6646 (squash_unmount): New function.
6647 (grub_squash_dir): Fix memory leak.
6648 (grub_squash_open): Likewise.
6649 (grub_squash_read): Likewise.
6650 (grub_squash_mtime): Likewise.
6651 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6652 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6653 * util/grub-fstest.c (fstest): Likewise.
6654
57b01250
VS
66552011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6658 avoid accessing beyond the array.
6659
19e81ba7
VS
66602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6663
52b656c0
VS
66642011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Several AFFS fixes.
6667
6668 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6669 (GRUB_AFFS_FLAG_FFS): Removed.
6670 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6671 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6672 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6673 (grub_fshelp_node): Make block 32-bit.
6674 Add block_cache and last_block_cache.
6675 (grub_affs_read_block): Fill and use block cache.
6676 (grub_affs_read_file): Removed.
6677 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6678 boot block.
6679 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6680 safety.
6681 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6682 space.
6683 (grub_affs_close): Free block cache.
6684 (grub_affs_read): Use grub_fshelp_read_file directly.
6685
438a746a
VS
66862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6689 with no error set.
6690
49a45021
VS
66912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6694 used variable.
6695 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6696 Likewise.
6697
3ae17eb8
VS
66982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6701
6702 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6703 byteswap when needed.
6704
27610c38
VS
67052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 Fix FreeBSD compilation.
6708
6709 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6710 to avoid circular dependency.
6711 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6712 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6713 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6714
4a19b601
VS
67152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Fix ZFS crypto error types.
6718
6719 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6720 (grub_gcm_decrypt): Likewise.
6721 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6722 from PBKDF2.
6723
958ee221
VS
67242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 Illumos support.
6727
6728 * Makefile.util.def (10_illumos): New script.
6729 * configure.ac: Set COND_HOST_ILLUMOS.
6730 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6731 Support Illumos calls.
6732 (find_partition_start) [__sun__]: Likewise.
6733 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6734 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6735 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6736 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6737 device.
6738 * util/grub-probe.c (probe) [__sun__]: Do character check.
6739 * util/grub.d/10_illumos.in: New file.
6740
cac14fb6
VS
67412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 Support escaped commas in hostdisk.
6744
6745 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6746 (find_grub_drive): Use unescape_cmp.
6747 (make_device_name): Escape commas.
6748
78e08dc3
VS
67492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6752
9f421dd1
VS
67532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6756 variable.
6757
ed64e9e2
VS
67582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 Support trampoline jumps on powerpc.
6761
6762 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6763 __ia64__ path.
6764 (grub_dl_load_segments): Set mod->sz.
6765 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6766 segments.
6767 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6768 (jump): Likewise.
6769 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6770 function.
6771 (trampoline): New struct.
6772 (trampoline_template): New const.
6773 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6774 * include/grub/dl.h (grub_dl): Add sz element.
6775 [__powerpc__]: Follow __ia64__.
6776 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6777 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6778 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6779 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6780
3084ede4
VS
67812011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 ZFS crypto support.
6784
6785 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6786 * grub-core/Makefile.core.def (zfscrypt): New module.
6787 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6788 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6789 it. All users updated.
6790 (grub_zfs_decrypt): New var.
6791 (grub_zfs_load_key): Likewise.
6792 (zio_checksum_functions): Add SHA256+MAC.
6793 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6794 (zio_read): Handle encrypted blocks.
6795 (zap_verify): Remove incorrect check.
6796 (fzap_iterate): Handle non-standard fzap.
6797 (zap_iterate): Likewise.
6798 (zap_iterate_u64): New function.
6799 (dnode_get_fullpath): Load keys.
6800 * grub-core/fs/zfs/zfscrypt.c: New file.
6801 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6802 (grub_crypto_ecb_encrypt): Make input const.
6803 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6804 (grub_crypto_ecb_encrypt): Make input const.
6805 (GRUB_CIPHER_AES): New macro.
6806 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6807 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6808 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6809 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6810 prefix. All users updated.
6811 (grub_zfs_add_key): New proto.
6812 (grub_zfs_decrypt): Likewise.
6813 (grub_zfs_load_key): Likewise.
6814 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6815 * util/grub-fstest.c (options): Add -K option.
6816 (argp_parser): Likewise.
6817
b632b404
VS
68182011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 Support zle compression on ZFS.
6821
6822 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6823 (decomp_table): Add zle.
6824 * include/grub/zfs/zio.h (zio_compress): Add zle.
6825
c7ba4f69
VS
68262011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Support BtrFS embedding.
6829
6830 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6831 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6832 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6833 * util/grub-setup.c (setup): Use fs embedding if available.
6834 Add additional sanity check.
6835
455377d9
VS
68362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * util/grub-install.in: Fix condition for config_opt.
6839
c2fd16ca
VS
68402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Support third redundancy strip on raidz3.
6843
6844 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6845 Return error on singularity. All users updated.
6846 (read_device): Don't stop on 3rd failure on raidz3.
6847
8622923b
VS
68482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Support case-insensitive ZFS subvolumes.
6851
6852 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6853 All users updated.
6854 (zap_hash): Likewise.
6855 (name_cmp): New function.
6856 (zap_leaf_array_equal): New parameter case_insensitive.
6857 All users updated.
6858 (zap_leaf_lookup): Likewise.
6859 (fzap_lookup): Likewise.
6860 (zap_lookup): Likewise.
6861 (dnode_get_path): New parameter case_insensitive. Retrieve case
6862 sensitiviness of a volume. All users updated.
6863 (dnode_get_fullpath): New parameter case_insensitive.
6864 All users updated.
6865 (grub_zfs_dir): Set info.case_insensitiveness.
6866
95f2e860
VS
68672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 Support second redundancy strip on raidz(2,3).
6870
6871 * grub-core/fs/zfs/zfs.c (powx): New array.
6872 (powx_inv): Likewise.
6873 (poly): New const.
6874 (xor_out): New function.
6875 (gf_mul): Likewise.
6876 (recovery): Likewise.
6877 (read_device): Use second redundancy strip.
6878
11ee4389
VS
68792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 Use a power of generator representation of GF(256) multiplication group
6882 to save space time and complexity.
6883
6884 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6885 (raid6_table2): Likewise.
6886 (powx): New array.
6887 (powx_inv): Likewise.
6888 (poly): New const.
6889 (grub_raid_block_mul): Replace with ...
6890 (grub_raid_block_mulx): ...this.
6891 (grub_raid6_init_table): Rewritten.
6892 (grub_raid6_recover): Use power of generator representation.
6893
09e2763f
VS
68942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6897 for the right device.
6898
8bec9a28
VS
68992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6902 expected by grub-mkimage and it's more clear since there is no implicit
6903 padding.
6904
dbd3a32e
VS
69052011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6908 disk.
6909 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6910
182c872a
PMH
69112011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6912
6913 * util/grub-mkrescue.in: Fix handling xorriso option.
6914
1e51cabd
VS
69152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6918 NULL.
6919
9cc3581d 69202011-11-03 crocket <crockabiscuit@gmail.com>
6921
6922 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6923
158dc1ea
VS
69242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 XZ CRC64 and SHA256 support.
6927
6928 * Makefile.util.def (libgrubmods): Add crc64.c.
6929 * grub-core/Makefile.core.def (crc64): New module.
6930 * grub-core/lib/crc64.c: New file.
6931 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6932 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6933 Fix the type.
6934 (MAX_HASH_SIZE): New define.
6935 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6936 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6937 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6938 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6939 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6940 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6941 Handle non-crc32 hashes.
6942 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6943 (dec_stream_header): Handle non-crc32 hashes.
6944 (dec_stream_footer): Likewise.
6945 (dec_block_header): Likewise.
6946 (dec_main): Likewise.
6947 (xz_dec_init): Likewise.
6948 (xz_dec_reset): Likewise.
6949 (xz_dec_end): Likewise.
6950 * util/import_gcry.py: Add CRC64 line.
6951
9d9b3d2f
VS
69522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6955 as well.
6956
7d0ac931
VS
69572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Make reiserfs label retrieval similar to other *_label functions.
6960
6961 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6962 (REISERFS_MAX_LABEL_LENGTH): Removed.
6963 (REISERFS_LABEL_OFFSET): Likewise.
6964 (grub_reiserfs_label): Rewritten.
6965
69662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6969 field.
6970
cf5ba824
VS
69712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6974
17744004
VS
69752011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6978 drive failure on both raidz and raidz2.
6979
aca5aefc
VS
69802011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Fix RAIDZ(2) for >= 5 devices.
6983
6984 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6985 asize argument. All users updated.
6986
ce8ca56e
VS
69872011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Fix RAIDZ(2).
6990
6991 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6992 (fill_vdev_info_real): Set ashift.
6993 (read_device): Rewrite RAIDZ part based on reverse engineering.
6994
7c01e783
VS
69952011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6998 don't report potentially unavialiable fields in debug output.
6999 (find_path): Fix double-free and memory leak.
7000
ce109e84
VS
70012011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Read label on UFS1.
7004
7005 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7006 (grub_ufs_fs): Always set .label.
7007
87661123
VS
70082011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Use shifts in UFS.
7011
7012 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7013 (grub_ufs_data): New field log2_blksz.
7014 (grub_ufs_read_file): Use shifts.
7015 (grub_ufs_mount): Check block size and logarithm it.
7016
46bc1dc2
VS
70172011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7020 long symlinks.
7021
19ee2987
VS
70222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Handle symlinks and long names on tar and cpio.
7025
7026 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7027 (ATTR_FILE): Likewise.
7028 (ATTR_DIR): Likewise.
7029 (ATTR_LNK): Likewise.
7030 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7031 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7032 L and K entries.
7033 (grub_cpio_mount): Zero-fill data.
7034 (handle_symlink): New function.
46bc1dc2
VS
7035 (grub_cpio_dir): Handle symlinks.
7036 (grub_cpio_open): Likewise.
7037 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7038
c83a08d8
VS
70392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Fix iso9660 filename limitations and fix memory leaks.
7042
7043 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7044 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7045
45cdd3ea
VS
70462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 Fix JFS file name length limitations.
7049
7050 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7051 (grub_jfs_diropen): Fix maximum filename length.
7052 (grub_jfs_getent): Fix filename length.
7053 (grub_jfs_lookup_symlink): Fix size checks.
7054
94ef05c2
VS
70552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7058 string.
7059
785ab8c7
VS
70602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7061
eb0b6b45
VS
7062 Leverage BFS implementation to read AFS.
7063
7064 * Makefile.util.def (libgrubmods): Add afs.c.
7065 * grub-core/Makefile.core.def (afs): New module
7066 * grub-core/fs/afs.c: New file.
7067 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7068
70692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7072
c4a1628f
VS
70732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/fs/bfs.c: Run indent.
7076
5825b379
VS
70772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 BFS implementation based on the specification.
7080
7081 * grub-core/fs/bfs.c: New file.
7082 * Makefile.util.def (libgrubmods): Add bfs.c.
7083 * grub-core/Makefile.core.def (bfs): New module.
7084
42b2a706
VS
70852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * util/grub-fstest.c (cmd_cp): Clarify error message.
7088 (cmd_cmp): Likewise.
7089
61b99bfc
YB
70902011-10-30 Yves Blusseau <blusseau@zetam.org>
7091
7092 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7093 and befs_be.
7094
faba3d16
VS
70952011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Remove afs and befs because of copyright problem.
7098
7099 * grub-core/fs/afs.c: Removed.
7100 * grub-core/fs/afs_be.c: Removed.
7101 * grub-core/fs/befs.c: Removed.
7102 * grub-core/fs/befs_be.c: Removed.
7103 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7104 * grub-core/Makefile.core.def (afs): Removed.
7105 (afs_be): Likewise.
7106 (befs): Likewise.
7107 (befs_be): Likewise.
7108
c39224b0
VS
71092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 Prefer rockridge over Joliet.
7112
7113 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7114 to ...
7115 (set_rockridge): ... here.
7116 (grub_iso9660_mount): Check rockridge on the primary label when
7117 discovering. Ignore Joliet if Rockridge is present.
7118
e551115a
VS
71192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 Use shifts in nilfs2.
7122
7123 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7124 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7125 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7126 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7127 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7128 (grub_nilfs2_entries_per_block): Replaced with ...
7129 (grub_nilfs2_log_entries_per_block_log): ... this.
7130 (grub_nilfs2_blocks_per_group): Replaced with ...
7131 (grub_nilfs2_blocks_per_group_log): ... this.
7132 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7133 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7134 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7135 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7136 (grub_nilfs2_palloc_entry_offset): Replaced ...
7137 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7138 (grub_nilfs2_dat_translate): Use shifts.
7139 (grub_nilfs2_read_inode): Likewise.
7140 (GRUB_MOD_INIT): Ensure that logs are correct.
7141
564dd58c
VS
71422011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 Use shifts in minix filesystem.
7145
7146 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7147 (GRUB_MINIX_ZONE2SECT): Likewise.
7148 (grub_minix_data): Replace block_size with log_block_size.
7149 (grub_minix_read_file): Use shifts.
7150 (grub_minix_mount): Check block size and take a logarithm.
7151
ed9ba06d
VS
71522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 Use shifts in squash4.
7155
7156 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7157 (squash_mount): Check block size and take logarithm.
7158 (direct_read): Use shifts.
7159
ad03fe76
VS
71602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Correct befs block counting logic.
7163
7164 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7165 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7166 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7167 (grub_afs_read_inode): Use block_shift.
7168 (RANGE_SHIFT): New definition.
7169 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7170 unexpected conditions, use shifts and appropriate types.
7171 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7172
6563f63d
VS
71732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * grub-core/disk/raid.c (scan_devices): Check partition.
7176 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7177
5b1ae25f
VS
71782011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Support BFS (befs) UUID.
7181
7182 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7183 (grub_afs_small_data_element_header): New struct.
7184 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7185 (grub_afs_read_attribute) [MODE_BFS]: New function.
7186 (grub_afs_iterate_dir): Allocate for complete inode.
7187 (grub_afs_mount): Likewise.
7188 (grub_afs_uuid) [MODE_BFS]: New function.
7189 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7190
f8d82408
VS
71912011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7194 (zfs_unmount): Fix memory leak.
7195
5773fb64
VS
71962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Support NTFS reparse points.
7199
7200 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7201 (symlink_descriptor): New struct.
7202 (grub_ntfs_read_symlink): New function.
7203 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7204 (grub_ntfs_open): Likewise.
7205
91c3fdde
VS
72062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7209
3be82e10
VS
72102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 fstest xnu_uuid subcommand.
7213
7214 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7215 grub-core/commands/xnu_uuid.c.
7216 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7217 (fstest): Handle xnu_uuid.
7218 (options): Document xnu_uuid.
7219 (argp_parser): Parse xnu_uuid.
7220
8e32442e
VS
72212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7224 -l argument. Add newline at the end if printing.
7225 (GRUB_MOD_INIT): Document -l.
7226
52a05075
VS
72272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7230
1869edb5
VS
72312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 ZFS multi-device and version 33 support.
7234
7235 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7236 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7237 (grub_zfs_data): Add multidev-ice-related fields.
7238 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7239 (dva_get_offset): Make dva const.
7240 (zfs_fetch_nvlist): New function.
7241 (fill_vdev_info_real): Likewise.
7242 (fill_vdev_info): Likewise.
7243 (check_pool_label): Likewise.
7244 (scan_disk): Likewise.
7245 (scan_devices): Likewise.
7246 (read_device): Likewise.
7247 (read_dva): Likewise.
7248 (zio_read_gang): Use read_dva.
7249 (zio_read_data): Likewise.
7250 (zap_leaf_lookup): Add missing endian conversion.
7251 (zap_verify): Add missing endian conversion. All users updated.
7252 (fzap_lookup): Likewise.
7253 (fzap_iterate): Likewise.
7254 (dnode_get_path): Handle SA bonus.
7255 (nvlist_find_value): Make input const. All users updated.
7256 (unmount_device): New function.
7257 (zfs_unmount): Use unmount_device.
7258 (zfs_mount): Use scan_disk.
7259 (zfs_mtime): New function.
7260 (grub_zfs_open): Handle system attributes.
7261 (fill_fs_info): Likewise.
7262 (grub_zfs_dir): Likewise.
7263 (grub_zfs_fs): Add mtime.
7264 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7265 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7266 (SA_MTIME_OFFSET): Likewise.
7267 (SA_SYMLINK_OFFSET): Likewise.
7268 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7269 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7270 (fstest): Support zfsinfo.
7271 (argp_parser): Likewise.
7272
186b4028
VS
72732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7276 error.
7277
72782011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7279
7280 ZFS fixes.
7281
7282 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7283 sharing the same block. Iterate over correct number of indices.
7284 (dnode_get_path): Handle symlinks correctly.
7285
c0584900
VS
72862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7289
67e2bd71
VS
72902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Read label on HFS+.
7293
7294 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7295 (grub_hfsplus_btree_search): Fix types.
7296 (grub_hfsplus_label): Implement.
7297
e9cc6b7b
VS
72982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7301
19832ddb
VS
73022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7305
66b40850
VS
73062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 Fix symlink handling on iso9660.
7309
7310 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7311 All users updated.
7312 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7313 (grub_iso9660_read_symlink): Moved most of code ...
7314 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7315
db821363
VS
73162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7319 Use union to avoid breaking strict-aliasing rules.
7320
e1211949
VS
73212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Support multi-extent iso files.
7324
7325 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7326 Add node.
7327 (grub_fshelp_node): Revamp. All users updated.
7328 (FLAG_*): New enum.
7329 (read_node): New function.
7330 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7331 All users updated.
7332 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7333 (get_node_size): New function.
7334 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7335 entries.
7336 Fix memory leak on . and ..
7337 (grub_iso9660_read): Use read_node.
7338 (grub_iso9660_close): Free node.
7339
d4888031
VS
73402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Fix tar 4G limit and handle paths containing dot.
7343
7344 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7345 (canonicalize): New function.
7346 (grub_cpio_find_file): Use canonicalize. Store offs in
7347 grub_disk_addr_t.
7348 (grub_cpio_dir): Use grub_disk_addr_t.
7349 (grub_cpio_open): Likewise.
7350
9f12e664
VS
73512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7354
7355 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7356 unused flags.
7357 (grub_squash_inode): Add long_file and block_size.
7358 (grub_squash_cache_inode): New struct.
7359 (grub_squash_dirent): Make types into enum.
7360 (SQUASH_TYPE_LONG_REGULAR): New type.
7361 (grub_squash_frag_desc): Add field size.
7362 (SQUASH_BLOCK_FLAGS): New enum.
7363 (grub_squash_data): Use grub_squash_cache_inode.
7364 (grub_fshelp_node): Make ino_chunk 64-bit.
7365 (read_chunk): Minor argument change. All users updated.
7366 (squash_mount): Use correct le_to_cpu.
7367 (grub_squash_open): Handle LONG_REGULAR.
7368 (direct_read): New function.
7369 (grub_squash_read_data): Handle blocks correctly.
7370
9f326fba
VS
73712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7374
f4d9b64b
VS
73752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7378
5bbd28b8
VS
73792011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 Fix 2G limit on ZFS.
7382
7383 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7384 types.
7385 (uberblock_verify): Likewise.
7386 (dmu_read): Likewise.
7387 (grub_zfs_read): Likewise. Remove invalid cast.
7388
68c72069
VS
73892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7392 (grub_jfs_blkno): Fix incorrect shift.
7393 (grub_jfs_read_file): Use more appropriate types.
7394
6e536dc8
VS
73952011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Support triple indirect on minix2 and minix3.
7398
7399 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7400 Declare triple_indir_zone.
7401 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7402 indirect.
7403
e0864e7a
VS
74042011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 Minix FS fixes.
7407
7408 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7409 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7410 Rename ctime to mtime. All users updated.
7411 (grub_minix_get_file_block): Fix types and double indirect computations.
7412
89481cab
VS
74132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7416 if no label is found.
7417 (grub_fat_iterate_dir): Fix file size type.
7418 (grub_fat_iterate_dir): Likewise.
7419
f646e143
VS
74202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7423 save some space.
7424 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7425 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7426
534d769e
VS
74272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7430
e084ba18
VS
74312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * util/import_gcry.py: Accept space between # and include.
7434
3471ecdf
VS
74352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7438
124df5f6
VS
74392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7442
7443 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7444 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7445 yylex_strncpy.
7446 * grub-core/script/yylex.l: Add fine-grained #pragma.
7447
4defb8d5
VS
74482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7451 New inline function.
7452 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7453 Likewise.
7454 (memset) [GRUB_UTIL]: Likewise.
7455 (memcmp) [GRUB_UTIL]: Likewise.
7456
4e94ae65
VS
74572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7460 inline function rather than a define.
7461
18c575e5
VS
74622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * util/grub-setup.c: Add missing include.
7465
f8bc22a8
VS
74662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * util/ieee1275/grub-ofpathname.c: Add missing include.
7469
3ce69fc9
VS
74702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7473 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7474 Likewise.
7475
d1e293bb
VS
74762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7479 grub_memcmp usage.
7480
7a5c54a4
VS
74812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * util/grub-install.in: Add datarootdir as per automake manual
7484 suggestion.
7485 * util/grub-mknetdir.in: Likewise.
7486
74872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7488
7489 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7490 suggestion.
7491 * util/grub.d/10_kfreebsd.in: Likewise.
7492 * util/grub.d/10_linux.in: Likewise.
7493 * util/grub.d/10_netbsd.in: Likewise.
7494 * util/grub.d/10_windows.in: Likewise.
7495 * util/grub.d/20_linux_xen.in: Likewise.
7496
766f7d08
VS
74972011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 Remove redundant grub_kernel_image_size.
7500
7501 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7502 _edata and _start.
7503 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7504 the small code. It moves it only by few bytes but simplifies the code.
7505 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7506 _start.
7507 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7508 (grub_kernel_image_size): Removed.
7509 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7510 (grub_kernel_image_size): Removed.
7511 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7512 compiled with Apple toolchain.
7513 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7514 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7515 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7516 (grub_total_module_size): Likewise.
7517 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7518 Removed.
7519 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7520 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7521 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7522 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7523 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7524 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7525 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7526 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7527 Removed.
7528 (grub_total_module_size): Removed.
7529 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7530 (image_targets): Likewise.
7531 Set .compressed_size to no field on sparc.
7532 (generate_image): Remove kernel_image_size handling.
7533
fcf1d672
SJ
75342011-10-19 Szymon Janc <szymon@janc.net.pl>
7535
7536 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7537 NULL pointer dereference.
7538
de9c615e
VS
75392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7542 done with a dedicated section.
7543
7544 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7545 Ensure the correct position of boot_path.
7546 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7547 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7548 other fields.
7549 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7550 * include/grub/boot.h: Removed. All references removed.
7551 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7552 Removed.
7553 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7554
e55599dc
VS
75552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7558 name.
7559
36dd20ad
VS
75602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7563
f8f72eb8
VS
75642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7567 Don't add the bogus brackets.
7568
a374751b
VS
75692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 ExFAT support.
7572
7573 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7574 * grub-core/Makefile.core.def (exfat): New module.
7575 * grub-core/fs/exfat.c: New file.
7576 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7577 (GRUB_FAT_ATTR_*): Make into an enum.
7578 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7579 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7580 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7581 (GRUB_FAT_MAXFILE): Removed.
7582 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7583 (grub_current_fat_bpb_t): New type.
7584 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7585 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7586 (grub_fat_dir_node_t): New type.
7587 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7588 (fat_log2) [MODE_EXFAT]: Removed.
7589 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7590 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7591 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7592 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7593 (grub_fat_label) [MODE_EXFAT]: New function.
7594 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7595 reserved_first_sector to 0.
7596
544c2487
VS
75972011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Move grub_reboot out of the kernel.
7600
7601 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7602 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7603 * grub-core/lib/efi/reboot.c: ... here.
7604 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7605 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7606 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7607 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7608 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7609 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7610 * grub-core/lib/ieee1275/reboot.c: ... here.
7611 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7612 * grub-core/lib/mips/arc/reboot.c: ... here.
7613 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7614 * grub-core/lib/mips/loongson/reboot.c: ...here.
7615 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7616 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7617 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7618 * include/grub/i386/reboot.h: New file.
7619 * include/grub/mips/loongson/ec.h: Fix includes.
7620 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7621 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7622 * grub-core/lib/i386/reboot.c: New file.
7623
a97501d2
VS
76242011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Make grub_prefix into module to fix the arbitrary limit and save
7627 some space.
7628
7629 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7630 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7631 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7632 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7633 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7634 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7635 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7636 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7637 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7638 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7639 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7640 * include/grub/ia64/efi/kernel.h: Removed.
7641 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7642 (grub_prefix): Removed.
7643 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7644 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7645 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7646 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7647 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7648 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7649 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7650 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7651 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7652 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7653 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7654 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7655 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7656 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7657 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7658 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7659 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7660 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7661 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7662 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7663 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7664 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7665 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7666 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7667 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7668 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7669 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7670 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7671 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7672 from module.
7673 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7674 prefix_end.
7675 (image_targets): Likewise.
7676 (generate_image): Put prefix as a module.
7677
39705fad
VS
76782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Replace grub_module_iterate with FOR_MODULES.
7681
7682 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7683 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7684 (grub_efi_modules_addr): ...this.
7685 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7686 (grub_efi_init): Set grub_modbase.
7687 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7688 (grub_modbase): New variable.
7689 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7690 (grub_modbase): New variable.
7691 (grub_machine_init): Set grub_modbase.
7692 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7693 (grub_modbase): New variable.
7694 (grub_machine_init): Set grub_modbase.
7695 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7696 (grub_modbase): New variable.
7697 (grub_machine_init): Set grub_modbase.
7698 * grub-core/kern/main.c (grub_module_iterate): Remove.
7699 (grub_modules_get_end): Use grub_modbase.
7700 (grub_load_modules): Use FOR_MODULES.
7701 (grub_load_config): Likewise.
7702 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7703 (grub_modbase): New variable.
7704 (grub_machine_init): Set grub_modbase.
7705 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7706 (grub_modbase): New variable.
7707 (grub_machine_init): Set grub_modbase.
7708 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7709 Removed.
7710 (grub_modbase): New variable.
7711 (grub_machine_init): Set grub_modbase.
7712 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7713 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7714 (grub_module_iterate): Likewise.
7715 (grub_modbase): New variable declaration.
7716 (FOR_MODULES): New macro.
7717
2afb7f6c
VS
77182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7721 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7722
366e34fa
VS
77232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 Fix few obvious type discrepancies.
7726
7727 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7728 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7729 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7730 variable.
7731 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7732 and connected types.
7733 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7734 offset.
7735 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7736 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7737 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7738 and connected types.
7739
177b960e
VS
77402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Fix python 3.x incompatibilities.
7743
7744 * gentpl.py: Put brackets around print strings.
7745 * util/import_gcry.py: Open explicitly as utf-8.
7746 Use in instead of has_key.
7747
3b619ae1
VS
77482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7751 (GRUB_XFS_INO_AGBITS): Make into inline function.
7752 (GRUB_XFS_INO_INOINAG): Likewise.
7753 (GRUB_XFS_INO_AG): Likewise.
7754 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7755 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7756 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7757 (GRUB_XFS_EXTENT_SIZE): Likewise.
7758 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7759 (GRUB_XFS_NEXT_DIRENT): Likewise.
7760 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7761 (grub_xfs_read_file): Fix offset type.
7762
8bcebcb8
RM
77632011-10-15 Robert Millan <rmh@gnu.org>
7764
7765 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7766
0017e5ef
RM
77672011-10-15 Robert Millan <rmh@gnu.org>
7768
7769 Fix build problem on FreeBSD and GNU/kFreeBSD.
7770
7771 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7772
d8919552
VS
77732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7776
7777 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7778 types.
7779 (grub_hfsplus_btree_recoffset): Likewise.
7780 (grub_hfsplus_btree_recptr): Likewise.
7781 (grub_hfsplus_find_block): Likewise.
7782 (grub_hfsplus_btree_search): Likewise.
7783 (grub_hfsplus_read_block): Likewise.
7784 (grub_hfsplus_read_file): Likewise.
7785 (grub_hfsplus_mount): Likewise.
7786 (grub_hfsplus_btree_iterate_node): Likewise.
7787 (grub_hfsplus_btree_search): Likewise.
7788 (grub_hfsplus_iterate_dir): Likewise.
7789 (grub_hfsplus_read): A small code simplification.
7790
c81296b6
VS
77912011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/kern/emu/hostdisk.c
7794 (convert_system_partition_to_system_disk): Don't assume that children
7795 of mapper nodes are mapper nodes.
7796
0eb8ffb1
VS
77972011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7800 * include/grub/misc.h (grub_isxdigit): New function.
7801 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7802 switched to grub_isxdigit.
7803 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7804 number starting with a letter.
7805
a98f4a08
RM
78062011-10-09 Robert Millan <rmh@gnu.org>
7807
7808 LVM support for FreeBSD and GNU/kFreeBSD.
7809
7810 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7811 GNU/kFreeBSD.
7812 (LVM_DEV_MAPPER_STRING): Move from here ...
7813 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7814 * util/getroot.c: Include `<grub/util/lvm.h>'.
7815 (grub_util_get_dev_abstraction): Enable
7816 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7817 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7818 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7819 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7820 support it.
7821 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7822 GNU/kFreeBSD.
7823 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7824 when LVM abstraction is required for ${GRUB_DEVICE}.
7825
050e8e90
SJ
78262011-10-06 Szymon Janc <szymon@janc.net.pl>
7827
7828 Add support for LZO compression in GRUB:
7829 - import of minilzo library,
7830 - LZO decompression for btrfs,
7831 - lzop files decompression.
7832
7833 * grub-core/io/lzopio.c: New file.
7834 * grub-core/lib/adler32.c: Likewise.
7835 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7836 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7837 * grub-core/lib/minilzo/minilzo.c: Likewise.
7838 * grub-core/lib/minilzo/minilzo.h: Likewise.
7839 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7840 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7841 grub-core/lib/minilzo/minilzo.c to common.
7842 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7843 cflags in cppflags.
7844 * grub-core/Makefile.core.def (btrfs): Likewise.
7845 * grub-core/Makefile.core.def (lzopio): New module.
7846 (adler32): Likewise.
7847 * grub-core/fs/btrfs.c: Include minilzo.h.
7848 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7849 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7850 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7851 (grub_btrfs_lzo_decompress): New function.
7852 (grub_btrfs_extent_read): Add support for LZO compression type.
7853 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7854 (GRUB_USHRT_MAX): Likewise.
7855 (GRUB_UINT_MAX): Likewise.
7856 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7857 (UINT_MAX): Likewise.
7858 (CHAR_BIT): Likewise.
7859 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7860 grub-core/lib/posix_wrap/limits.h
7861 (UCHAR_MAX): Likewise.
7862 * include/grub/file.h (grub_file_filter_id): New compression filter
7863 GRUB_FILE_FILTER_LZOPIO.
7864 * include/grub/file.h (grub_file_filter_id): Set
7865 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7866 * include/grub/types.h (grub_get_unaligned16): New function.
7867 (grub_get_unaligned32): Likewise.
7868 (grub_get_unaligned64): Likewise.
7869 * util/import_gcry.py (cryptolist): Add adler32.
7870
0eb8ffb1
VS
78712011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7874 in perspective decreases the complexity of build system and fixes
7875 compilation right now.
7876
ce79cc99 78772011-10-01 Ales Nesrsta <starous@volny.cz>
7878
7879 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7880 (fixed problem related to using UHCI with coreboot).
7881
8667a314
BC
78822011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7883
7884 * gentpl.py: Use Autogen macros so that the output template file
7885 (Makefile.tpl) size is reduced.
7886
fc5efcc0
MK
78872011-09-29 Mads Kiilerich <mads@kiilerich.com>
7888
7889 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7890 extra_dist.
7891
d1ab689d
ML
78922011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7893
7894 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7895 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7896
c05de032
ML
78972011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7898
7899 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7900 _fullpath.
7901
cca7ccd8
ML
79022011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7903
7904 Remove extra declaration of sleep for mingw32.
7905
7906 * util/misc.c (sleep) [__MINGW32__]: Removed.
7907 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7908
e0b0dc83
GS
79092011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7910
7911 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7912 type and packname.
7913 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7914 Resurrected.
7915 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7916 (grub_netbsd_btinfo_bootwedge): New struct.
7917 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7918 New function.
7919 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7920
91a1a164
TH
79212011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7922
7923 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7924 loader.
7925
2ded951e
AB
79262011-09-28 Andreas Born <futur.andy@googlemail.com>
7927
7928 Fix incorrect identifiers in bash-completion.
7929
7930 * util/bash-completion.d/grub-completion.bash.in
7931 (_grub_mkpasswd-pbkdf2): Rename to ...
7932 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7933 (_grub_script-check): Rename to ...
7934 (_grub_script_check): ... this. All users updated.
7935
69915030
VS
79362011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7939 Return 0 if disk isn't biosdisk.
7940
20fd15f9
GS
79412011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7942
7943 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7944 on NetBSD.
7945 * Makefile.util.def (grub-fstest): Likewise.
7946
1a7d7db9
GS
79472011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7948
7949 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7950 Get sector size from disk label.
7951
2221ab6c
CW
79522011-09-05 Colin Watson <cjwatson@ubuntu.com>
7953
7954 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7955 */README* as well as README*.
7956 Reported by: Axel Beckert.
7957
ca51c4a0
VS
79582011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7961 case of less than 256 MiB of RAM.
7962
ab80f326
VS
79632011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/commands/wildcard.c (make_regex): Handle @.
7966
4155e697
VS
79672011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7970
ab178c08
SJ
79712011-08-21 Szymon Janc <szymon@janc.net.pl>
7972
7973 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7974 AC_LANG_CONFTEST macros.
7975
7dc3c686
SJ
79762011-08-20 Szymon Janc <szymon@janc.net.pl>
7977
7978 Add grub-fstest option to uncompress data for commands.
7979
7980 * util/grub-fstest.c (uncompress): New var.
7981 (options): New option -u.
7982
fe8d4a7b
SJ
79832011-08-20 Szymon Janc <szymon@janc.net.pl>
7984
7985 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7986 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7987
a5219af1
SJ
79882011-08-20 Szymon Janc <szymon@janc.net.pl>
7989
7990 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7991 file type was not recognized correctly (not gzip or corrupted).
7992
f87abff5
VS
79932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7996 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7997
d94497ea
VS
79982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8001 loongson.
8002 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8003 video_radeon_fuloong2e.
8004 * grub-core/video/radeon_fuloong2e.c: New file.
8005 * include/grub/video.h (grub_video_id_t): Add new ID
8006 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8007
0d1fd011
VS
80082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8011 define.
8012 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8013 that PRID matches the detected subplatform and reset the subplatform
8014 if it doesn't.
8015
84beb0ee
VS
80162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8019
1227c133
VS
80202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 Fix PCI iterating on functions >= 4.
8023
8024 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8025 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8026 Removed.
8027 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8028 (grub_pci_read): Fix bitmask.
8029 (grub_pci_read_word): Likewise.
8030 (grub_pci_read_byte): Likewise.
8031 (grub_pci_write): Likewise.
8032 (grub_pci_write_word): Likewise.
8033 (grub_pci_write_byte): Likewise.
8034
9594c689
VS
80352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8038 can still be specified in TARGET_CFLAGS)
8039
14a2562c
VS
80402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8043
8044 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8045 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8046 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8047 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8048 (FULOONG): Rename to ...
8049 (FULOONG2F): ... this. All users updated.
8050 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8051 (machtype_fuloong2f_str): ... this.
8052 (machtype_fuloong2e_str): New string.
8053 Check for machtype_fuloong2e_str.
8054 * grub-core/loader/mips/linux.c (loongson_machtypes)
8055 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8056 * grub-core/term/serial.c (loongson_defserial)
8057 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8058 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8059 loongson_defserial.
8060 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8061 Rename to ...
8062 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8063 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8064 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8065 to IMAGE_FULOONG2F_FLASH. All users updated.
8066 (image_targets): Rename images.
8067 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8068
b526cbb6
SJ
80692011-08-19 Szymon Janc <szymon@janc.net.pl>
8070
8071 Make enable of disk cache statistics code configurable.
8072
8073 * configure.ac: --enable-cache-stats added.
8074 * config.h.in (DISK_CACHE_STATS): New define.
8075 * grub-core/Makefile.core.def (cacheinfo): New command.
8076 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8077 * grub-core/commands/cacheinfo.c: New file.
8078 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8079 moved to cacheinfo.c.
8080 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8081 debug code.
8082 * include/grub/disk.h: Likewise.
8083
fb739ccd
SJ
80842011-08-19 Szymon Janc <szymon@janc.net.pl>
8085
8086 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8087 * grub-core/Makefile.am: Likewise.
8088
2bba8cfd
VS
80892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8092 non-zero pull.
8093
43526629
VS
80942011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8097 All users updated.
8098 (grub_jfs_lookup_symlink): Use correct starting inode.
8099
5c144cc8
VS
81002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * util/grub-setup.c (main): Add missing gcry initialisation.
8103
b1257f65
VS
81042011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 Don't accept text modes on EFI when booting Linux.
8107
8108 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8109 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8110
828bc390
ML
81112011-08-15 Mario Limonciello <mario_limonciello@dell.com>
81122011-08-15 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8115 use of "/path/.." as in grub-install for EFI as well as handling
8116 symlinks correctly.
8117 Fixes Debian bug #637768.
8118
5f60ccac
CW
81192011-08-15 Colin Watson <cjwatson@ubuntu.com>
8120
8121 * util/grub-probe.c: Remove duplicate #include.
8122
6dc212f9
RM
81232011-08-10 Robert Millan <rmh@gnu.org>
8124
8125 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8126
8127 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8128 function.
8129 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8130 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8131
66816d85
RM
81322011-08-03 Robert Millan <rmh@gnu.org>
8133
8134 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8135 la_array as packed.
8136 Reported by: Zachary Bedell
8137
20168fca
CW
81382011-07-26 Colin Watson <cjwatson@ubuntu.com>
8139
8140 * configure.ac: The Loongson port requires grub-mkfont due to its
8141 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8142 be built.
8143
303b6246
CW
81442011-07-26 Colin Watson <cjwatson@ubuntu.com>
8145
8146 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8147 processing arguments (otherwise help2man fails when GRUB has not yet
8148 been installed).
8149
6795300e
VS
81502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8151
41aa28ea
VS
8152 New script grub-mkstandalone.
8153
8154 * Makefile.util.def (grub-mkstandalone): New script.
8155 * docs/man/grub-mkstandalone.h2m: New file.
8156 * util/grub-mkstandalone.in: Likewise.
8157
81582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 Support ATA disks with 4K sectors.
6795300e
VS
8161
8162 * include/grub/ata.h (grub_ata): New member log_sector_size.
8163 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8164 (grub_ata_identify): Read sector size.
8165 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8166
92227597
VS
81672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * util/grub-install.in: Don't use uhci outside of x86.
8170
c77069f5
VS
81712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * util/grub-mkrescue.in: Add missing quotes.
8174
81752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8176
8177 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8178 dereference.
8179
583168a2
VS
81802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8183
6be1c01f
VS
81842011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * include/grub/video.h: add missing EXPORT_FUND on
8187 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8188
a1167439
VS
81892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * include/grub/mips/kernel.h: Fix define conflict.
8192
bf66054f
VS
81932011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8196 all four ways.
8197
8fc4fa45
CW
81982011-07-21 Colin Watson <cjwatson@ubuntu.com>
8199
8200 Preferred resolution detection for VBE.
8201
8202 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8203 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8204 the Flat Panel extension, in line with the X.org VESA driver.
8205 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8206 New function.
8207 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8208 (grub_vbe_bios_read_edid): Likewise.
8209 (grub_vbe_get_preferred_mode): Likewise.
8210 (grub_video_vbe_setup): When the mode is "auto", try to get the
8211 preferred mode from VBE, and use the largest mode that is no larger
8212 than the preferred mode (some BIOSes expose a preferred mode that is
8213 not in their mode list!). If this fails, fall back to 640x480 as a
8214 safe conservative choice.
8215 (grub_video_vbe_get_edid): New function.
8216 (grub_video_vbe_adapter): Add get_edid.
8217 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8218 (struct grub_video_adapter): Add get_edid.
8219 (grub_video_edid_checksum): Add prototype.
8220 (grub_video_edid_preferred_mode): Likewise.
8221 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8222 structure.
8223
8224 * grub-core/commands/videoinfo.c (print_edid): New function.
8225 (grub_cmd_videoinfo): Print EDID if available.
8226
8227 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8228 is more appropriate on a wider range of platforms than 640x480.
8229 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8230 documentation.
8231
ca5572a9
VS
82322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8235
e4bcf625
VS
82362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * po/POTFILES.in: Regenerate.
8239
c4edd548
VS
82402011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8243 incorrect memory usage.
8244
16a2bab0
VS
82452011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * util/grub-install.in: Source grub-mkconfig_lib.
8248
2e418de6
VS
82492011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 Remove getroot.c from core on emu platform.
8252
8253 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8254 kern/emu/raid.c.
8255 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8256 useless.
8257 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8258 * util/getroot.c (get_win32_path): ... here.
8259 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8260 * util/getroot.c (fini_libzfs): ... here.
8261 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8262 * util/getroot.c (grub_get_libzfs_handle): ... here.
8263 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8264 Moved from here...
8265 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8266 * grub-core/kern/emu/misc.c
8267 (grub_make_system_path_relative_to_its_root): Moved from here...
8268 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8269 * grub-core/kern/emu/getroot.c: Moved from here ...
8270 * util/getroot.c: ... here. All users updated.
8271 * grub-core/kern/emu/raid.c: Moved from here ...
8272 * util/raid.c: ... here. All users updated.
8273
def9832a
VS
82742011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * po/POTFILES.in: Regenerate.
8277
cd8fe79a
VS
82782011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Fix compilation on GNU/Linux.
8281
8282 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8283 Disable geli.
8284 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8285 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8286 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8287
a251b719
VS
82882011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
82892011-07-07 Michael Gorven <michael@gorven.za.net>
82902011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8291
8292 LUKS and GELI support.
8293
8294 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8295 grub-core/disk/luks.c, grub-core/disk/geli.c,
8296 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8297 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8298 grub-core/lib/arg.c.
8299 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8300 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8301 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8302 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8303 (grub-bin2h): Add libgcry.a.
8304 (grub-mkimage): Likewise.
8305 (grub-mkrelpath): Likewise.
8306 (grub-script-check): Likewise.
8307 (grub-editenv): Likewise.
8308 (grub-mkpasswd-pbkdf2): Likewise.
8309 (grub-pe2elf): Likewise.
8310 (grub-fstest): Likewise.
8311 (grub-mkfont): Likewise.
8312 (grub-mkdevicemap): Likewise.
8313 (grub-probe): Likewise.
8314 (grub-ofpath): Likewise.
8315 (grub-mklayout): Likewise.
8316 (example_unit_test): Likewise.
8317 (grub-menulst2cfg): Likewise.
8318 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8319 * grub-core/Makefile.core.def (cryptodisk): New module.
8320 (luks): Likewise.
8321 (geli): Likewise.
8322 * grub-core/disk/AFSplitter.c: New file.
8323 * grub-core/disk/cryptodisk.c: Likewise.
8324 * grub-core/disk/geli.c: Likewise.
8325 * grub-core/disk/luks.c: Likewise.
8326 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8327 grub_util_is_lvm.
8328 (grub_util_get_dm_abstraction): New function.
8329 (grub_util_follow_gpart_up): Likewise.
8330 (grub_util_get_geom_abstraction): Likewise.
8331 (grub_util_get_dev_abstraction): Use new functions.
8332 (grub_util_pull_device): Pull GELI and LUKS.
8333 (grub_util_get_grub_dev): Handle LUKS and GELI.
8334 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8335 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8336 (follow_geom_up): Removed.
8337 (grub_util_fd_seek): New function.
8338 (open_device): Use grub_util_fd_seek.
8339 (nread): Rename to ..
8340 (grub_util_fd_read): ... this. All users updated.
8341 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8342 (grub_crypto_cbc_decrypt): Likewise.
8343 (grub_crypto_hmac_write): Likewise.
8344 (grub_crypto_hmac_buffer): Likewise.
8345 (grub_password_get): Extend to util.
8346 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8347 New member modname.
8348 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8349 * include/grub/cryptodisk.h: New file.
8350 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8351 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8352 LUKS and GELI.
8353 (grub_util_follow_gpart_up): New proto.
8354 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8355 (grub_util_fd_read): Likewise.
8356 (grub_cryptodisk_cheat_mount): Likewise.
8357 (grub_util_cryptodisk_print_uuid): Likewise.
8358 (grub_util_get_fd_sectors): Likewise.
8359 * util/grub-fstest.c (mount_crypt): New var.
8360 (fstest): Mount crypto if requested.
8361 (options): New option -C.
8362 (argp_parser): Parse -C.
8363 (main): Init and fini gcry.
8364 * util/grub-install.in: Support cryptodisk install.
8365 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8366 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8367 cryptodisk.
8368 (prepare_grub_to_access_device): Likewise.
8369 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8370 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8371 (probe_cryptodisk_uuid): New function.
8372 (probe_abstraction): Likewise.
8373 (probe): Use new functions.
8374 * util/import_gcry.py: Create Makefile.utilgcry.def.
8375 Add modname member.
8376
9bfdcbbc
VS
83772011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 Lazy device scanning.
8380
8381 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8382 (grub-setup): Remove util/raid.c.
8383 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8384 * grub-core/disk/lvm.c (scan_depth): New variable.
8385 (grub_lvm_iterate): Rescan if necessary.
8386 (find_lv): New function based on grub_lvm_open.
8387 (grub_lvm_open): Use find_lv. Rescan on error.
8388 (is_node_readable): New function.
8389 (is_lv_readable): Likewise.
8390 (grub_lvm_scan_device): Skip already found disks.
8391 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8392 Stop if searched device is found and readable.
8393 * grub-core/disk/raid.c (inscnt): New variable.
8394 (scan_depth): Likewise.
8395 (scan_devices): New function based on grub_raid_register. Abort if
8396 looked for device is found.
8397 (grub_raid_iterate): Rescan if needed.
8398 (find_array): NEw function based on -grub_raid_open.
8399 (grub_raid_open): Use find_array and rescan.
8400 (insert_array): Set became_readable_at.
8401 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8402 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8403 New function.
8404 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8405 (grub_util_pull_device): New function.
8406 (grub_util_get_grub_dev): Call grub_util_pull_device.
8407 * util/raid.c: Moved to ..
8408 * grub-core/kern/emu/raid.c: ... here.
8409 (grub_util_raid_getmembers): New parameter "bootable".
8410 All users updated. Support 1.x.
8411 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8412 All users updated.
8413 * include/grub/disk.h (grub_disk_pull_t): New enum.
8414 (grub_disk_dev): Change iterate prototype.
8415 All users updated.
8416 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8417 New proto.
8418 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8419 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8420 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8421 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8422 All users updated.
8423 * include/grub/util/raid.h: Removed.
8424
1c358e59
VS
84252011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * po/POTFILES.in: Regenerate.
8428
abee94ed
VS
84292011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Unify sparc init with other ieee1275.
8432
8433 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8434 instead of kern/sparc64/ieee1275/init.c.
8435 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8436 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8437 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8438 grub/machine/kernel.h.
8439 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8440 (grub_claim_heap) [__sparc__]: Use sparc version.
8441 (grub_machine_init): Moved args parsing to
8442 (grub_parse_cmdline): ...this.
8443 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8444 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8445 New definition.
8446 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8447
8448 Move BOOTP to separate file.
8449
8450 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8451 * grub-core/net/net.c: Move all BOOTP functions to
8452 * grub-core/net/bootp.c: ... here.
8453
8454 Use frame interface on PXE.
8455
8456 * grub-core/Makefile.core.def (pxecmd): Removed.
8457 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8458 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8459 * grub-core/i386/pc/pxe.c: Moved from here ...
8460 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8461 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8462 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8463
8464 EFI network support.
8465
8466 * grub-core/Makefile.core.def (efinet): New module.
8467 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8468 here...
8469 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8470 All users updated.
8471 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8472 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8473 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8474 * grub-core/net/drivers/efi/efinet.c: New file.
8475 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8476 (grub_efi_net_config): New extern var.
8477
8478 Various cleanups and bugfixes.
8479
8480 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8481 error.
8482 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8483 disk declared as partition.
8484 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8485 leak on failure.
8486 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8487 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8488 (grub_debug_zalloc): Likewise.
8489 (grub_debug_realloc): Likewise.
8490 (grub_debug_memalign): Likewise.
8491 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8492 Check that target is IPv4.
8493 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8494 local-mac-address as fallback.
8495 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8496 memory leak.
8497 * grub-core/net/ip.c (ipchksum): Rename to ...
8498 (grub_net_ip_chksum): ... this. All users updated.
8499 (grub_net_recv_ip_packets): Special handling for DHCP.
8500 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8501
8502 Unify prefix handling
8503
8504 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8505 (grub_machine_get_bootlocation): ... this.
8506 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8507 (grub_machine_get_bootlocation): ... this.
8508 (grub_prefix): New variable.
8509 (prefix): Removed.
8510 (root_dev): New variable.
8511 (dir): Likewise.
8512 (main): Use new variables.
8513 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8514 Revamped into ...
8515 (grub_machine_get_bootlocation): ... this.
8516 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8517 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8518 (grub_machine_get_bootlocation): ... this.
8519 (grub_machine_set_prefix): Removed.
8520 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8521 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8522 Revamped into ...
8523 (grub_machine_get_bootlocation): ... this.
8524 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8525 (grub_set_prefix_and_root): ... this. All users updated.
8526 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8527 Revamped into ...
8528 (grub_machine_get_bootlocation): ... this.
8529 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8530 (grub_machine_get_bootlocation): New proto.
8531 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8532
8533 Less intrusive and more reliable seek on network implementation.
8534
8535 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8536 (grub_file_seek): Don't call grub_file_net_seek.
8537 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8538 (grub_net_fs_read_real): .. this.
8539 (grub_net_seek_real): Use net->offset.
8540 (grub_net_fs_read): Seek if necessary.
8541
8542 Unify IEEE1275 netwotk config with the other platforms.
8543
8544 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8545 New variable.
8546 (grub_machine_get_bootlocation): Support network.
8547 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8548 Support type and device parsing.
8549 (grub_ieee1275_get_device_type): New function.
8550 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8551 into ...
8552 (grub_ieee1275_net_config_real): ... this.
8553 (grub_ofnet_probecards): Removed.
8554 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8555 * include/grub/ieee1275/ofnet.h: Removed.
8556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8557 extern var.
8558 (grub_ieee1275_get_device_type): New function.
8559
8560 Unify network device closing across platforms and make more robust.
8561
8562 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8563 grub_grubnet_fini.
8564 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8565 already.
8566 * grub-core/net/net.c (grub_net_network_level_interface_register):
8567 Update num_ifaces.
8568 (grub_net_card_unregister): Close all interfaces.
8569 (receive_packets): Don't poll if no iterfaces are registered.
8570 Open if necessary.
8571 (grub_net_fini_hw): New function.
8572 (grub_net_restore_hw): Likewise.
8573 (fini_hnd): New variable.
8574 (GRUB_MOD_INIT): Register preboot hook.
8575 (GRUB_MOD_FINI): Run and unregister preboot hook.
8576
8577 Poll network cards when idle.
8578
8579 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8580 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8581 * grub-core/net/net.c (receive_packets): Save last poll time.
8582 (grub_net_poll_cards_idle_real): New function.
8583 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8584 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8585 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8586
8587 Rename ofnet interfaces.
8588
8589 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8590 (grub_ofnet_findcards): Use ofnet_%s names.
8591
8592 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8593
8594 Cleanup socket opening.
8595
8596 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8597 (grub_net_fs_close): Likewise.
8598 (grub_net_fs_read_real): Use eof member.
8599 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8600 (+grub_net_udp_close): New inline function.
8601
8602 * include/grub/net/tftp.h: Moved to the top of ...
8603 * grub-core/net/tftp.c: ... here.
8604 * include/grub/net/ip.h: Moved mostly to the top of ...
8605 * grub-core/net/ip.c: ... here.
8606 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8607 * grub-core/net/ethernet.c: ... here.
8608
8609 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8610
8611 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8612 FS name.
8613
8614 * include/grub/net/ip.h (ipv4_ini): Removed.
8615 (ipv4_fini): Likewise.
8616
8617 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8618 (grub_net_send_ip_packets): Likewise.
8619
cf1337aa
VS
86202011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8623 grub_read_cmos prototype.
8624
93c06ff9
VS
86252011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 VGA text support in qemu-mips
8628
8629 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8630 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8631 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8632 text.
8633 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8634 * grub-core/kern/vga_init.c: ... this.
8635 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8636 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8637 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8638 Adjust.
8639 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8640 GRUB_MACHINE_PCI_IO_BASE.
8641
748ccabe
VS
86422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 MIPS qemu flash support.
8645
8646 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8647 magic.
8648 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8649 (grub_machine_init): Probe memory if its size isn't known.
8650 * util/grub-mkimage.c (image_targets): Add flash targets.
8651 (generate_image): Handle flash targets.
8652
d7345994
VS
86532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 MIPS qemu at_keyboard support.
8656
8657 * gentpl.py (videoinkernel): Add qemu-mips.
8658 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8659 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8660 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8661 modules.
8662 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8663 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8664 * grub-core/term/serial.c (grub_serial_register)
8665 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8666
a07a81b3
VS
86672011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 CMOS support on sparc.
8670
8671 * gentpl.py (cmos): Add powerpc and sparc.
8672 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8673 powerpc and sparc.
8674 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8675 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8676 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8677 grub_set_datetime_cmos.
8678 * grub-core/lib/ieee1275/cmos.c: New file.
8679 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8680 (find_rtc): Set no_ieee1275_rtc on error.
8681 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8682 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8683 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8684 fail. Move value to argument. All users updated
8685 (grub_cmos_write): Likewise.
8686 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8687 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8688 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8689 grub_get_datetime_cmos and grub_set_datetime_cmos.
8690
77546584
GS
86912011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8692
8693 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8694 sourcing grub-mkconfig_lib.
8695 * util/update-grub_lib.in: Likewise.
8696 * util/grub.d/00_header.in: Likewise.
8697 * util/grub.d/10_hurd.in: Likewise.
8698 * util/grub.d/10_kfreebsd.in: Likewise.
8699 * util/grub.d/10_linux.in: Likewise.
8700 * util/grub.d/10_netbsd.in: Likewise.
8701 * util/grub.d/10_windows.in: Likewise.
8702 * util/grub.d/20_linux_xen.in: Likewise.
8703 * util/grub.d/30_os-prober.in: Likewise.
8704
54894791
CW
87052011-06-28 Colin Watson <cjwatson@ubuntu.com>
8706
8707 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8708 default_bg_color rather than black.
8709 (grub_gfxterm_fullscreen): Likewise.
8710 (grub_gfxterm_background_color_cmd): Save new background color in
8711 default_bg_color.
8712
8d5d8444
VS
87132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8716
5afeb5bd
VS
87172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8720 mismerge.
8721
ba7df45e
VS
87222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 Chainloading on coreboot support.
8725
8726 * grub-core/Makefile.core.def (chain): Add coreboot.
8727 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8728
d0b526b2
VS
87292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8732 if it happens.
8733
5ff1d945
VS
87342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 Implement time command.
8737
8738 * grub-core/Makefile.core.def (time): New module.
8739 * grub-core/commands/time.c: New file.
8740 * grub-core/script/parser.y: Remove "time" keyword.
8741 * grub-core/script/yylex.l: Likewise.
8742
5ebaad7e
VS
87432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8746
bdea3798
VS
87472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8750 when handling leftovers.
8751
b28c5655
VS
87522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8755 so that help2man doesn't fail.
8756
b6f945dc
VS
87572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8760 type in pointers on sparc64.
8761 (get_card_packet): Likewise.
8762
f9b75e8a
CW
87632011-06-27 Colin Watson <cjwatson@ubuntu.com>
8764
8765 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8766 with `*'.
8767 (grub_cmd_videoinfo): Fetch current video mode.
8768
1e3d9b86
VS
87692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8772 because of underlying system restrictions.
8773
efff4b1c
VS
87742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8777 necessary.
8778
9fc9ce37
VS
87792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Coreboot video support.
8782
8783 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8784 (vbe): Likewise.
8785 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8786 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8787 here ...
8788 * grub-core/kern/i386/int.S: ... here.
8789 * grub-core/video/i386/pc/vbe.c: Updated includes.
8790 * grub-core/video/i386/pc/vga.c: Likewise.
8791 * include/grub/i386/coreboot/memory.h
8792 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8793 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8794 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8795 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8796 Disable interrupts.
8797 * include/grub/i386/pc/vga.h: Removed. All users updated.
8798
41bec7fe
VS
87992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8802 definitions for dprintf.
8803 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8804
ca80309d
VS
88052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8808 prototype.
8809 (get_card_packet): Likewise.
8810
9e322ce8
YB
88112011-06-26 Yves Blusseau <blusseau@zetam.org>
8812
8813 Display the path of the file when file is not found
8814
8815 * grub-core/fs/fat.c: Display the filename when file is not found.
8816 * grub-core/fs/fshelp.c: Likewise.
8817 * grub-core/fs/hfs.c: Likewise.
8818 * grub-core/fs/jfs.c: Likewise.
8819 * grub-core/fs/minix.c: Likewise.
8820 * grub-core/fs/ufs.c: Likewise.
8821 * grub-core/fs/btrfs.c: Likewise.
8822 * grub-core/commands/i386/pc/play.c: Likewise.
8823
cbf597af
SJ
88242011-06-26 Szymon Janc <szymon@janc.net.pl>
8825
8826 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8827 pointer checks before calling grub_free().
8828 * grub-core/commands/wildcard.c (match_devices): Likewise.
8829 * grub-core/commands/wildcard.c (match_files): Likewise.
8830 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8831 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8832 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8833 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8834 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8835 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8836 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8837 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8838 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8839
6295b32f
P
88402011-06-25 Patrick <p55@mailinator.com>
8841
8842 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8843
77c0840b
VS
88442011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8847 (grub_pxe_send): Likewise.
8848 (GRUB_MOD_INIT): Fix types.
8849
40ea05de
SJ
88502011-06-24 Szymon Janc <szymon@janc.net.pl>
8851
8852 * grub-core/io/xzio.c: Fix code style issues
8853
90162423
MRA
88542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
88552011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8856
8857 Network infrastructure.
8858 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8859
8860 * include/grub/net/arp.h: New file.
90162423
MRA
8861 * include/grub/net/device.h: Likewise.
8862 * include/grub/net/ethernet.h: Likewise.
8863 * include/grub/net/ip.h: Likewise.
8864 * include/grub/net/netbuff.h: Likewise.
8865 * include/grub/net/tftp.h: Likewise.
8866 * include/grub/net/udp.h: Likewise.
8867 * include/grub/ieee1275/ofnet.h: Likewise.
8868 * include/grub/emu/export.h: Likewise.
8869 * include/grub/net.h: Likewise.
8870 * grub-core/net/arp.c: Likewise.
8871 * grub-core/net/ethernet.c: Likewise.
8872 * grub-core/net/ip.c: Likewise.
8873 * grub-core/net/udp.c: Likewise.
8874 * grub-core/net/tftp.c: Likewise.
8875 * grub-core/net/netbuff.c: Likewise.
8876 * grub-core/net/net.c: Likewise.
8877 * grub-core/net/drivers/emu/emunet.c: Likewise.
8878 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8879 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8880 export.h.
8881 * grub-core/Makefile.core.def (net): New module.
8882 (tftp): Likewise.
8883 (ofnet): Likewise.
8884 (emunet): Likewise.
8885 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8886 network protocols.
8887 * grub-core/kern/device.c (grub_net_open) : New variable.
8888 (grub_device_open): Handle network device.
8889 (grub_device_close): Likewise.
8890 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8891 (grub_grubnet_fini): Likewise.
8892 (grub_file_seek): Seek in network device.
8893 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8894 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8895 network root.
8896 (grub_machine_fini): Call grub_grubnet_fini.
8897 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8898 network.
8899 (grub_ieee1275_get_aliasdevname): New function.
8900 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8901 Add unofficial Solaris network info.
8902 (grub_multiboot_make_mbi): Likewise.
8903 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8904 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8905 * include/grub/device.h (grub_fs): Removed.
8906 * include/grub/err.h (grub_err_t): Add network-related values.
8907 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8908 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8909 (grub_ieee1275_get_aliasdevname): New proto.
8910 * include/grub/net.h: Rewritten.
423a1849 8911
031f22a0
VS
89122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8915 names.
8916
4388ca72
VS
89172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8920 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8921 it truncates the output.
8922 Reported by: Ximin Luo.
8923
98e2f506
VS
89242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8927
2a5e94d8
VS
89282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8931 partmap before abstraction.
8932
535c1910
AK
89332011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8934
8935 * util/grub-mkconfig_lib.in: Add missing quotes.
8936
bc09e1a2
VS
89372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8940 old method if mountinfo would return /dev/root and /dev/root doesn't
8941 exist.
8942
290766fb
VS
89432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 ZFS zlib support
8946
8947 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8948 (decomp_table): Add zlib entries.
8949 (zio_read): USe 8 bits for compression function rather than 3.
8950 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8951
89522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * grub-core/disk/ahci.c: Add missing license statements.
8955 * grub-core/fs/romfs.c: Likewise.
8956 * grub-core/lib/ia64/setjmp.S: Likewise.
8957 * grub-core/loader/i386/pc/freedos.c: Likewise.
8958 * grub-core/loader/ia64/efi/linux.c: Likewise.
8959 * grub-core/video/colors.c: Likewise.
8960 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8961
5ab3f48a
VS
89622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 AHCI support.
8965
8966 * grub-core/Makefile.core.def (ata_pthru): Removed.
8967 (ahci): New module.
8968 (pata): Likewise.
8969 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8970 on unload.
8971 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8972 readwrite.
8973 (grub_hdparm_do_check_powermode_cmd): Likewise.
8974 (grub_hdparm_do_smart_cmd): Likewise.
8975 (grub_hdparm_set_val_cmd): Likewise.
8976 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8977 * grub-core/disk/ahci.c: New file.
8978 * grub-core/disk/ata.c: Factor out the low-level part into ...
8979 * grub-core/disk/pata.c: ... here.
8980 * grub-core/disk/ata_pthru.c: Contents moved to ...
8981 * grub-core/disk/pata.c: ... here.
8982 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8983 (grub_scsi_iterate): Use grub_scsi_names.
8984 (grub_scsi_open): Likewise.
8985 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8986 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8987 (grub_ata_regs_t): New struct.
8988 (grub_disk_ata_pass_through_parms): Likewise.
8989 (grub_ata_device): Renamed to ...
8990 (grub_ata): ... this.
8991 (grub_ata_dev): New struct.
8992 Removed all low-level inline functions.
8993 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8994 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8995 iterate hooks and open. All users updated.
8996 * util/grub-install.in: Handle AHCI disk module.
8997
c31dc5f5
SJ
89982011-06-23 Szymon Janc <szymon@janc.net.pl>
8999
9000 Add support for DRI and RSTn markers in JPEG files.
9001
9002 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9003 (JPEG_MARKER_RST0): Likewise.
9004 (JPEG_MARKER_RST1): Likewise.
9005 (JPEG_MARKER_RST2): Likewise.
9006 (JPEG_MARKER_RST3): Likewise.
9007 (JPEG_MARKER_RST4): Likewise.
9008 (JPEG_MARKER_RST5): Likewise.
9009 (JPEG_MARKER_RST6): Likewise.
9010 (JPEG_MARKER_RST7): Likewise.
9011 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9012 (grub_jpeg_decode_dri): New function.
9013 (grub_jpeg_decode_sos): Move image data related part into
9014 grub_jpeg_decode_data function.
9015 (grub_jpeg_decode_data): New function.
9016 (grub_jpeg_reset): New function.
9017 (grub_jpeg_decode_jpeg): Handle new markers.
9018
fe12fd5b
VS
90192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * util/ieee1275/ofpath.c (check_sas): Close fd.
9022 (main): Free of_path.
9023 Reported by: David Volgyes <dvolgyes>.
9024
03147f46
VS
90252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9028 Reported by: David Volgyes <dvolgyes>.
9029
cad3237f
VS
90302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9033 file after stat.
9034 Reported by: David Volgyes <dvolgyes>.
9035
13548d26
VS
90362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9039
9040 Reported by: David Volgyes <dvolgyes>.
9041
e061a1b5
VS
90422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9045 Prevent memory leak.
9046
1abe47dc
VS
90472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9050 (main): Close file.
e061a1b5 9051 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9052
fbc62666
VS
90532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9056 to continue if allocation is failed.
9057
9058 Reported by: David Volgyes <dvolgyes>.
9059
e98c83e9
DV
90602011-06-23 David Volgyes <dvolgyes>
9061
9062 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9063 dereference.
9064
a199a8cd
VS
90652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 Fix spurious warning.
9068
9069 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9070 (acorn_partition_map_find): Use .bin member.
9071
e2d1dba0
VS
90722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9075 /dev/root as a valid device.
9076
8a5d6919
JM
90772011-06-23 Jim Meyering <meyering@redhat.com>
9078
e2d1dba0
VS
9079 Avoid NULL deref in grub_device_open.
9080
8a5d6919
JM
9081 * grub-core/kern/device.c (grub_device_open): Don't dereference
9082 a NULL pointer upon failed grub_env_get.
9083
f7db6f4a
VS
90842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 Support non-512B sectors and agglomerate reads.
9087
9088 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9089 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9090 (disk_io_guid): Removed.
9091 (make_devices): Locate solely by BlockIO.
9092 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9093 (grub_efidisk_read): Use read_blocks.
9094 (grub_efidisk_write): Use write_blocks.
9095 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9096 log_sector_size.
9097 (get_safe_sectors): Handle non-512B sectors.
9098 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9099 sectors.
9100 (grub_biosdisk_write): Handle non-512B sectors.
9101 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9102 (grub_scsi_read): Remove special non-512B block handling (now handled
9103 one level up).
9104 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9105 and do sanity checks.
9106 (grub_disk_adjust_range): Handle non-512B sectors.
9107 (transform_sector): New function.
9108 (grub_disk_read_small): Likewise.
9109 (grub_disk_read): Rewritten.
9110 (grub_disk_write): Handle non-512B sectors.
9111 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9112 log_sector_size.
9113 (open_device): Use log_sector_size.
9114 (grub_util_biosdisk_read): Likewise.
9115 (grub_util_biosdisk_write): Likewise.
9116 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9117 non-512B sectors.
9118 (pc_partition_map_embed): Likewise.
9119 * include/grub/disk.h (grub_disk): New field log_sector_size.
9120 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9121 (GRUB_DISK_CACHE_BITS): Increased to 6.
9122 * util/grub-fstest.c (fstest): New command testload.
9123 (argp_parser): Likewise.
9124
881ac815
RM
91252011-06-16 Robert Millan <rmh@gnu.org>
9126
9127 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9128 `ata' driver on kernel of FreeBSD 9.
9129
9130 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9131 (get_ataraid_disk_name): New functions.
9132 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9133 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9134 get_ataraid_disk_name() and get_ada_disk_name().
9135
1e9aef7d
CW
91362011-06-13 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9139 input format.
9140
351c7c8a
CW
91412011-05-29 Colin Watson <cjwatson@ubuntu.com>
9142
9143 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9144 `ftp.gnu.org' for `alpha.gnu.org'.
9145
6b4e6430
CW
91462011-05-27 Colin Watson <cjwatson@ubuntu.com>
9147
9148 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9149 partitions under /dev/disk/by-id/.
9150
c64db050
CW
91512011-05-27 Colin Watson <cjwatson@ubuntu.com>
9152
9153 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9154 after ten consecutive open failures. Scanning all the way up to
9155 10000 is excessive and can cause serious performance problems in
9156 some configurations.
9157 Fixes Ubuntu bug #787461.
9158
245f4aba
VS
91592011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9162 opening new one.
9163
f767c929
VS
91642011-05-21 Colin Watson <cjwatson@ubuntu.com>
91652011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Don't stat devices unless we have to.
9168
9169 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9170 dir == /dev/mapper.
9171 (grub_guess_root_device): Use already known os_dev if possible.
9172 * grub-core/kern/emu/hostdisk.c
9173 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9174 if device is known to be a dm one.
9175
f35fa3a6
CW
91762011-05-20 Colin Watson <cjwatson@ubuntu.com>
9177
9178 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9179 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9180 Reported by: Pawel Tecza.
9181
9a79fcf2
VS
91822011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9185 (lsefisystab): Likewise.
9186 (lssal): Likewise.
9187 (lsefimmap): Likewise.
9188 (hdparm): Enable on qemu-mips.
9189 (setjmp): Add ia64 nodist.
9190 (serial): Simplify tags.
9191
63e3eea9
CW
91922011-05-18 Colin Watson <cjwatson@ubuntu.com>
9193
9194 * Makefile.util.def (grub-ofpathname): Install manual page.
9195
09728256
CW
91962011-05-18 Colin Watson <cjwatson@ubuntu.com>
9197
9198 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9199
8b63a142
CW
92002011-05-18 Colin Watson <cjwatson@ubuntu.com>
9201
9202 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9203
e775d8ed
VS
92042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9207 into dprintf.
9208
bf947d36
VS
92092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Use full 64-bit division.
9212
9213 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9214 (grub_divmod64): ... this.
9215 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9216 version.
9217
b84f26c5
CW
92182011-05-18 Colin Watson <cjwatson@ubuntu.com>
9219
9220 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9221 `source'.
9222
5626056f
CW
92232011-05-18 Colin Watson <cjwatson@ubuntu.com>
9224
9225 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9226 to avoid accidents when debugging with 'sh -x'.
9227 * grub-core/gensyminfo.sh.in: Likewise.
9228 * tests/example_scripted_test.in: Likewise.
9229 * tests/grub_cmd_regexp.in: Likewise.
9230 * tests/grub_script_blanklines.in: Likewise.
9231 * tests/grub_script_dollar.in: Likewise.
9232 * tests/grub_script_expansion.in: Likewise.
9233 * tests/grub_script_final_semicolon.in: Likewise.
9234 * tests/partmap_test.in: Likewise.
9235 * tests/util/grub-shell-tester.in: Likewise.
9236 * tests/util/grub-shell.in: Likewise.
9237
e2965f4a
CW
92382011-05-18 Colin Watson <cjwatson@ubuntu.com>
9239
9240 Move gfxmenu color handling to video, so that gfxterm can use it
9241 too.
9242
9243 * grub-core/gfxmenu/named_colors.c: Move to ...
9244 * grub-core/video/colors.c: ... here. Rename
9245 grub_gui_get_named_color to grub_video_get_named_color.
9246 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9247 * grub-core/video/colors.c (my_isxdigit): ... here.
9248 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9249 Move to ...
9250 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9251 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9252 to ...
9253 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9254
9255 * include/grub/gui.h (grub_gui_color_t): Move to ...
9256 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9257 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9258 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9259 * include/grub/gui.h (grub_gui_map_color): Move to ...
9260 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9261 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9262 to ...
9263 * include/grub/video.h (grub_video_get_named_color): ... here.
9264 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9265 * include/grub/video.h (grub_video_parse_color): ... here.
9266
9267 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9268 video/colors.c.
9269 (gfxmenu): Remove gfxmenu/named_colors.c.
9270 (video) [videomodules]: Add video/colors.c.
9271
9272 Add a background_color command.
9273
9274 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9275 function.
9276 (GRUB_MOD_INIT): Register background_color command.
9277 (GRUB_MOD_FINI): Unregister background_color command.
9278 (redraw_screen_rect): Allow blend/replace of text layer to be
9279 controlled independently from whether there is a background bitmap.
9280 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9281 changing bitmap.
9282
1e4b4390
VS
92832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9284
26618ff0
VS
9285 Patch BPB in ntldr and chainloader --bpb.
9286
1e4b4390
VS
9287 * grub-core/fs/fat.c: Include grub/fat.h.
9288 (grub_fat_bpb): Moved to ...
9289 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9290 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9291 grub/ntfs.h.
9292 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9293 Moved from here...
9294 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9295 here.
9296 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9297 New function.
9298 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9299 (GRUB_MOD_INIT): Show --bpb.
9300 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9301 * grub-core/normal/main.c (features): New variable.
9302 (GRUB_MOD_INIT): Set feature_* variables.
9303 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9304 proto.
9305 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9306
cf02731e
VS
93072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9310 for cleanness.
9311
e3a1073f
VS
93122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 FreeDOS direct loading support.
9315
9316 * docs/grub.texi (Supported OS): Add FreeDOS.
9317 * grub-core/Makefile.core.def (freedos): New module.
9318 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9319 variable.
9320 (grub_relocator16_boot): Handle %ebx.
9321 * grub-core/lib/i386/relocator16.S: Likewise.
9322 * grub-core/loader/i386/pc/freedos.c: New file.
9323
05caa461
VS
93242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Long Linux command line support.
9327
9328 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9329 (maximal_cmdline_size): New variable.
9330 (allocate_pages): Use maximal_cmdline_size.
9331 (grub_cmd_linux): Set and use maximal_cmdline_size.
9332 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9333 (allocate_pages): Use maximal_cmdline_size.
9334 (grub_cmd_linux): Set and use maximal_cmdline_size.
9335 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9336 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9337 and cmdline_size.
9338
a2491e23
VS
93392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
93402011-05-18 Colin Watson <cjwatson@ubuntu.com>
9341
9342 Improve devmapper support
9343
9344 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9345 (grub_util_is_lvm): New function.
9346 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9347 than lvm if not dmraid.
9348 Handle mapped md nodes.
9349 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9350 (grub_util_device_is_mapped): ... this. Make always available. All users
9351 updated.
9352 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9353 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9354 dmraid nodes.
9355 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9356
6ad6223e
VS
93572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9360
9361 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9362 * grub-core/modinfo.sh.in: New file.
9363 * grub-core/Makefile.core.def (modinfo.sh): New script.
9364 * util/grub-mknetdir.in: Use modinfo.sh.
9365 * util/grub-mkrescue.in: Likewise.
9366
543a8f6e
VS
93672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9370 Fix potential usage of Elf32 instead of Elf64 when compiling on
9371 32-bit architecture. Add endianness macros while on it.
9372
4959e111
VS
93732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 Use mipsel- rather than mips- in directories involving mipsel ports to
9376 allow both endiannesses coexist.
9377
9378 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9379 mips. All conditions adjusted.
9380 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9381 variable.
9382 * util/grub-install.in: Adjust conditions to take renaming into account.
9383 * util/grub-mkimage.c (image_targets): Likewise. New target
9384 mips-qemu_mips-elf for bigendian mips.
9385
35341bbc
VS
93862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 Avoid unnecessary copying on MIPS.
9389
9390 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9391 early if src == dest.
9392 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9393 compression is none.
9394
b772baed
VS
93952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Reduce memory footprint on SGI by putting modules before the kernel
9398 as opposed to after.
9399
9400 * grub-core/Makefile.core.def (kernel): Increase linking address.
9401 (none_decompress): Likewise.
9402 (xz_decompress): Likewise.
9403 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9404 address.
9405 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9406 layout change.
9407 (grub_arch_modules_addr): New function.
9408 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9409 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9410 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9411 here.
9412 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9413 (grub_total_modules_size): ... this. Make global.
9414 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9415 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9416 New definition.
9417 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9418 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9419 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9420 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9421 * util/grub-mkimage.c (image_target_desc): New flag
9422 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9423 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9424 (generate_image): Handle images with modules before kernel.
9425
566a1917
VS
94262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 Prevent potential loss of memory map by overwrite on qemu-mips.
9429
9430 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9431 Save ram size in $s4.
9432 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9433 All users changed to grub_arch_memsize.
9434 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9435 Loongson.
9436 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9437 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9438 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9439 external variable.
9440
5d420cd9
CW
94412011-05-17 Colin Watson <cjwatson@ubuntu.com>
9442
9443 * .bzrignore: Remove grub-dumpbios.
9444
d064b830
CW
94452011-05-17 Colin Watson <cjwatson@ubuntu.com>
9446
9447 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9448 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9449 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9450 existing options which append).
9451 * docs/grub.texi (Simple configuration): Document new options.
9452 Reported by: Ian Jackson. Fixes Debian bug #617538.
9453
3ca2b466
CW
94542011-05-17 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * util/grub-fstest.c (cmd_cat): New function.
9457 (fstest): Handle CMD_CAT.
9458 (options): Add cat.
9459 (argp_parser): Handle cat.
9460
24c9143a
CW
94612011-05-17 Colin Watson <cjwatson@ubuntu.com>
9462
9463 * Makefile.util.def (grub-bin2h): Don't install.
9464 * docs/man/grub-bin2h.h2m: Remove.
9465
90f7ac19
VS
94662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9469 place.
9470
8d4a5178
VS
94712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 Reenable qemu-mips port.
9474
9475 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9476 Fix small arc bug while on it.
9477 * gentpl.py: Handle qemu_mips.
9478 * grub-core/Makefile.am: Likewise.
9479 * grub-core/Makefile.core.def: Likewise.
9480 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9481 inappropriate includes.
9482 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9483 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9484 * grub-core/kern/main.c (grub_modules_get_end)
9485 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9486 * grub-core/kern/mips/qemu-mips: Moved to ..
9487 * grub-core/kern/mips/qemu_mips: ... this.
9488 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9489 (grub_machine_init): Call terminfo_init and serial_init.
9490 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9491 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9492 New variable.
9493 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9494 parameter passing.
9495 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9496 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9497 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9498 * include/grub/mips/qemu_mips/cmos.h: New file.
9499 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9500 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9501 Removed.
9502 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9503 Use correct mips-style address.
9504 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9505 (GRUB_TICKS_PER_SECOND): Removed.
9506 (grub_get_rtc): Likewise.
9507 (grub_cpu_idle): Likewise.
9508 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9509 New definition.
9510 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9511 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9512 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9513 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9514 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9515 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9516 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9517 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9518
400b9371
VS
95192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 SGI ARCS port.
9522
9523 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9524 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9525 platforms.
9526 * configure.ac: New target mips-arc.
9527 * gentpl.py: Likewise.
9528 * grub-core/Makefile.am: Likewise.
9529 * grub-core/Makefile.core.def: Likewise.
9530 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9531 (none_decompress): Likewise.
9532 (lsdev): New module.
9533 (datetime): Use lib/arc/datetime.c on ARC.
9534 (part_dvh): New module.
9535 * grub-core/commands/arc/lsdev.c: New file.
9536 * grub-core/disk/arc/arcdisk.c: Likewise.
9537 * grub-core/kern/mips/arc/init.c: Likewise.
9538 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9539 aligned addresses.
9540 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9541 support.
9542 (grub_arch_dl_relocate_symbols): Likewise.
9543 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9544 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9545 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9546 platforms.
9547 * grub-core/lib/arc/datetime.c: New file.
9548 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9549 pci.h on non-loongson.
9550 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9551 (grub_linux_boot): Set unused registers to 0.
9552 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9553 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9554 * grub-core/mmap/mips/uppermem.c: ...here.
9555 * grub-core/partmap/dvh.c: New file.
9556 * grub-core/term/arc/console.c: Likewise.
9557 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9558 (grub_terminfo_set_current): Add terminal "arc".
9559 (grub_terminfo_readkey): Support ARC sequences.
9560 * include/grub/arc/arc.h: New file.
9561 * include/grub/arc/console.h: Likewise.
9562 * include/grub/disk.h (grub_disk_dev_id): Add
9563 GRUB_DISK_DEVICE_ARCDISK_ID.
9564 * include/grub/mips/arc/kernel.h: New file.
9565 * include/grub/mips/arc/memory.h: Likewise.
9566 * include/grub/mips/arc/time.h: Likewise.
9567 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9568 * include/grub/mips/kernel.h (grub_halt): ... here.
9569 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9570 here...
9571 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9572 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9573 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9574 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9575 proto.
9576 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9577 from here ...
9578 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9579 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9580 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9581 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9582 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9583 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9584 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9585 (grub_phys_addr_t): Moved from here ...
9586 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9587 (grub_vtop): Moved from here ...
9588 * include/grub/mips/memory.h (grub_vtop): ... here.
9589 (grub_map_memory): Moved from here ...
9590 * include/grub/mips/memory.h (grub_map_memory): ... here.
9591 (grub_unmap_memory): Moved from here ...
9592 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9593 (grub_machine_mmap_iterate): Moved from here ...
9594 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9595 (grub_mmap_get_lower): Moved from here ...
9596 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9597 (grub_mmap_get_upper): Moved from here ...
9598 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9599 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9600 here ...
9601 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9602 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9603 here ...
9604 * include/grub/mips/time.h (grub_get_rtc): ... here.
9605 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9606 here ...
9607 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9608 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9609 here ...
9610 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9611 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9612 definition.
9613 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9614 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9615 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9616 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9617 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9618 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9619 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9620 (GRUB_MACHINE_LINK_ADDR): Likewise.
9621 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9622 to 6.
9623 * util/grub-install.in: Run dvhtool on ARC.
9624 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9625 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9626
c8ecc840
VS
96272011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9630 blocks.
9631
153a4b55
VS
96322011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9635 after enabling port.
9636
ff44d107
VS
96372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Skip incorrect USB devices.
9640
9641 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9642 configcnt == 0.
9643 * include/grub/usb.h (grub_usb_err_t): New enum value
9644 GRUB_USB_ERR_BADDEVICE.
9645
638dbe4f
VS
96462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 Fuloong video init support.
9649
9650 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9651 well.
9652 (grub_vga_read_arx): New function.
9653 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9654 definition.
9655 (framebuffer): New members io, mmioptr and mmiobase.
9656 (read_sis_cmd): New function.
9657 (write_sis_cmd): Likewise.
9658 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9659 rather than 640x400.
9660 * grub-core/video/sis315_init.c: New file.
9661
c3fc520c
VS
96622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9665 non-loongson.
9666 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9667 to grub_dl_register_symbol.
9668
67b1e5c9
VS
96692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 Fix compilation errors.
9672
9673 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9674 potentially unused.
9675 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9676 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9677 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9678 to loongson machines.
9679
b756f75f
VS
96802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Several FS mtime support.
9683
9684 * grub-core/fs/affs.c (grub_affs_time): New struct.
9685 (grub_affs_file): New field mtime.
9686 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9687 type. Removed 'size'. New field 'di'. All users updated.
9688 (grub_affs_mount): Simplify checsum checking.
9689 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9690 (grub_affs_dir): Handle mtime.
9691 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9692 (grub_cpio_dir): Likewise.
9693 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9694 (grub_hfs_filerec): New field mtime.
9695 (grub_hfs_dir): Handle mtime.
9696 (grub_hfs_mtime): New function.
9697 (grub_hfs_fs): Register grub_hfs_mtime.
9698 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9699 (grub_iso9660_dir): New field mtime.
9700 (grub_fshelp_node): New field dirent.
9701 (iso9660_to_unixtime): New function.
9702 (iso9660_to_unixtime2): Likewise.
9703 (grub_iso9660_read_symlink): Use node->dirent.
9704 (grub_iso9660_iterate_dir): Likewise.
9705 (grub_iso9660_dir): Set mtime.
9706 (grub_iso9660_mtime): New function.
9707 (grub_iso9660_fs): Register grub_iso9660_mtime.
9708 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9709 (grub_jfs_inode): New fields atime, ctime and mtime.
9710 (grub_jfs_dir): Set mtime.
9711 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9712 * grub-core/fs/ntfs.c (list_file): Set mtime.
9713 (grub_ntfs_dir): Likewise.
9714 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9715 (grub_reiserfs_iterate_dir): Set mtime.
9716 (grub_reiserfs_dir): Likewise.
9717 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9718 (grub_fshelp_node): Likewise.
9719 (grub_sfs_iterate_dir): Set mtime.
9720 (grub_sfs_dir): Likewise.
9721 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9722 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9723 (grub_xfs_inode): New fields atime, mtime, ctime.
9724 (grub_xfs_dir): Set mtime.
9725 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9726 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9727 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9728
9729 Support UDF symlinks.
9730
9731 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9732 (grub_ufs_read_symlink): New function. All users updated.
9733
9734 Check amiga partmap checksum.
9735
9736 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9737 (grub_amiga_partition): Likewise.
9738 (amiga_partition_map_checksum): New function.
9739 (amiga_partition_map_iterate): Check checksum.
9740
5470225d
VS
97412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 ROMFS support.
9744
9745 * Makefile.util.def (libgrubmods.a): Add romfs.
9746 * grub-core/Makefile.core.def (romfs): New module.
9747 * grub-core/fs/romfs.c: New file.
9748
d4680a35
VS
97492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 Squashfs v4 support.
9752
9753 * Makefile.util.def (libgrubmods.a): Add squash4.
9754 * grub-core/Makefile.core.def (squash4): New module.
9755 * grub-core/fs/squash4.c: New file.
9756 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9757 disk_input_start, disk_input.
9758 (get_byte): Handle disk_input.
9759 (grub_zlib_disk_read): New function.
9760 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9761
bcb18e74
FZ
97622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
97632011-05-15 Feiran Zheng <famcool@gmail.com>
9764
9765 * Makefile.util.def (libgrubmods.a): Add minix3.
9766 * grub-core/Makefile.core.def (minix3): New module.
9767 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9768 (GRUB_MINIX_BSIZE): Removed.
9769 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9770 (grub_minix_ino_t): New type.
9771 (grub_minix_le_to_cpu_ino): New macro.
9772 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9773 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9774 (grub_minix_data): New field block_size.
9775 (grub_minix_read_file): Handle 64-bit correctly.
9776 * grub-core/fs/minix3.c: New file.
9777
32297d5f
TG
97782011-05-15 Tristan Gingold <gingold@free.fr>
97792011-05-15 Robert Millan <rmh.grub@aybabtu.com>
97802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 IA64 support.
9783
9784 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9785 * configure.ac: Add ia64-efi target.
9786 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9787 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9788 * gentpl.py: Add ia64_efi platform.
9789 Rename x86_efi to efi and Add ia64-efi. All users updated.
9790 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9791 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9792 Remove kern/generic/rtc_get_time_ms.c on EFI.
9793 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9794 kern/ia64/dl_helper.c on ia64-efi.
9795 Add kern/emu/cache.c on emu.
9796 (linux): Use on loader/ia64/efi/linux.c on ia64.
9797 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9798 whether symbol is a function.
9799 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9800 (grub_symbol): New field 'isfunc'.
9801 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9802 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9803 (grub_dl_load_segments): Place all sections into the same region.
9804 [__ia64__]: Create trampolines and got.
9805 [GRUB_MACHINE_EMU]: Call mprotect.
9806 (grub_dl_resolve_symbols): Resolve symbol type as well.
9807 [__ia64__]: Create function descriptors.
9808 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9809 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9810 (grub_get_rtc): New function.
9811 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9812 * grub-core/kern/emu/cache.S: Renamed to ...
9813 * grub-core/kern/emu/cache_s.S: ... this.
9814 [__ia64__]: Add a nop.
9815 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9816 [__ia64__]: New function.
9817 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9818 * grub-core/kern/ia64/dl.c: New file.
9819 * grub-core/kern/ia64/dl_helper.c: Likewise.
9820 * grub-core/kern/ia64/efi/init.c: New file.
9821 * grub-core/kern/ia64/efi/startup.S: Likewise.
9822 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9823 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9824 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9825 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9826 * grub-core/loader/ia64/efi/linux.c: New file.
9827 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9828 (GRUB_MOD_DEP): Likewise.
9829 (grub_dl) [__ia64__]: New fields got and tramp.
9830 (grub_dl): New field 'base'.
9831 (grub_dl_register_symbol): New argument isfunc. All users updated.
9832 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9833 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9834 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9835 (grub_ia64_dl_get_tramp_got_size): New proto.
9836 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9837 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9838 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9839 * include/grub/efi/api.h: Skip call wrappers on ia64.
9840 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9841 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9842 * include/grub/elf.h (ELF_ST_INFO): New definition.
9843 * include/grub/ia64/efi/kernel.h: New file.
9844 * include/grub/ia64/efi/memory.h: Likewise.
9845 * include/grub/ia64/efi/time.h: Likewise.
9846 * include/grub/ia64/kernel.h: Likewise.
9847 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9848 * include/grub/ia64/time.h: New file.
9849 * include/grub/ia64/types.h: Likewise.
9850 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9851 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9852 New protos.
9853 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9854 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9855 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9856 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9857 All users updated.
9858 (EFI64_HEADER_SIZE): New definition. All users updated.
9859 (image_targets): Add ia64-efi.
9860 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9861 jumpers_addr. All users updated.
9862 Create function descriptors.
9863 (count_funcs): New function.
9864 (unaligned_uint32): New struct.
9865 (MASK20): New definition.
9866 (MASK19): Likewise.
9867 (MASKF21): Likewise.
9868 (add_value_to_slot_20b): New function.
9869 (add_value_to_slot_21_real): Likewise.
9870 (add_value_to_slot_21): Likewise.
9871 (ia64_kernel_trampoline): New struct.
9872 (nopm): New variable.
9873 (jump): Likewise.
9874 (make_trampoline): New function.
9875 (relocate_addresses): Handle ia64.
9876 (make_reloc_section): Likewise.
9877 (load_image): Likewise.
9878
983b414d
VS
98792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9882 warning. Move variables before code while on it.
9883
5d063cdc
VS
98842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 Fuloong support.
9887
9888 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9889 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9890 * grub-core/boot/mips/loongson/fuloong.S: New file.
9891 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9892 Explicitly init CS5536.
9893 [FULOONG]: Don't use serial until CS5536 is available.
9894 Set GPIO based on dumps.
9895 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9896 [FULOONG]: Handle GPIO and memory controller differences.
9897 Parse machine type in $a2.
9898 * grub-core/boot/mips/startup_raw.S: Determine and save the
9899 architecture.
9900 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9901 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9902 init on architecture type.
9903 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9904 SIS315E. Don't init at_keyboard on fuloong.
9905 (grub_halt): Support Fuloong.
9906 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9907 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9908 (loongson_machtypes): New array.
9909 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9910 type.
9911 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9912 config. All users updated. Handle CS5536 serial.
9913 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9914 default port on machine type. Register serial as inactive.
9915 * grub-core/video/sis315pro.c: New file.
9916 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9917 definition.
9918 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9919 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9920 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9921 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9922 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9923 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9924 to ...
9925 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9926 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9927 definition.
9928 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9929 (grub_arch_machine): New extern var.
9930 * include/grub/mips/loongson/serial.h
9931 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9932 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9933 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9934 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9935 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9936 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9937 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9938 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9939 * include/grub/term.h (grub_term_register_input_inactive): New inline
9940 function.
9941 (grub_term_register_output_inactive): Likewise.
9942 * include/grub/video.h (grub_video_driver_id): New value
9943 GRUB_VIDEO_DRIVER_SIS315PRO.
9944 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9945 New field "names". All users updated.
9946 New field value IMAGE_FULOONG_FLASH.
9947 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9948
6ada82d1
JU
99492011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9950
9951 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9952 and add some clarification.
9953
90c571a4
VS
99542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9957 platforms if kernel is compressed.
9958
de04eecf
VS
99592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9962 unused modules since currently referrence counter isn't reliable and
9963 there isn't much memory to recover there anyway.
9964
57688121
VS
99652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9968 rather than resetting it to allow modules to reference themselves
9969 in init.
9970
3d2c7e35
VS
99712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9974 counter on dependencies since grub_dl_unref already handles this.
9975
b25db218
VS
99762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9979 on error if not already done.
9980
25a45338
VS
99812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 Fix few potential memory misusage.
9984
9985 * grub-core/font/font.c (load_font_index): Don't free char_index to
9986 avoid double free.
b25db218
VS
9987 (grub_font_load): Zero-fill font at alloc for safety.
9988 Close file on error.
9989 (free_font): Free bmp_idx.
25a45338 9990
0cac83df
VS
99912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * docs/grub.texi (Installation): Fix several outdated claims.
9994
2217a143
VS
99952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 Handle module_license on windows.
9998
9999 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10000 sections shifted.
10001 (insert_string): Make argument const char * instead of char *.
10002 (write_section_data): Handle long section names.
10003 Handle module_license.
10004
d4de6b01
VS
100052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10008 handle class-free menuentries.
10009 (grub_normal_add_menu_entry): Add a check to be sure.
10010
4c2a3b43
VS
100112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10014 PgUp and PgDown.
10015
85c6210f
VS
100162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * configure.ac: Bump version to 1.99.
10019
36084912
VS
100202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 Give ATA device a bit more time on first try in order to allow disks
10023 to spin up.
10024
10025 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10026 if dev->present is 1. Reset dev->present on failure.
10027 (grub_ata_device_initialize): Set dev->present to 1.
10028 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10029 (grub_ata_device): New member 'present'.
10030
bda0e219
VS
100312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * util/grub-mkimage.c (generate_image): Update hash.
10034
19e1c41b
VS
100352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Flush caches on DMA memory.
10038
10039 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10040 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10041 (grub_dma_free): Likewise.
10042 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10043
91bbcc0c
VS
100442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10047 to avoid asm treating ld and sd as macros.
10048
60ddfad3
VS
100492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10052 decompressor.
10053
a298aa04
VS
100542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10057 grub_decompress_core since later would fail if grub_decompress_core
10058 is too far.
10059
9b44feca
VS
100602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10063 R_MIPS_JALR since it's used by newer compiler.
10064
56dbe7b4
VS
100652011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10068
52856af2
VS
100692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10072 file_path to 0 for surety.
10073 (grub_chainloader_boot): Set exit_data to NULL.
10074 Unset the loader once done.
10075 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10076
9c9bfc6d
VS
100772011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10080 unknown key into a dprintf.
10081
dd94a3df
VS
100822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10085 on first non-existant partition.
10086
fa68d99c
VS
100872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10090 openning fails.
10091 Reported by: Mark Korenberg.
10092
157effb7
VS
100932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10096 overflow.
10097
ea75312f
VS
100982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10101 before closing to ensure that it will be readable by grub-setup.
10102
072b5d31
VS
101032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10106 (devpath_1): Use MAKE_PIWG_PATH.
10107 (devpath_2): Likewise.
10108 (devpath_3): Likewise.
10109 (devpath_4): Likewise.
10110 (devpath_5): Likewise.
10111 (devpath_6): Likewise.
10112
10113 The appleldr.mod was checked that to be binary identical to previous
10114 version.
10115
7fae0051
Z
101162011-05-05 Zach <mikezackles>
10117
10118 Support 2010 Macbooks.
10119
10120 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10121 (devs): Add devpath_6.
10122
7c515bee
VS
101232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10126 /dev/random. /dev/urandom is good enough for our purposes (salting).
10127
ed660bd8
VS
101282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10131
ee5614b7
VS
101322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10135 hexadecimal.
10136
664889a6
VS
101372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10140 and not 0 on failure.
10141
bd405bbc
CW
101422011-05-03 Colin Watson <cjwatson@ubuntu.com>
10143
10144 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10145 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10146 disk; otherwise grub_fs_probe will not fall back to the next
10147 filesystem.
10148 (grub_pxefs_open): Likewise, for consistency.
10149 Reported and tested by: Ezekiel Grave.
10150
4ebff753
CW
101512011-05-03 Colin Watson <cjwatson@ubuntu.com>
10152
10153 * tests/partmap_test.in: Don't hardcode path to parted.
10154 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10155
8f942553
CW
101562011-05-01 Colin Watson <cjwatson@ubuntu.com>
10157
10158 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10159 of `ls' to find out which devices are available.
10160
3c62402d
VS
101612011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10164 than source address for efi mmap buffer.
10165
723f63f2
VS
101662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10169 wrong action on non-detecting the magic.
10170
68797f92
VS
101712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10174 already supplied by another part of the module (fixes compilation on
10175 FreeBSD).
10176
6be8715d
VS
101772011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10180 match the one used by mdadm.
10181
e91dba5b
CW
101822011-04-21 Colin Watson <cjwatson@ubuntu.com>
10183
10184 * po/README: Add instructions for creating po/LINGUAS.
10185
c85140b3
CW
101862011-04-21 Colin Watson <cjwatson@ubuntu.com>
10187
10188 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10189 #551428.
10190
10191 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10192 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10193 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10194 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10195 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10196 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10197 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10198 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10199 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10200 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10201 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10202 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10203 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10204 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10205 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10206 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10207 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10208 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10209 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10210 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10211 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10212 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10213
92051871
CW
102142011-04-21 Colin Watson <cjwatson@ubuntu.com>
10215
10216 * grub-core/kern/emu/getroot.c
10217 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10218 test that was incorrectly reintroduced in r3214.
10219 Reported by: Ian Dall. Fixes Savannah bug #33133.
10220
b13f79a4
CW
102212011-04-21 Colin Watson <cjwatson@ubuntu.com>
10222
10223 Fix stack pointer handling in 16-bit relocator.
10224
10225 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10226 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10227 Fixes Ubuntu bug #683904.
10228
9b710a88
VS
102292011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * configure.ac: Bump version to 1.99~rc2.
10232
d97e7b59
VS
102332011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10236 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10237 * grub-core/lib/x86_64/setjmp.S: Likewise.
10238 * grub-core/lib/mips/setjmp.S: Likewise.
10239 * grub-core/lib/powerpc/setjmp.S: Likewise.
10240 * grub-core/lib/sparc64/setjmp.S: Likewise.
10241
0624551c
VS
102422011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10245 * grub-core/lib/efi/datetime.c: Likewise.
10246
e8f28d4c
VS
102472011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10250 New function.
10251 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10252 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10253 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10254
bba79a15
VS
102552011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10258 bitmap.
10259 (grub_gfxterm_term_init): Likewise.
10260
abc474ef
VS
102612011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 Take into account the decorations the computing menu entry width.
10264
10265 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10266 (grub_gfxmenu_create_box): Register get_border_width.
10267 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10268 if available.
10269 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10270 get_border_width.
10271
e74b3947
EP
102722011-04-18 Endres Puschner <code@e7p.de>
10273
10274 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10275 Don't skip first class.
10276
34faa595
VS
102772011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10280 chunks.
10281 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10282
93a777e3
VS
102832011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 Complete 64-bit division support.
10286
10287 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10288 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10289 * include/grub/misc.h (grub_divmod64): Rename to ...
10290 (grub_divmod64_full): ... this.
10291 (grub_divmod64): New inline function.
10292
a5102d94
VS
102932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10296
f3fb7b36
VS
102972011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10300 performing the necessary test.
10301
9ac718b0
VS
103022011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10305 (kfreebsd.elf): Likewise.
10306 (pc-chainloader.elf): Likewise.
10307 (ntldr.elf): Likewise.
10308
50d2cc5a
VS
103092011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 Identify RAID by its UUID rather than (guessed) name.
10312
10313 * grub-core/disk/raid.c (ascii2hex): New function.
10314 (grub_raid_open): Accept mduuid/%s specification.
10315 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10316 (get_mdadm_uuid): ... this.
10317 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10318
e03f7bea
VS
103192011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10322 to negative size.
10323
e74c3112
CW
103242011-04-13 Colin Watson <cjwatson@ubuntu.com>
10325
10326 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10327 btrfs subvolume.
10328 * util/grub.d/20_linux_xen.in: Likewise.
10329
78fa584f
CW
103302011-04-13 Colin Watson <cjwatson@ubuntu.com>
10331
10332 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10333 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10334
10335 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10336 Build a list of relevant visible mounts using the mnt_id and
10337 parent_mnt_id fields, and then scan that list at the end.
10338
9d5f8162
CW
103392011-04-12 Colin Watson <cjwatson@ubuntu.com>
10340
10341 * docs/grub.texi (normal): New section.
10342 (normal_exit): New section.
10343 (Embedded configuration): Add reference to normal.
10344 (GRUB only offers a rescue shell): Likewise.
10345 * docs/grub-dev.texi (Error Handling): Fix typo.
10346
09a9d66f
CW
103472011-04-12 Colin Watson <cjwatson@ubuntu.com>
10348
10349 * NEWS: Drop obsolete entry about probe-only btrfs support.
10350
0c676933
CW
103512011-04-12 Colin Watson <cjwatson@ubuntu.com>
10352
10353 * util/import_gcry.py: Fix typo.
10354
ec9f5e0d
VS
103552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * NEWS: Add btrfs support.
10358
fe6b2cba
VS
103592011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
103602011-04-11 Colin Watson <cjwatson@ubuntu.com>
10361
10362 BtrFS support. Written by me (Vladimir) with important bugfixes and
10363 even more important testing by Colin.
10364
10365 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10366 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10367 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10368 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10369 mem_input_off and mem_input. All users updated to accept in-RAM input.
10370 (gzio_seek): New function.
10371 (test_zlib_header): Likewise.
10372 (grub_gzio_read): Likewise.
10373 (grub_zlib_decompress): Likewise.
10374 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10375 Accept partial and non-virtual mounts.
10376 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10377 avoid receiving /dev/dm-X as device.
10378 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10379 Handle bind and partial mounts.
10380 * grub-core/lib/crc.c: New file.
10381 * include/grub/deflate.h: Likewise.
10382 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10383 proto.
10384 * include/grub/lib/crc.h: New file.
10385
e745cf0c
VS
103862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Implement automatic module license checking according to new GNU
10389 guidelines.
10390
10391 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10392 (grub_dl_load_core): Use grub_dl_check_license.
10393 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10394 (GRUB_MOD_LICENSE): Likewise.
10395 (GRUB_MOD_DUAL_LICENSE): Likewise.
10396 All modules updated.
10397
2a9bc016
CW
103982011-04-11 Colin Watson <cjwatson@ubuntu.com>
10399
10400 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10401 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10402 loaders.
10403 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10404
8a3bc88e
VS
104052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10408
af869a4a
VS
104092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10412 failed.
10413
9ee8d94f
VS
104142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10417 parenthesis in the middle of the filename.
10418
b01abe3e
VS
104192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10422 rather than trying to put initrd way too high.
10423 Reported by: Ryan Lortie <desrt@desrt.ca>
10424
335bda1e
VS
104252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10428 improperly removed string.
10429
5ca1a64d
VS
104302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10433 is_disk.
10434 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10435 (open_device) Likewise.
10436 (grub_util_biosdisk_close): Likewise.
d8ce9995 10437 Reported by: Mark Korenberg.
5ca1a64d 10438
cbac5b1e
AK
104392011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10440
10441 * util/grub-mkconfig_lib.in: Add missing quotes.
10442
088cdb65
CW
104432011-04-10 Colin Watson <cjwatson@ubuntu.com>
10444
10445 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10446 is NULL.
10447
8b8a81fa
VS
104482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 Dynamically count the number of lines for the lower banner.
10451
10452 * grub-core/normal/menu_entry.c (per_term_screen): New member
10453 num_entries.
10454 (print_down): Use num_entries.
10455 (update_screen): Likewise.
10456 (grub_menu_entry_run): Set num_entries.
10457 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10458 num_entries.
10459 (grub_print_message_indented): Move real part to ...
10460 (grub_print_message_indented_real): ... here. Additional argument
10461 dry_run.
10462 (draw_border): Additional argument num_entries.
10463 (print_message): Additional argument dry_run.
10464 (print_entries): Receive menu viewer data.
10465 (grub_menu_init_page): New argment num_entries.
10466 (menu_text_set_chosen_entry): Use num_entries.
10467 (grub_menu_try_text): Likewise.
10468 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10469 All users updated.
10470 (grub_ucs4_count_lines): New function.
10471 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10472 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10473 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10474 (grub_term_border_height): Likewise.
10475 (grub_term_num_entries): Likewise.
10476
277f955b
VS
104772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10480 Remove now unused string.
10481
536ce85a
CW
104822011-04-09 Colin Watson <cjwatson@ubuntu.com>
10483
10484 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10485 build system.
10486 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10487
10488 (Comment): Fix typo.
10489 (Getting started): General copy-editing.
10490 (Typical Development Experience): Likewise.
10491 (Error Handling): Likewise.
10492 (Video API): Likewise.
10493
2cf09e32
CW
104942011-04-09 Colin Watson <cjwatson@ubuntu.com>
10495
10496 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10497 throughout.
10498
1ec652f4
VS
104992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10502 directory.
10503
2c583728
CW
105042011-04-08 Colin Watson <cjwatson@ubuntu.com>
10505
10506 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10507 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10508 "development".
10509
d7a565e9
VS
105102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10513 grub_strcpy since the lines aren't necessarily 0-terminated.
10514
7c2e4909
VS
105152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10518 root on legacy.
10519
34c09785
VS
105202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10523 (GRUB_MOD_INIT): DEVICE isn't optional.
10524
6a6f8058
VS
105252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10528 word on new line if it's too long anyway. Fixes a hang.
10529
2e335e90
VS
105302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10533 const.
10534 * util/grub-setup.c (main): Reuse md device name if available.
10535 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10536 not GRUB name as argument.
10537 Based on patch by: Florian Wagner <fwagner>.
10538
10a7a867
VS
105392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10542 Place mbi on low memory for better compatibility.
10543
7a3d6cd9
VS
105442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10547
18dd6b47
VS
105482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
105492011-04-08 Colin Watson <cjwatson@ubuntu.com>
10550
10551 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10552 * conf/Makefile.common: Likewise.
18dd6b47 10553
3c0e3f14
VS
105542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10555
f7148863
VS
10556 * grub-core/normal/menu.c: Add missing include.
10557
105582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10561
6d1fa41f
MZ
105622011-04-08 Martin Zuther <mzuther@mzuther.de>
10563
10564 * util/grub-mkconfig.in: Ignore emacsen backup.
10565
478182a8
VS
105662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10569 on open.
10570 (grub_util_biosdisk_close): Likewise.
10571
72a89a54
VS
105722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10575 const attribute and use grub_isdigit.
10576
b5ebecfa
A
105772011-04-06 Andrey <dev_null@ukr.net>
10578
10579 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10580 gcc warning.
10581
7755f66e
VS
105822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10585 useful grub_dprintf's.
10586
461121ff
VS
105872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10590
2a961775
VS
105912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10594
adf594cc
VS
105952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Output errors if theme loading failed.
10598
10599 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10600 grub_gfxterm_fullscreen on error paths to ...
10601 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10602 theme loading error.
10603
665900a3
VS
106042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10607 space for older compilers.
10608 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10609
a562b479
VS
106102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10613 and report them as not RAID members since they are useless for GRUB.
10614 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10615
850e9373
VS
106162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 Increase LVM implementation robustness in order not to crash on
10619 configurations like pvmove. Previously code assumed that in some places
10620 only lvs or only pvs are used whereas it seems that they are used
10621 interchangeably.
10622
10623 * grub-core/disk/lvm.c (read_node): New function.
10624 (read_lv): Use read_node.
10625 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10626 Match volumes only at the end when all lvs are found. Take both
10627 pvs (first) and lvs (second) into account.
10628 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10629 mirror_* into node_*. All users updated.
10630 (grub_lvm_stripe): Merge this ...
10631 (grub_lvm_mirror): ... and this ...
10632 (grub_lvm_node): ... into this. All users updated.
10633
6f332153
VS
106342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10637 of function to allow further scanning for LVMs.
10638
829ea451
VS
106392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10642 on failed seek as it breaks open fd reusage.
10643
09ceb9a5
VS
106442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * util/grub-install.in: Add a recommendation to use --recheck before
10647 reporting bugs.
10648
67e11623
VS
106492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10652 are obtained.
10653
caee5efd
VS
106542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 GRUB developper manual based on existing Internals section and
10657 contributions by the various authors with active copyright assignment.
10658
10659 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10660 * docs/font_char_metrics.png: New file.
10661 * docs/font_char_metrics.txt: Likewise.
10662 * docs/grub-dev.texi: Likewise.
10663 * docs/grub.texi (Internals): Move from here ...
10664 * docs/grub-dev.texi: ... here.
10665
2cccc747
CW
106662011-04-01 Colin Watson <cjwatson@ubuntu.com>
10667
10668 Store the loopback device as data on loopback grub_disk structures,
10669 rather than the file it points to. This fixes use of freed memory
10670 if an existing loopback device is replaced.
10671
10672 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10673 disk->data, not dev->file.
10674 (grub_loopback_read): Adjust file assignment to match.
10675 Fixes Ubuntu bug #742967.
10676
186ae367
CW
106772011-04-01 Colin Watson <cjwatson@ubuntu.com>
10678
10679 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10680 when replacing an existing device.
10681
cfed2ad0
VS
106822011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10685 memory corruptions.
10686
10687 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10688 unsigned.
10689 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10690 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10691 (grub_jfs_read_inode): Likewise.
10692 (grub_jfs_opendir): Likewise. Remove now useless casts.
10693 (grub_jfs_getent): Likewise.
10694 Make ino a grub_uint32_t rather than int.
10695 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10696 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10697 division and module with bit operations.
10698 (grub_jfs_find_file): Make ino a grub_uint32_t.
10699 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10700
05d2ed32
CW
107012011-04-01 Colin Watson <cjwatson@ubuntu.com>
10702
10703 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10704 warning. (This was in fact always initialised before use, but GCC
10705 wasn't smart enough to prove that.)
10706 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10707
91dc6073
VS
107082011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10711 stack alignment.
10712 (efi_wrap_1): Likewise.
10713 (efi_wrap_2): Likewise.
10714 (efi_wrap_3): Likewise.
10715 (efi_wrap_4): Likewise.
10716 (efi_wrap_5): Likewise.
10717 (efi_wrap_6): Likewise.
10718 (efi_wrap_10): Likewise.
10719 Based on information by: Red Hat/Peter Jones.
10720
a8afc1d1
CW
107212011-03-31 Colin Watson <cjwatson@ubuntu.com>
10722
10723 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10724 set-but-not-used variable.
10725
a826cc7d
CW
107262011-03-31 Colin Watson <cjwatson@ubuntu.com>
10727
10728 * docs/grub.texi (Simple configuration): Be more explicit about
10729 GRUB_DEFAULT, and add an example.
10730 Reported by: Leslie Rhorer.
10731
875b67ba
CW
107322011-03-30 Colin Watson <cjwatson@ubuntu.com>
10733
10734 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10735 shell".
10736
fd7cd914
AS
107372011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10738
10739 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10740 * util/grub.d/20_linux_xen.in: Likewise.
10741
090b1b6a
VS
107422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/grub.d/10_linux.in: Try alternative config filenames where
10745 we parse config file.
10746 * util/grub.d/20_linux_xen.in: Likewise.
10747
baad885c
AS
107482011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10749
10750 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10751 * util/grub.d/20_linux_xen.in: Likewise.
10752
241e41f5
VS
107532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/disk/raid.c (insert_array): Add few potentially
10756 useful grub_util_info.
10757 (grub_raid_register): Likewise.
10758
56445fb2
VS
107592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10762 Preserve partition number in mdadm code path.
10763
c871b1c6
VS
107642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10767 few potentially useful grub_util_info.
10768
5e631b4f
CW
107692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10772
2d5d0333
CW
107732011-03-30 Colin Watson <cjwatson@ubuntu.com>
10774
10775 * docs/grub.texi (default): Use @example rather than nested
10776 itemized lists to avoid breaking gendocs.
10777
3d7ed04e
CW
107782011-03-30 Colin Watson <cjwatson@ubuntu.com>
10779
10780 * docs/grub.texi (Future): Update.
10781
abf04200 107822011-03-30 Colin Watson <cjwatson@ubuntu.com>
10783
10784 * docs/grub.texi (Environment): New chapter.
10785 (Changes from GRUB Legacy): Link to "Environment block" section for
10786 details of limitations.
10787 (Simple configuration): Likewise. Link to documentation of gfxmode
10788 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10789 respectively.
10790 (Shell-like scripting): Note that normal variables are stored in the
10791 environment.
10792 (gettext): Link to documentation of lang and locale_dir.
10793 (list_env): New section.
10794 (load_env): New section.
10795 (save_env): New section.
10796
10797 (Reporting bugs): Fix typo.
10798
e1ad0edd
VS
107992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10802 the example.
10803
5d803174
VS
108042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/term/at_keyboard.c (set_scancodes)
10807 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10808
2a2da1d0
CW
108092011-03-30 Colin Watson <cjwatson@ubuntu.com>
10810
10811 * docs/grub.texi (Menu-specific commands): Remove some semantics
10812 that were true in GRUB Legacy but not in GRUB 2.
10813 (submenu): New section.
10814 (false): New section.
10815 (read): New section.
10816 (true): New section.
10817
a7527639
CW
108182011-03-30 Colin Watson <cjwatson@ubuntu.com>
10819
10820 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10821
108222011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10823
10824 * docs/grub.texi (Simple configuration): Explain some of the
10825 current limitations of grub-mkconfig.
8a748df2 10826 Reported by: Leslie Rhorer.
e30af029 10827
fc858482
VS
108282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Old macs search for boot.efi rather than for bootia32.efi.
10831
10832 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10833 * util/grub-mkrescue.in: Likewise.
10834 Suggested by: Peter Jones.
10835
e1eb511d
VS
108362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10839
70e75364
VS
108402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10843 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10844 (grub_lvm_mirror): New struct.
10845 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10846 (grub_lvm_iterate): Iterate only visible volumes.
10847 (grub_lvm_read): Factor out to ..
10848 (read_lv): ... this. Support mirrors.
10849 (grub_lvm_read): New wrapper function.
10850 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10851 stripped or mirrored.
10852
fc18f6a3
VS
108532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10856
5c650f4c
CW
108572011-03-29 Colin Watson <cjwatson@ubuntu.com>
10858
10859 * docs/grub.texi (loopback): New section.
10860
61d7156b
CW
108612011-03-29 Colin Watson <cjwatson@ubuntu.com>
10862
10863 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10864 removed -p option.
10865
994b8264
CW
108662011-03-29 Colin Watson <cjwatson@ubuntu.com>
10867
10868 * docs/grub.texi (BIOS installation): New section, partly based on
10869 previous text in other sections.
10870 (Installing GRUB using grub-install): Replace BIOS discussion with a
10871 cross-reference.
10872 (Images): Likewise.
10873
9e4d19e0
VS
108742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10877 [HAVE_DIOCGDINFO]: Add safety checks.
10878
a307c0b2
VS
108792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10882 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10883
b4db4f39
CW
108842011-03-29 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10887 real_sb->size is zero (e.g. RAID-0), get the disk size from
10888 real_sb->data_size instead.
10889 Fixes Ubuntu bug #743136.
10890
35e5f84c
VS
108912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10894 printf clauses for printing size and start.
10895
d2e29d81
VS
108962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10899 Reported and tested by: Timothy Nikkel.
10900
ed5587af
VS
109012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10904 (dirty_region_add_real): ... this.
10905 (dirty_region_add): Don't discard margin refresh when performing
10906 scheduled repaint.
10907
a1dc717c
VS
109082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * grub-core/lib/relocator.c (allocate_regstart)
10911 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10912 terminals are capabple of malloc-free operation.
10913 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10914 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10915
9f3677d3
VS
109162011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10917
10918 * util/grub-setup.c: Copy the partition table zone if floppy support
10919 is disabled, even if no partition table is found.
10920
10921 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10922 during POST if an invalid partition table is contained in the PBR
10923 of the active partition when GRUB is installed to a partition.
10924
24148725
CW
109252011-03-28 Colin Watson <cjwatson@debian.org>
10926
10927 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10928 comment.
10929
f329eda7
CW
109302011-03-28 Colin Watson <cjwatson@debian.org>
10931
10932 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10933 to be specific about what kind of RAID device we're scanning for.
10934
c482ad98
SG
109352011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10936
10937 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10938 return freed string.
10939
5ee04984
VS
109402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10943
f4727da9
VS
109442011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 Use libgeom on FreeBSD to detect partitions.
10947
10948 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10949 (grub-mkrelpath): Likewise.
10950 (grub-script-check): Likewise.
10951 (grub-editenv): Likewise.
10952 (grub-mkpasswd-pbkdf2): Likewise.
10953 (grub-fstest): Likewise.
10954 (grub-mkfont): Likewise.
10955 (grub-mkdevicemap): Likewise.
10956 (grub-probe): Likewise.
10957 (grub-setup): Likewise.
10958 (grub-ofpathname): Likewise.
10959 (grub-mklayout): Likewise.
10960 (example_unit_test): Likewise.
10961 (grub-menulst2cfg): Likewise.
10962 * grub-core/Makefile.core.def (grub-emu): Likewise.
10963 (grub-emu-lite): Likewise.
10964 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10965 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10966 define HAVE_DIOCGDINFO.
10967 (follow_geom_up) [FreeBSD]: New function.
10968 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10969 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10970 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10971 unconditionally of HAVE_DIOCGDINFO.
10972
82fe6c75
VS
109732011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 Fix FreeBSD compilation problem.
10976
10977 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10978 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10979
4c6c9431
CW
109802011-03-24 Colin Watson <cjwatson@ubuntu.com>
10981
10982 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10983 Switch back to page zero before loading a kernel, since some kernel
10984 drivers expect that.
10985 Thanks to: Felix Kuehling.
10986
c7064d94
VS
109872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10990 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10991 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10992
3f71cded
VS
109932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10996 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10997
ef6de21a
VS
109982011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11001 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11002 malloc is disabled.
11003
8bc66a2c
VS
110042011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11007 for modules headers when counting the needed allocation size.
11008
5657722c
VS
110092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11012 if no ASCII character is found to prevent crash.
11013
41a85f55
AK
110142011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11015
11016 * grub-core/video/bitmap.c (match_extension): Ignore case.
11017
59e1e5f1
VS
110182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11021
bd4d051a
VS
110222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * grub-core/script/parser.y: Declare "time" as valid argument.
11025
bae7fcc1
PJ
110262011-03-23 Peter Jones <pjones@redhat.com>
11027
11028 Fix incorrect assert failure reporting.
11029
11030 * grub-core/tests/example_functional_test.c (example_test): Add
11031 a failure comment.
11032 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11033 (failure_start): ...this. Check that malloc succeeded.
11034 Don't call xvasprintf. Return failure struct.
11035 (failure_append_vtext): New function.
11036 (failure_append_text): Likewise.
11037 (add_failure): Likewise.
11038 (grub_test_assert_helper): Likewise.
11039 * include/grub/test.h (grub_test_assert_helper): New declaration.
11040 (grub_test_assert): Macro rewritten.
11041
537dc9be
VS
110422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11045
fa3e01bf
VS
110462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11049
b1d28404
VS
110502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11053 into GRUB-style one.
11054
2e3e2e09
VS
110552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11058 error and not grub_errno.
11059 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11060
ed57e557
VS
110612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11064 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11065
d1611f01
VS
110662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/efiemu/i386/pc/cfgtables.c
11069 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11070 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11071 (grub_xnu_unlock): Likewise.
11072 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11073
7d4e39d6
VS
110742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11077 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11078 * grub-core/commands/hashsum.c (aliases): Likewise.
11079 * grub-core/commands/setpci.c (pci_registers): Likewise.
11080 * grub-core/disk/usbms.c (attach_hook): Likewise.
11081 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11082 (zio_checksum_table): Likewise.
11083 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11084 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11085 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11086 * grub-core/lib/relocator.c (leftovers): Likewise.
11087 (extra_blocks): Likewise.
11088 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11089 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11090 (modules_last): Likewise.
11091 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11092 (devices): Likewise.
11093 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11094 (modules_last): Likewise.
11095 * grub-core/normal/auth.c (users): Likewise.
11096 * grub-core/normal/context.c (initial_menu): Likewise.
11097 (current_menu): Likewise.
11098 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11099 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11100 (grub_serial_terminfo_input_template): Likewise.
11101 (grub_serial_terminfo_output_template): Likewise.
11102 (grub_serial_terminfo_input): Likewise.
11103 (grub_serial_terminfo_output): Likewise.
11104 (registered): Likewise.
11105 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11106
40fc4659
VS
111072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11110 grub_video_mode_type_t.
11111 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11112 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11113 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11114
2da48d28
VS
111152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * util/grub-install.in: Correct the x86-64 name as x86_64.
11118
9b43bf39
CW
111192011-03-11 Colin Watson <cjwatson@ubuntu.com>
11120
11121 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11122 initial chunk read from the kernel always includes GRUB's multiboot
11123 header, which is now outside the first sector.
11124
be1a7ce0
CW
111252011-03-09 Colin Watson <cjwatson@ubuntu.com>
11126
11127 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11128 cached mmap_size, so that this works correctly when called multiple
11129 times.
11130 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11131
83a3c48d
CW
111322011-03-09 Colin Watson <cjwatson@ubuntu.com>
11133
11134 * docs/grub.texi (Simple configuration): Tidy up formatting.
11135
57d75699
SJ
111362011-03-07 Szymon Janc <szymon@janc.net.pl>
11137
11138 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11139 Set-but-not-used variable removed.
11140
028501a0
VS
111412011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 Workaround yet another IEEE1275 bug.
11144
11145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11146 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11147 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11148 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11149 is set.
11150 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11151 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11152
d998657d
VS
111532011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11156 error.
11157
fee7cdd4
CW
111582011-02-11 Colin Watson <cjwatson@ubuntu.com>
11159
11160 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11161 empty, since in that case we can only generate either nothing or a
11162 syntactically invalid configuration file.
11163 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11164
97286eb5
CW
111652011-02-09 Colin Watson <cjwatson@ubuntu.com>
11166
11167 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11168 (Making a GRUB bootable CD-ROM): Likewise.
11169 (Invoking grub-mkrescue): New section.
11170 Reported by: Yann Dirson. Fixes Debian bug #612585.
11171
22b28eb3
CW
111722011-02-09 Colin Watson <cjwatson@ubuntu.com>
11173
11174 * util/grub-install.in: Remove unnecessary brackets from tr
11175 arguments.
11176 * util/grub.d/10_hurd.in: Likewise.
11177 * util/grub.d/10_kfreebsd.in: Likewise.
11178 * util/grub.d/10_linux.in: Likewise.
11179 * util/grub.d/20_linux_xen.in: Likewise.
11180 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11181
7e735e43
CW
111822011-02-08 Colin Watson <cjwatson@ubuntu.com>
11183
11184 * include/grub/file.h (not_easly_seekable): Rename to ...
11185 (not_easily_seekable): ... this. Update all users.
11186
800f1881
CW
111872011-01-28 Colin Watson <cjwatson@ubuntu.com>
11188
11189 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11190 grub-mkrescue.
11191
3281d3d6
VS
111922011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * util/grub-mkimage.c (generate_image): Refuse to create the images
11195 bigger than the actual flash (512K) in Loongson machines. 512K is also
11196 the biggest chip supported by them.
11197
3533413c
VS
111982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11201
73ae4f4f
VS
112022011-01-22 Anthony DeRobertis <anthony@derobert.net>
11203
11204 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11205 super_offset field.
11206
37f4f608
VS
112072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/grub-install.in: Ignore install device on platforms
11210 where it doesn't make sense. Always use UUIDs except on pc, efi and
11211 sparc64.
11212 Reported by: Daniel Kahn Gillmor.
11213
03a4ccb5
VS
112142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11217
ffc8f4d8
VS
112182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11221 (iterate_real): Don't rely on partition being non-NULL.
11222
80f23be7
VS
112232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11226 supported platforms. Put a compile time assert for this rather than
11227 generate a warning with 32-bit shift.
11228
5d4f4dd5
VS
112292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11232 logical expression more readable.
11233
e489601a
VS
112342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11237 even if some elements have a name.
11238 Reported by: Alexander GQ Gerasiov.
11239
96e0a6ea
CW
112402011-01-22 Colin Watson <cjwatson@ubuntu.com>
11241
11242 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11243 path unreadable if `grub-probe -t abstraction' fails, for example if
11244 memberlist fails on an LVM volume group.
11245 Reported by: Darius Jahandarie.
11246
81431e2b
CW
112472011-01-22 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * docs/grub.texi (Simple configuration): Document
11250 GRUB_PRELOAD_MODULES.
11251
5e79d66a
CW
112522011-01-17 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * .bzrignore: Remove nonexistent grub-pbkdf2.
11255
646ada34
VS
112562011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * configure.ac: Bump version to 1.99~rc1.
11259
04360337
VS
112602011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11263 for safety.
11264
46c9db88
VS
112652011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11268 module.
11269
112702011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11271
11272 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11273
4fbf1852
VS
112742011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11277 diskdevid.
11278
f1632d4d
VS
112792011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 Fix compilation on cygwin.
11282
11283 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11284 -R .drectve on cygwin.
11285 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11286 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11287 (COND_CYGWIN): New condition.
11288 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11289 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11290 not @TARGET_OBJ2ELF@.
11291 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11292 type to determine whether aux is to be used.
11293
0b5e127b
VS
112942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11297 realpath'ed device string.
11298 Handle floppy (somewhat).
11299 Issue error in unknown case rather than garbage.
11300 Reported by: Axel Beckert.
11301
173b71e9
VS
113022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * util/grub.d/00_header.in (load_video): Handle the case when no video
11305 drivers available.
11306 Thanks to: Axel Beckert.
11307
f8f479db
VS
113082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11311 variable. Fixes problem on big endian platforms.
11312
8fc0a245
VS
113132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11316 It doesn't work well there.
11317
b8494fbe
VS
113182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11321 warning.
11322 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11323 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11324 counter.
11325
b44a558c
VS
113262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Use alias->path rather than buggy "canon".
11329
11330 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11331 (ofdisk_hash_add): New argument curcan. All users updated.
11332
51fa856c
CW
113332011-01-11 Colin Watson <cjwatson@ubuntu.com>
11334
11335 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11336
9da068a5
VS
113372011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11340 loadmask before doing any calculations. Use correct type for offset.
11341 (grub_linux_load64): Likewise.
11342
86205c94
CW
113432011-01-11 Colin Watson <cjwatson@ubuntu.com>
11344
11345 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11346 with NULL.
11347 (console_grub_equivalences_unshift): Likewise.
11348 Reported by: Daniel Dehennin.
11349
4531a206
VS
113502011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11353 (set_env_limn_ro): Likewise.
11354 (GRUB_MOD_INIT): Likewise.
11355 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11356 ARRAY_SIZE while on it.
11357 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11358 * grub-core/normal/context.c (grub_env_export): Move from here ...
11359 * grub-core/kern/env.c (grub_env_export): ... here.
11360 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11361 prefix.
11362 * grub-core/kern/main.c (grub_main): Export root and prefix.
11363 * include/grub/env.h (grub_env_export): Export.
11364 Reported by: Seth Goldberg.
11365
45146057
VS
113662011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11369 Take into account space used by ELF sections and multiboot palette.
11370 Reported by: Grégoire Sutre.
11371
f093110b
VS
113722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * BUGS: New file.
11375
3395fe52
VS
113762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 Pass more appropriate video id to Linux.
11379
11380 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11381 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11382 fill have_vga.
11383 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11384 shift params->lfb_size.
11385 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11386
c2fa6cbb
VS
113872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11390
b3ff6ff0
VS
113912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11394 separator and pass bootpath/devid even if only one of them is available.
11395 Reported by: Seth Goldberg.
11396
ae67942e
VS
113972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11400 implementations bug on them.
11401
11402 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11403 memory.
11404 (filter_memory_map): Likewise.
11405
d570097a
VS
114062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11409 Reported by: nebuchadnezzar.
11410
a508e776
VS
114112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11414 Reported by: nebuchadnezzar.
11415
dcb883b1
VS
114162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 Submenu default support.
11419
11420 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11421 auto_boot. All users updated.
11422 Declared static.
11423 Handle chosen and default with submenus.
11424 (grub_menu_execute_with_fallback): Declared static.
11425 Don't notify failure if autobooted. Upper level does it.
11426 (menuentry_eq): New function.
11427 (get_entry_number): Use menuentry_eq.
11428 (show_menu): New parameter "autobooted". All users updated.
11429 (grub_show_menu): Likewise.
11430 * include/grub/normal.h (grub_show_menu): Likewise.
11431 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11432 (grub_menu_execute_with_fallback): Likewise.
11433
6fef99b4
VS
114342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * util/grub-mklayout.c (usage): Update help text.
11437
47a77af5
VS
114382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11441
ce6bb3ee
VS
114422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * util/grub-menulst2cfg.c (main): Trim the line.
11445
db87be2a
VS
114462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11449 (grub_machine_init): Don't check amount of low memory as reportedly
11450 INT 12h can be broken and if low memory is too low we wouldn't have
11451 gotten into grub_machine_init anyway.
11452
c49849cc
VS
114532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11456 (grub_machine_mmap_iterate): Take low memory into account
11457
b1969b30
VS
114582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11461 badfs.
11462 Reported by: TiCPU.
11463
cf0eaf13
VS
114642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11467 members errors.
11468
1f060f39
GS
114692011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11470
11471 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11472 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11473
a21e5672
GS
114742011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11475
11476 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11477 openbsd and netbsd types being in part_bsd module.
11478
c88172fa
VS
114792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11482 (_FILE_OFFSET_BITS): Likewise.
11483 Reported by: Seth Goldberg.
11484
53798c4b
GS
114852011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11486
11487 * configure.ac: Check for libdevmapper header.
11488
e7121b69
VS
114892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11492 avoid aliasing.
11493 (fzap_lookup): Likewise.
11494 (dnode_get): Likewise.
11495 (make_mdn): Likewise.
11496 (zfs_mount): Likewise.
11497 (fzap_iterate): Use temporary pointer to avoid aliasing.
11498 (grub_zfs_read): Likewise.
11499 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11500 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11501 pointers to avoid aliasing.
11502 (grub_cmd_xnu_kernel64): Likewise.
11503 (grub_xnu_load_driver): Likewise.
11504
fc836af9
VS
115052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11508 aliasing warning.
11509 (grub_cmd_terminal_output): Likewise.
11510 Reported and tested by: Grégoire Sutre.
11511
f9f37648
VS
115122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11515 warning.
11516 Reported and tested by: Grégoire Sutre.
11517
ec1dfd63
VS
115182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * configure.ac: Do CPU substitution even if it's specified explicitly.
11521 Reported and tested by: Alain Greppin.
11522
9462775a
VS
115232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11526 Reported and tested by: Alain Greppin.
11527
0fd48e35
VS
115282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 Satisfy some bison versions need for inttypes.h.
11531
11532 * grub-core/lib/posix_wrap/inttypes.h: New file.
11533 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11534 (int16_t): Likewise.
11535 (int32_t): Likewise.
11536 (int64_t): Likewise.
11537 Reported and tested by: Alain Greppin.
11538
43f1bc83
VS
115392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11542 Silence spurious warning.
11543 Reported and tested by: Alain Greppin.
11544
64d1f041
SJ
115452011-01-07 Szymon Janc <szymon@janc.net.pl>
11546
11547 * docs/grub.texi (Support automatic decompression): Update with xz
11548 decompression support.
11549
25953e10
SJ
115502011-01-07 Szymon Janc <szymon@janc.net.pl>
11551
11552 Improve loaders' kernel command line handling.
11553
11554 * grub-core/lib/cmdline.c: New file.
11555 * include/grub/lib/cmdline.h: Likewise.
11556 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11557 grub_create_loader_cmdline to create kernel command line.
11558 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11559 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11560 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11561 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11562 (linux): Add lib/cmdline.c on common.
11563
e72d259f
VS
115642011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11567 inopos might be unaligned.
11568
c0cf26da
VS
115692011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11572 endian transformations.
11573 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11574 Based on report by: Doug Nazar.
11575
0ca09e6c
DN
115762011-01-07 Doug Nazar <nazard.michi@gmail.com>
11577
11578 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11579 array->members[i].start_sector.
11580 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11581
014b6806
VS
115822011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11585 Reported and tested by: Grégoire Sutre.
11586
415502c2
CW
115872011-01-06 Colin Watson <cjwatson@ubuntu.com>
11588
11589 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11590 avoid causing test failures by clearing the screen.
11591
71b6a2b7
CW
115922011-01-06 Colin Watson <cjwatson@ubuntu.com>
11593
11594 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11595 Fix prefix check to handle the case where dir ends with a slash
11596 (most significantly, "/" itself).
11597 Reported by: Michael Vogt.
11598
b3f8d28a
VS
115992011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 Run terminfo_cls on initing terminfo output to clear the screen and
11602 move the cursor to (0,0).
11603
11604 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11605 Call grub_terminfo_output_init.
11606 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11607 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11608 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11609
4c3e4f37
VS
116102011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11613 only when needed.
11614
488f71f1
VS
116152011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11618 CTRL.
11619
18a38098
VS
116202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 The E820 type 5 is BADRAM, not EXEC_CODE.
11623
11624 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11625 (GRUB_E820_BADRAM): New define.
11626 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11627 into reserved. Propagate BADRAM.
11628 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11629 (GRUB_E820_BADRAM): New define.
11630
9eae2084
VS
116312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11634 Ignore the memory post-4G.
11635 (grub_relocator_firmware_alloc_region): Additional debug statement.
11636
ebc71d28
VS
116372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11640 names.
11641 Reported by: David Pravec.
11642
446fa400
VS
116432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11646 BIOSes.
11647
a0159f37
VS
116482011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11651 Prevent overflow.
11652 (grub_reed_solomon_recover): Likewise.
11653
e5146ca1
VS
116542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11657
116582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11659
11660 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11661 variable.
11662
5b1bdf12
CW
116632011-01-04 Colin Watson <cjwatson@ubuntu.com>
11664
11665 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11666 descriptions of extract_legacy_entries_source and
11667 extract_legacy_entries_configfile.
11668 Reported by: Seung Soo, Ha.
11669
99d925aa
CW
116702011-01-03 Colin Watson <cjwatson@ubuntu.com>
11671
11672 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11673 on devices that do not implement function 0.
11674
4af0504b
DV
116752011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11676
11677 * grub-core/fs/hfsplus.c: Make parent unsigned.
11678 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11679 overflows.
11680 (grub_hfsplus_cmp_extkey): Likewise
11681
469ee10a
VS
116822011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 * util/grub-install.in: Correctly use bootloader_id and not
11685 GRUB_DISTRIBUTOR on efibootmgr line.
11686
323a8e9c
VS
116872011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11690
1b394975
IC
116912010-12-31 Ian Campbell <ijc@hellion.org.uk>
11692
11693 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11694 Xen and reorder menu item wording to make it clearer that this entry
11695 will launch Xen. Print separate messages when loading Xen and
11696 Linux.
11697
275bff5f
VS
116982010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11701 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11702 loop in case of incorrect amiga partmap.
11703
307806cb
VS
117042010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11707 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11708 Reported by:EHeM.
11709
b12b923e
VS
117102010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11713 spurious warning.
11714 Reported by: crocket
11715
14b48a19
VS
117162010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11719 Preload EFIemu.
11720 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11721
693db2df
VS
117222010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11725 is loaded
11726 (grub_cmd_xnu_kextdir): Likewise.
11727 (grub_cmd_xnu_splash): Likewise.
11728
c7638645
VS
117292010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 Avoid using Reed-Solomon with 0 redundancy.
11732
11733 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11734 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11735 or 0 redundancy.
11736 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11737 (grub_reed_solomon_recover): Likewise.
11738
25dd4780
VS
117392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 Don't use disk subsystem in freebsd_boot.
11742
11743 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11744 (freebsd_biosdev): Likewise.
11745 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11746 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11747
0b2db943
VS
117482010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 Handling of files of unknown size is currently limited. They can't be
11751 used e.g. for initrd or modules. Moreover gzip handling of not
11752 easily seekable files is buggy. Disable unknown file size for now. May
11753 be inefficient but works.
11754
11755 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11756 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11757
5c408d0f
MP
117582010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11759
11760 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11761 floppy probe.
11762
190a011a
JD
117632010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11764
11765 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11766
022d01b8
SL
117672010-12-25 Shea Levy <shlevy>
11768
11769 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11770
c4855fdc
VS
117712010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11774 Windows Server 2008.
11775 Reported by: Devin Giddings.
11776
0354b867
VS
117772010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11780 writing an error message because of async power management.
11781 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11782 (grub_reboot): Likewise.
11783
ab66c69f
JU
117842010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11785
11786 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11787 keep unit tests from failing when they shouldn't.
11788
1426ef35
CW
117892010-12-21 Colin Watson <cjwatson@ubuntu.com>
11790
11791 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11792 previous patch increased the size of the RS code by 20 bytes (at
11793 least with gcc-4.4), so increase this by 20 bytes to match.
11794 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11795
20641b6b
CW
117962010-12-21 Colin Watson <cjwatson@ubuntu.com>
11797
11798 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11799 scratch area. Make sure to initialise chosen in standalone mode as
11800 well as non-standalone.
11801 Reported by: Robert Hooker and Andy Whitcroft.
11802 Tested by: Andy Whitcroft.
11803
d060ad60
CW
118042010-12-21 Colin Watson <cjwatson@ubuntu.com>
11805
11806 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11807 constructing a new unescaped string and passing it to grub_xputs in
11808 one go, rather than passing characters to grub_printf one at a time.
11809
b889cfad
CW
118102010-12-21 Colin Watson <cjwatson@ubuntu.com>
11811
11812 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11813 initialising utf16.
11814
4e01b6c8
CW
118152010-12-21 Colin Watson <cjwatson@ubuntu.com>
11816
11817 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11818 comment. Add an extra layer of quotation, requiring the output of
11819 this function to be used in a printf format string.
11820 (gettext_printf): New function.
11821 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11822 Extract translatable strings from here-documents and use a temporary
11823 variable instead, so that xgettext can find them.
11824 * util/grub.d/10_kfreebsd.in: Likewise.
11825 * util/grub.d/10_linux.in: Likewise.
11826 * util/grub.d/20_linux_xen.in: Likewise.
11827
11828 * po/grub.d.sed: New file.
11829 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11830 arguments. Set c-format flags on all strings extracted from
11831 util/grub.d/ (xgettext refuses to include these itself for strings
11832 it extracted from a shell file, but these really are c-format).
11833
5318fe98
VS
118342010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11837 Avoid next pointing to nowhere.
11838
6c85b743
VS
118392010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11842 rather than assuming than rootblock is exactly in the middle.
11843 (grub_affs_label): Likewise.
11844
a2a08a35
VS
118452010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11848 reserved_first_sector to 0.
11849 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11850 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11851 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11852
7059d1ec
VS
118532010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 Fix handling of UTF-16 UDF labels.
11856
11857 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11858 (read_string): .. here.
11859 (grub_udf_label): Use read_string.
11860
30aff4cb
BC
118612010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11862
11863 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11864 editor under argument scope.
11865 Reported by: Jordan Uggla
11866
5cf86f4b
VS
118672010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11870
32570200
CW
118712010-12-18 Colin Watson <cjwatson@ubuntu.com>
11872
11873 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11874 line, and other keys scroll an entire page (previous handling was
11875 for \r and \n to scroll a page and other keys to scroll two lines).
11876
e1dffcf2
VS
118772010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11880 Set ptrdest to correct get_physical_target_address rather than
11881 incorrect get_virtual_current_address.
11882
b04298cf 118832010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11884
11885 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11886 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11887
5367ecd3
CW
118882010-12-10 Colin Watson <cjwatson@ubuntu.com>
11889
11890 * .bzrignore: Ignore grub-core/rs_decoder.S.
11891
1fb430f8
CW
118922010-12-10 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11895 .mo/.mo.gz opening sequence to ...
11896 (grub_mofile_open_lang): ... here.
11897 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11898 * util/grub.d/00_header.in (grub_lang): Include country part of
11899 locale.
11900 Reported by: Mario Limonciello.
11901
a94a6671
RM
119022010-12-09 Robert Millan <rmh@gnu.org>
11903
11904 * NEWS: Document addition of ZFS support.
11905
24b7938b
CW
119062010-12-04 Colin Watson <cjwatson@ubuntu.com>
11907
11908 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11909 rather than `/ 2', as the latter requires -Wa,--divide which would
11910 require bumping our minimum binutils version.
11911
bddc3ef6
BC
119122010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11913
11914 * util/grub-script-check.c (main): Print script line number on
11915 error.
11916
bf78d5b2
RM
119172010-12-01 Robert Millan <rmh@gnu.org>
11918
11919 * grub-core/fs/zfs/zfs.c: New file.
11920 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11921 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11922 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11923 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11924
11925 * include/grub/zfs/dmu.h: Likewise.
11926 * include/grub/zfs/dmu_objset.h: Likewise.
11927 * include/grub/zfs/dnode.h: Likewise.
11928 * include/grub/zfs/dsl_dataset.h: Likewise.
11929 * include/grub/zfs/dsl_dir.h: Likewise.
11930 * include/grub/zfs/sa_impl.h: Likewise.
11931 * include/grub/zfs/spa.h: Likewise.
11932 * include/grub/zfs/uberblock_impl.h: Likewise.
11933 * include/grub/zfs/vdev_impl.h: Likewise.
11934 * include/grub/zfs/zap_impl.h: Likewise.
11935 * include/grub/zfs/zap_leaf.h: Likewise.
11936 * include/grub/zfs/zfs.h: Likewise.
11937 * include/grub/zfs/zfs_acl.h: Likewise.
11938 * include/grub/zfs/zfs_znode.h: Likewise.
11939 * include/grub/zfs/zil.h: Likewise.
11940 * include/grub/zfs/zio.h: Likewise.
11941 * include/grub/zfs/zio_checksum.h: Likewise.
11942
11943 * Makefile.util.def: Build ZFS into libgrubmods.
11944 * grub-core/Makefile.core.def: Build zfs.mod.
11945
3f0f3831
SJ
119462010-11-30 Szymon Janc <szymon@janc.net.pl>
11947
11948 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11949 variable.
11950 * grub-core/commands/wildcard.c (match_files): Likewise.
11951
3a4253b2
RM
119522010-11-30 Robert Millan <rmh@gnu.org>
11953
11954 * grub-core/loader/i386/bsd.c
11955 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11956 whether kernel is loaded using grub_loader_is_loaded(), rather
11957 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11958 certain error conditions.
11959
8c317b27
RM
119602010-11-30 Robert Millan <rmh@gnu.org>
11961
c5c9cd3e
RM
11962 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11963 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11964
49d3ab46
VS
119652010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 Avoid using tricks for initialising endian variables.
11968
11969 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11970 Make const.
11971 (GRUB_MOD_INIT): Don't byte-swap.
11972 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11973 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11974 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11975 (grub_swap_bytes32_compile_time): Likewise.
11976 (grub_cpu_to_le32_compile_time): Likewise.
11977 (grub_cpu_to_le16_compile_time): Likewise.
11978
f420a804
VS
119792010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * util/grub-setup.c (setup): Stop recommending --force. People who
11982 understand the dangers of blocklists are able to find this option
11983 anyway and the ones who don't shouldn't use it anyway.
11984
4e7db17b
RM
119852010-11-26 Robert Millan <rmh@gnu.org>
11986
11987 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11988 Update all users.
11989
9be57a0d
CW
119902010-11-26 Colin Watson <cjwatson@ubuntu.com>
11991
11992 Fix LVM-on-RAID probing.
11993
11994 * util/grub-probe.c (probe): Remember which disk was detected as
11995 RAID (perhaps an LVM physical volume). Use that disk's raidname
11996 rather than that of the top-level disk.
11997
2c7859b3 119982010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11999
d7647bb6
BC
12000 Fix cmdline argument quotes for setparams command of menuentry
12001 definitions.
7e623b0d
BC
12002
12003 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12004 quotes for arguments.
f866fe80 12005 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12006 grub_strchrsub function instead.
f866fe80 12007
7955bea0 12008 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12009
74f72a64
CW
120102010-11-24 Colin Watson <cjwatson@ubuntu.com>
12011
12012 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12013 effort by skipping "." and ".." entries up-front.
12014 Suggested by: Michael Lazarev.
12015
5a407278
CW
120162010-11-24 Colin Watson <cjwatson@ubuntu.com>
12017
12018 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12019 ldflags to ldadd, to fix link line ordering.
12020 (none_decompress): Likewise.
12021
3030d8ec
CW
120222010-11-24 Colin Watson <cjwatson@ubuntu.com>
12023
12024 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12025 platforms.
12026 (grub-emu-lite): Remove kern/emu/cache.S.
12027
b7fbac12
CW
120282010-11-23 Colin Watson <cjwatson@ubuntu.com>
12029
12030 * util/deviceiter.c (compare_devices): If the by-id link for a
12031 device couldn't be resolved, fall back to sorting by the by-id link
12032 rather than segfaulting.
12033 Reported and tested by: Daniel Mierswa.
12034
5225f328
CW
120352010-11-23 Colin Watson <cjwatson@ubuntu.com>
12036
12037 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12038 ldflags, to fix link line ordering.
12039
038b3ce8
CW
120402010-11-23 Colin Watson <cjwatson@ubuntu.com>
12041
12042 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12043 linkers are picky about this.
12044
bf16e98e
CW
120452010-11-23 Colin Watson <cjwatson@ubuntu.com>
12046
12047 * grub-core/Makefile.am (command.lst): Adjust sed expression
12048 ordering so that extended and priority commands aren't treated as
12049 ordinary commands.
12050
7242bab6
CW
120512010-11-23 Colin Watson <cjwatson@ubuntu.com>
12052
12053 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12054 Remove byte-swapping function calls, which are not valid in
12055 structure initialisers.
12056 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12057 non-const.
12058 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12059 grub_gpt_partition_type_bios_boot.
12060
14e8b279
CW
120612010-11-22 Colin Watson <cjwatson@ubuntu.com>
12062
12063 Fix test program build on GNU/kFreeBSD.
12064
12065 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12066 $(LIBNVPAIR)' library dependencies.
12067
e6f63338 120682010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12069
12070 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12071
cf8ffc38
CW
120722010-11-22 Colin Watson <cjwatson@ubuntu.com>
12073
12074 * util/grub-install.in: Remove excessive quoting that broke
12075 installations to RAID devices.
12076
7f8b0fd7
VS
120772010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12080 bootloader version instead of 0.
12081
dfd240b1
VS
120822010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12085 warning.
12086
7b61e609
VS
120872010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12090 retrieve the metadat sector if size isn't known.
12091 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12092
9dfe92d0
RM
120932010-11-18 Robert Millan <rmh@gnu.org>
12094
12095 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12096 with grub_memcmp().
12097
41cc919e
VS
120982010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12101 arrow.
12102 Reported by: Jordan Uggla.
12103
1afcc914
VS
121042010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 Make better UTF compliant.
12107
12108 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12109 sequences as incorrect.
12110 (grub_is_valid_utf8): Likewise.
12111 (grub_utf8_to_ucs4): Likewise.
12112 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12113 (grub_ucs4_to_utf8_alloc): Likewise.
12114 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12115
f1808884
VS
121162010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 Make legacy_source behave like source.
12119
12120 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12121 grub_show_menu.
12122 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12123
24ec575b
CW
121242010-11-16 Colin Watson <cjwatson@debian.org>
12125
12126 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12127 (-Wunused implies -Wunused-parameter, but not vice versa).
12128
72b7c7aa
CW
121292010-11-16 Colin Watson <cjwatson@ubuntu.com>
12130
12131 * configure.ac: Make error messages less confusing by testing for
12132 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12133 accepted, but produces a diagnostic if something else is wrong).
12134
e98937aa
VS
121352010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12138 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12139 (now unused).
12140 (grub_keyboard_controller_init)
12141 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12142 read the initial state since controller isn't inited yet.
12143
f6bbabc3
VS
121442010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12147 allocate_regbeg may need to create new chunk header.
12148
22e7dbb2
VS
121492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 Fix quoting in legacy parser.
12152
12153 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12154 single quotes.
12155 (grub_legacy_parse): Likewise.
12156 Reported by: Jordan Uggla.
12157 Tested by: Jordan Uggla.
12158
03f80960
VS
121592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 Don't add -lgcc on i386 and x86_64.
12162
12163 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12164 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12165 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12166
779dc15b
VS
121672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * configure.ac: Add -Wno-trampolines when supported.
12170
d20a3b37
MV
121712010-11-14 Modestas Vainius <modax@debian.org>
12172
12173 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12174 fakeraid.
12175
e5360933
GC
121762010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12177
12178 Add generic logical block size support for UDF.
12179
12180 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12181 (GRUB_UDF_BLKSZ): Removed.
12182 (struct grub_udf_data): New field "lbshift" to hold the logical block
12183 size of the file system in log2 format. All users updated.
12184 (sblocklist): Change type to unsigned.
12185 (grub_udf_mount): Change type of "sblklist" to unsigned.
12186 Move AVDP search before VRS recognition, because the latter requires
12187 knowledge of the logical block size, which is detected during the
12188 former.
12189 Detect and validate logical block size during AVDP search, adding
12190 support for block sizes 512, 1024 and 4096.
12191 Make VRS recognition independent of block size.
12192
cb0229c5
GC
121932010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12194
12195 Properly handle deleted files on UDF.
12196
12197 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12198 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12199 set.
12200
406858a8
GC
122012010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12202
12203 Support reading files larger than 2 GiB.
12204
12205 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12206 "offset" to grub_off_t.
12207 (grub_udf_read_file): Likewise for parameter "pos".
12208
130da6a7
VS
122092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12212 unavailable.
12213 (Simple configuration): Refer to Changes from GRUB Legacy about
12214 save_env availability.
12215
65e93f6b
VS
122162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * util/grub-install.in: Ignore empty partition table detection
12219 instead of trying to include part_ module.
12220
1fd08bf1
VS
122212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12224 LVM on RAID support.
12225
de1a024f
VS
122262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 Properly define WORDS_BIGENDIAN in wrapped environments.
12229
12230 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12231 definition.
12232 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12233
12234 Reported by: Manoel Rebelo Abranches.
12235 Tested by: Manoel Rebelo Abranches.
12236
bc5dd0b9
VS
122372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * util/grub-mkconfig.in: Fix quoting.
12240
58c184be
VS
122412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Support big ext2 files.
12244
12245 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12246 (grub_ext2_read_block): Support triple indirect blocks.
12247 (grub_ext2_read_file): Use 64-bit types and read size_high.
12248 (grub_ext2_open): Read size_high.
12249 Reported by: Ximin Luo.
12250 Tested by: Manoel Rebelo Abranches.
12251
5f0c02b3
VS
122522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * util/grub-install.in: Handle filenames containing spaces.
12255 Reported by: Jordan Uggla.
12256 Tested by: Jordan Uggla.
12257
4417aae6
VS
122582010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * util/grub-mkconfig.in (grub_script_check): New variable.
12261 Use grub_script_check instead of grub-script-check.
12262 Reported by: Barry Jackson.
12263
7625a68e
VS
122642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * docs/grub.texi (menu): Correct the order.
12267 Reported by: D. Hugh Redelmeier.
12268
10001ac5
VS
122692010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12272 jump.
12273
9c4cf53b
MRA
122742010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12275
10001ac5
VS
12276 * include/grub/elfload.h (grub_elf32_size): New parameter.
12277 All users updated.
9c4cf53b
MRA
12278 Return maximum segments alignment.
12279 (grub_elf64_size): Likewise.
12280 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12281 Return maximum segments alignment.
12282 (grub_elf64_size): Likewise.
12283 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12284 (grub_linux_claimmap_iterate): New function. Uses the
12285 "available" property in the "memory" node for memory allocation
12286 for kernel in the PowerPC loader.
9c4cf53b
MRA
12287 (grub_linux_load32): Correctly find linux entry point offset.
12288 (grub_linux_load64): Likewise.
12289
d2bf06bf
RM
122902010-11-07 Robert Millan <rmh@gnu.org>
12291
12292 On mips-yeeloong, build with -march=loongson2f when this flag is
12293 available (GCC >= 4.4).
12294 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12295 `-march=mips3'.
12296 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12297 or otherwise add -march=mips3.
12298
898c99a2
BC
122992010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12300
87220a68
BC
12301 Suppress shell expansion on echo '*' and echo "*" like cases.
12302 Reported by: Jordan Uggla.
898c99a2
BC
12303
12304 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12305 string arguments before shell expansion.
12306 * tests/grub_cmd_echo.in: New testcases.
12307
4f9b406a
RM
123082010-11-07 Robert Millan <rmh@gnu.org>
12309
12310 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12311 transition.
12312
80c6d25e
VS
123132010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/kern/emu/hostdisk.c
12316 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12317
4a1a0153
VS
123182010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12321 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12322 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12323
34706ddc
VS
123242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12327
6972dea9
VS
123282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * util/grub-install.in: Replace useless recomendation to pass
12331 --modules with a recomendation to report a bug.
12332
9c693bd6
VS
123332010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Properly register serial terminfo.
12336 Reported by: Jordan Uggla
12337
12338 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12339 const.
12340 (grub_serial_terminfo_output_template): Likewise.
12341 (grub_cmd_serial): Register "serial" with terminfo.
12342 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12343 grub_serial_terminfo_output.
12344
6c9e4c0c
RM
123452010-11-05 Robert Millan <rmh@gnu.org>
12346
12347 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12348 needed).
12349
b9b3839f
RM
123502010-11-05 Robert Millan <rmh@gnu.org>
12351
12352 On Yeeloong, pass machine type information to Linux.
12353
12354 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12355 (LOONGSON_MACHTYPE): New macro, set to
12356 "machtype=lemote-yeeloong-2f-8.9inches".
12357 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12358 additional argument to Linux.
12359
1a3aaff4
RM
123602010-11-04 Robert Millan <rmh@gnu.org>
12361
12362 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12363 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12364 (its SATA disks are detected as slaveless IDE master drives on
12365 kFreeBSD).
12366 Reported by Carsten Aulbert.
12367
a75f4f62
CW
123682010-11-02 Colin Watson <cjwatson@ubuntu.com>
12369
12370 * util/bin2h.c (main): Fix spelling error in generated output.
12371
33b4b0c6
GS
123722010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12373
12374 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12375
2b36fbf4
VS
123762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12379 vga= option is supplied.
12380
74aaf558
VS
123812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12384 * util/grub.d/10_kfreebsd.in: Likewise.
12385 * util/grub.d/10_linux.in: Likewise.
12386 * util/grub.d/20_linux_xen.in: Likewise.
12387
6428dec3
VS
123882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12391 argument as an argument to no-argument option.
12392
f8729d98
VS
123932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * util/grub.d/10_linux.in: Add missing load_video with explicit
12396 GRUB_GFXPAYLOAD_LINUX.
12397
89d68fa6
VS
123982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12401
3a1197cd
VS
124022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12405 elements with invlid index.
12406 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12407 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12408 members.
12409 * include/grub/raid.h (grub_raid_member): New struct.
12410 (grub_raid_array): Transform devices and start_sector into usage of
12411 grub_raid_member. All users updated
12412 (allocated_devs): New member.
12413
71574288
VS
124142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12417 is modified
12418
8d40ec65
BC
124192010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12420
12421 NetBSD build fix for getline function conflict from gnulib.
12422
12423 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12424 components that depend on gnulib headers.
12425 (libgrubmods.a): Renamed from earlier libgrub.a.
12426 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12427
95b9257e
VS
124282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12431 install rather than creating a broken install.
12432
26c53dc6
VS
124332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * util/grub-setup.c (argp): Remove misleading example of installing to
12436 a partition.
12437
4171b3c5
VS
124382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * util/grub-setup.c (setup): Clarify the error message.
12441
18568d18
VS
124422010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12445
4f6a2e21
VS
124462010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * grub-core/kern/emu/misc.c
12449 (grub_make_system_path_relative_to_its_root)
12450 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12451
124522010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12453
12454 * grub-core/kern/emu/misc.c
12455 (grub_make_system_path_relative_to_its_root): Revert r2882.
12456
e138c458
VS
124572010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12460 useless field head. All users updated.
12461 (free_subchunk): Correct handling of IN_REGION subchunk.
12462
0cbcdf0e
CW
124632010-10-22 Colin Watson <cjwatson@ubuntu.com>
12464
12465 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12466 (Supported kernels): Likewise.
12467
b65ea155
GS
124682010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12469
12470 Make mktemp invocations portable.
12471
12472 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12473 exit if mktemp fails.
12474 * tests/grub_script_blockarg.in: Likewise.
12475 * tests/partmap_test.in: Likewise.
12476 * tests/util/grub-shell-tester.in: Likewise.
12477 * tests/util/grub-shell.in: Likewise.
12478 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12479 * Makefile.am: Likewise, and chain shell commands with `&&'
12480 instead of ';'.
12481 * util/grub-mkrescue.in: Use the same explicit template as above, and
12482 exit if mktemp fails.
12483
05f43cdd
BC
124842010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12485
12486 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12487 Linux kernel, reported by Dennis Schridde.
12488
800e6a9b
SJ
124892010-10-17 Szymon Janc <szymon@janc.net.pl>
12490
12491 * grub-core/normal/auth.c (grub_auth_check_authentication):
12492 Set-but-not-used variable removed.
12493
d82df574
VS
124942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12497 32-bit linux protocol.
12498
7bced458
VS
124992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12502 cursor shape for sanity.
12503
5b027690
VS
125042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * docs/grub.texi (Installation): Document buggy BIOS install.
12507
ba5f65cf
VS
125082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * docs/grub.texi (Installation): Indent.
12511
fdf2ec9c
VS
125122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * util/grub-setup.c (setup): New parameter allow_floppy.
12515 (arguments): New member allow_floppy.
12516 (argp_parser): Handle --allow-floppy.
12517 (main): Pass allow_floppy.
12518 * util/grub-install.in: New option --allow-floppy passed though to
12519 grub-setup.
12520
861dfd4c
VS
125212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 * util/grub-install.in: Handle partitionless disks.
12524
f77a8c24
VS
125252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 * util/grub-setup.c (setup): Don't clean blocklists before readability
12528 verfification.
12529
27d9ee32
VS
125302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * docs/grub.texi (Installation): Document embedding zone. Remove
12533 obsolete grub-install example.
12534
6bdda8f8
SJ
125352010-10-16 Szymon Janc <szymon@janc.net.pl>
12536
12537 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12538 Set-but-not-used variable ifdef'ed.
12539 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12540 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12541 variable removed.
12542 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12543 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12544 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12545 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12546 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12547 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12548 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12549 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12550 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12551 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12552 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12553 Likewise.
12554
e19b016b
VS
125552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12558 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12559 enum value.
12560
6c8d3002
VS
125612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12564 synonym to _S5_. Needed for some DSDTs.
12565
c32b51c9
VS
125662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 Userspace ACPI parser debugging.
12569
12570 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12571 headers and add relevant defines. Don't include standard headers.
12572 (main) [GRUB_DSDT_TEST]: New function.
12573 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12574 Don't declare functions.
12575
fbfbeb39
VS
125762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 Remove dead grub_efi_mm_fini.
12579
12580 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12581 (ALLOCATED_PAGES_SIZE): Likewise.
12582 (MAX_ALLOCATED_PAGES): Likewise.
12583 (allocated_pages): Likewise.
12584 (grub_efi_allocate_pages): Don't record allocated pages.
12585 (grub_efi_free_pages): Likewise.
12586 (grub_efi_mm_init): Likewise.
12587 (grub_efi_mm_fini): Removed.
12588
65f7ed7c
VS
125892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12592 (grub_efi_mm_init): Take into account the memory map size increase.
12593
24977b44
VS
125942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12597 (serial_hw_put): Wait based on real time rather than port reads. Don't
12598 roken ports.
12599 * include/grub/serial.h (grub_serial_port): New field broken.
12600
1eb01cd2
RM
126012010-10-16 Robert Millan <rmh@gnu.org>
12602
12603 * grub-core/kern/emu/misc.c
12604 (grub_make_system_path_relative_to_its_root): Fix premature return
12605 when processing non-root ZFS filesystems.
5f8b440b 12606 Reported by Sergio Talens-Oliag.
1eb01cd2 12607
2d5fed60
RM
126082010-10-15 Robert Millan <rmh@gnu.org>
12609
12610 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12611 guarantee compressed ones are processed first.
12612
d0f4c1ea
VS
126132010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12616 grub_efiemu_autocore.
12617
d87c681f
VS
126182010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12621 rather than 0x1b.
12622 (grub_console_getkey): Use correct jae opcode rather than ja.
12623
219b3564
RM
126242010-10-12 Robert Millan <rmh@gnu.org>
12625
12626 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12627 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12628 variable. All references updated.
12629
12630 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12631
20c6bb7e
VS
126322010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 Correctly distinguish mdraid flavours.
12635
12636 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12637 (insert_array): New argument raid.
12638 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12639 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12640 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12641
74baff84
VS
126422010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12645 handling of special keys.
12646
3ef068df 126472010-10-02 Aleš Nesrsta <starous@volny.cz>
12648
c7980ad9
VS
12649 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12650 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12651
a9455194 126522010-10-02 Aleš Nesrsta <starous@volny.cz>
12653
c7980ad9
VS
12654 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12655 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12656 users updated.
a9455194 12657 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12658 Use right endpoint when querying descriptor.
a9455194 12659
441cfe65
VS
126602010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 Clear out 0x80 color bit on EFI.
12663 Tested by: decoder
12664 Reported by: decoder and meta tech.
12665
12666 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12667 (grub_console_setcolorstate): Clear out 0x80 bit.
12668 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12669 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12670 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12671
bf26bcc4
VS
126722010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12675 Set to "auto".
12676
6e3c515d
VS
126772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12680 mo_file after freeing.
12681
e6d983ba
VS
126822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12685
74ccb5b5
VS
126862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12689 flags.
12690
17821956
VS
126912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12694 usage.
12695
ee74fa48
VS
126962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12699
12700 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12701 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12702 and terminfo.h when needed.
12703 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12704 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12705 (terminfo): Enable only on terminfokernel.
12706 (extcmd): Likewise.
12707 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12708 * include/grub/lib/arg.h: Likewise.
12709 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12710 incorrect usage of ->.
12711
aa438e68
VS
127122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12715 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12716
57994012
VS
127172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 Fix coreboot compilation.
12720
12721 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12722 Take VBE info into account even if only text is supported.
12723 (fill_vbe_info): Take into account the case when only VGA text
12724 is supported.
12725 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12726 on coreboot, multiboot and qemu.
12727
2a406611
VS
127282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12731 debug messages.
12732 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12733
d33613fc
VS
127342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12737 parameters.
12738
44a1b432
VS
127392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12742 if they were BSD-style.
12743
edde54e6
VS
127442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * grub-core/boot/i386/pc/lnxboot.S: Replace
12747 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12748 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12749
b65830fa
VS
127502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 Write embedding zone using Reed-Solomon.
12753
12754 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12755 * grub-core/Makefile.am (rs_decoder.S): New target.
12756 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12757 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12758 (multiboot): Move to RS part.
12759 (post_reed_solomon): New label.
12760 (grub_boot_drive): Move to non-RS part since it's modified in memory
12761 on boot.
12762 Include rs_decoder.S.
12763 * grub-core/lib/reed_solomon.c: New file.
12764 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12765 New definition.
12766 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12767 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12768 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12769 * include/grub/partition.h (grub_partition_map): Change prototype of
12770 embed to allow returning additional sectors.
12771 * include/grub/reed_solomon.h: New file.
12772 * util/grub-setup.c (setup): Handle Reed-Solomon.
12773
0b4b227f
CW
127742010-09-28 Colin Watson <cjwatson@ubuntu.com>
12775
12776 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12777 i386 and x86-64 definedness tests.
12778
f772623b
YB
127792010-09-27 Yves Blusseau <blusseau@zetam.org>
12780
12781 Fix generation of kernel_syms.lst
12782
12783 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12784 ASM_PREFIX
12785
8e57a6ca
RM
127862010-09-26 Robert Millan <rmh@gnu.org>
12787
12788 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12789
12790 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12791 the pool is an array of devices, iterate through it and return the
12792 first device that passes a stat() test (instead of blindly returning
12793 the first one).
12794
f9130836
RM
127952010-09-26 Robert Millan <rmh@gnu.org>
12796
12797 Build fixes for GNU/kFreeBSD.
12798
12799 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12800 to programs that require ZFS conversion.
12801 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12802 kernels that don't have FLOPPY_MAJOR.
12803
96510faf
BC
128042010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12805
12806 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12807
449333eb
BC
128082010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12809
12810 Fix grub-emu build.
12811
12812 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12813 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12814 mdraid09 and mdraid1x.
12815
e1fd1939
CW
128162010-09-24 Colin Watson <cjwatson@ubuntu.com>
12817
12818 Re-enable grub-extras.
12819
12820 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12821 avoid confusing Automake. Run autogen only twice, once for the top
12822 level and once for grub-core. Add Makefile.util.def and
12823 Makefile.core.def from extra modules to the appropriate autogen
12824 invocations. If Makefile.common exists in an extra module, include
12825 it in both Makefile.util.am and grub-core/Makefile.core.am;
12826 similarly, include any Makefile.util.common file in Makefile.util.am
12827 and any Makefile.core.common file in grub-core/Makefile.core.am.
12828 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12829 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12830 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12831 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12832
12833 * gentpl.py (gvar_add): Turn GVARS into a set.
12834 (global_variable_initializers): Sort global variables on output.
12835 (vars_init): New function.
12836 (first_time): Likewise.
12837 (library): Ensure that non-global variable initialisations are
12838 emitted before the first time we emit code for a library block.
12839 Append to variables rather than setting them. Only emit
12840 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12841 each conditional path.
12842 (program): installdir() emits an Autogen macro, so must be passed to
12843 var_add rather than gvar_add.
12844 (data): Likewise.
12845 (script): Likewise.
12846 (rules): New function, centralising handling for different target
12847 types. Set up Guile association lists for first_time and vars_init,
12848 and send most output to a diversion so that variable initialisations
12849 can be emitted first.
12850 (module_rules): Use new rules function.
12851 (kernel_rules): Likewise.
12852 (image_rules): Likewise.
12853 (library_rules): Likewise.
12854 (program_rules): Likewise.
12855 (script_rules): Likewise.
12856 (data_rules): Likewise.
12857
12858 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12859
12860 * .bzrignore: Add contrib and grub-core/contrib. Remove
12861 grub-core/Makefile.gcry.am.
12862
1d12cf29
YB
128632010-09-24 Yves Blusseau <blusseau@zetam.org>
12864
12865 * grub-core/lib/LzFind.c: Add missing include.
12866 * grub-core/lib/LzmaEnc.c: Likewise.
12867 * grub-core/script/lexer.c: Likewise.
12868 * grub-core/script/yylex.l: Likewise.
12869 * util/grub-macho2img.c: Likewise.
12870 * util/grub-menulst2cfg.c: Likewise.
12871 * util/grub-mklayout.c: Likewise.
12872 * util/grub-mkpasswd-pbkdf2.c
12873 * util/grub-mkrelpath.c: Likewise.
12874 * util/resolve.c: Likewise.
12875
dd363028
BC
128762010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12877
12878 * Makefile.util.def (example_unit_test): Add
12879 grub-core/gnulib/libgnu.a.
12880
f5a109e2
GS
128812010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12882
12883 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12884
6d0fa83c
VS
128852010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 Support xz compression on yeeloong.
12888
12889 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12890 * configure.ac: Check for LZMA.
12891 * grub-core/Makefile.core.def (xz_decompress): New target.
12892 (none_decompress): Likewise.
12893 * grub-core/boot/decompressor/minilib.c: New file.
12894 * grub-core/boot/decompressor/none.c: Likewise.
12895 * grub-core/boot/decompressor/xz.c: Likewise.
12896 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12897 * grub-core/kern/mips/cache_flush.S: Likewise.
12898 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12899 * grub-core/kern/mips/startup.S: Move first stage to ...
12900 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12901 nomacro.
12902 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12903 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12904 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12905 Allocate statically.
12906 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12907 Allocate statically or use scratch. Don't check CRC32.
12908 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12909 Allocate statically. Don't check CRC32.
12910 * include/grub/decompressor.h: New file.
12911 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12912 Removed.
12913 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12914 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12915 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12916 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12917 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12918 * util/grub-mkimage.c (grub_compression_t): New type.
12919 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12920 (image_target_desc): New field default_compression.
12921 (image_targets): Adjust yeeloong targets.
12922 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12923 (compress_kernel): New parameter comp.
12924 (generate_image): Likewise. Handle new compression case.
12925 (options): New option --compression
12926 (help): Likewise.
12927 (main): Handle new option.
12928
1b655af6
GS
129292010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12930
12931 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12932
8f03f0b5
CW
129332010-09-22 Colin Watson <cjwatson@ubuntu.com>
12934
12935 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12936 typo in __i386__ conditional.
12937
7835dfd3
VS
129382010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12941 include.
12942
e255597e
VS
129432010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12944
6d0fa83c 12945 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12946
12947 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12948 new tags as supported.
12949 (acpiv2_size): New function.
12950 (grub_multiboot_get_mbi_size): Take new tags into account.
12951 (grub_multiboot_make_mbi): Add new tags.
12952 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12953
6cc14051 129542010-09-21 Aleš Nesrsta <starous@volny.cz>
12955
12956 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12957 Added missing configuration of USB device.
12958
df7769d8
CW
129592010-09-21 Colin Watson <cjwatson@ubuntu.com>
12960
12961 * grub-core/normal/menu_entry.c (run): Make sure we always return
12962 a value.
12963
b031012d
CW
129642010-09-21 Colin Watson <cjwatson@ubuntu.com>
12965
12966 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12967 NumberOfPages is UINT64 according to the UEFI specification, not
12968 UINTN. Fix printf format.
12969
174de8f3
CW
129702010-09-21 Colin Watson <cjwatson@ubuntu.com>
12971
12972 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12973 `err' to grub_usb_err_t.
12974 Reported and tested by: KESHAV P.R.
12975
d7dbe923
CW
129762010-09-21 Colin Watson <cjwatson@ubuntu.com>
12977
12978 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12979 tpart non-const, so that we can assign to it. (Since this is a
12980 typedef, the constness refers to the pointer rather than what it
12981 points to.)
12982
8d5e2af3
CW
129832010-09-21 Colin Watson <cjwatson@ubuntu.com>
12984
12985 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12986 $(top_srcdir)/grub-core/gnulib as well as
12987 $(top_builddir)/grub-core/gnulib.
12988 Reported by: KESHAV P.R.
12989
5c527783
CW
129902010-09-21 Colin Watson <cjwatson@ubuntu.com>
12991
12992 * util/grub-install.in: Fix the bootloader ID option to be
12993 consistently --bootloader-id, not --bootloader_id.
12994 Reported by: KESHAV P.R.
12995
d309a16e
CW
129962010-09-21 Colin Watson <cjwatson@ubuntu.com>
12997
12998 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12999 check hash checksum." consistently translatable.
13000
b830cd16
YB
130012010-09-21 Yves Blusseau <blusseau@zetam.org>
13002
13003 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13004 $(top_builddir).
13005
c4fe27a8
CW
130062010-09-21 Colin Watson <cjwatson@ubuntu.com>
13007
13008 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13009 (GRUB_MOD_INIT): Register sha1sum command.
13010 (GRUB_MOD_FINI): Unregister sha1sum command.
13011
a4c1d277
YB
130122010-09-21 Yves Blusseau <blusseau@zetam.org>
13013
13014 Keep boot and grub directory names in sync with utils scripts
13015
13016 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13017 * config.h.in: Add previous macros.
13018 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13019 * util/grub-install.in: Use $bootdir and $grubdir variables.
13020
4eff79d2
CW
130212010-09-21 Colin Watson <cjwatson@ubuntu.com>
13022
13023 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13024 convert partition names to disk names if the new `convert' parameter
13025 is set.
13026 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13027 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13028 disk in its own right. This can happen with Xen disk images.
13029
934d7e44
YB
130302010-09-21 Yves Blusseau <blusseau@zetam.org>
13031
13032 * util/grub-editenv.c: Update strings to avoid warnings when generating
13033 grub.pot file.
13034 * util/grub-setup.c: Likewise.
934d7e44 13035
df3367cc
VS
130362010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * configure.ac: Change version to 1.99~beta0.
13039
77a94e98
VS
130402010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13043 Add BADRAM.
13044 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13045 Likewise.
13046 * include/multiboot.h: Resynced with specification.
13047 * include/multiboot2.h: Likewise.
13048
269004c1
CW
130492010-09-21 Colin Watson <cjwatson@ubuntu.com>
13050
13051 Fix po directory handling.
13052
13053 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13054 * grub-core/gnulib/Makefile.am: Import gettext module.
13055 * m4/gnulib-cache.m4: Likewise.
13056 * m4/gnulib-comp.m4: Likewise.
13057 * m4/gettext.m4: New file, from gnulib.
13058 * m4/glibc2.m4: Likewise.
13059 * m4/iconv.m4: Likewise.
13060 * m4/intdiv0.m4: Likewise.
13061 * m4/intl.m4: Likewise.
13062 * m4/intldir.m4: Likewise.
13063 * m4/intlmacosx.m4: Likewise.
13064 * m4/intmax.m4: Likewise.
13065 * m4/inttypes-pri.m4: Likewise.
13066 * m4/lcmessage.m4: Likewise.
13067 * m4/lib-ld.m4: Likewise.
13068 * m4/lib-link.m4: Likewise.
13069 * m4/lib-prefix.m4: Likewise.
13070 * m4/lock.m4: Likewise.
13071 * m4/nls.m4: Likewise.
13072 * m4/po.m4: Likewise.
13073 * m4/printf-posix.m4: Likewise.
13074 * m4/progtest.m4: Likewise.
13075 * m4/threadlib.m4: Likewise.
13076 * m4/uintmax_t.m4: Likewise.
13077 * m4/visibility.m4: Likewise.
13078 * po/Makefile.am: Remove.
13079 * po/Makefile.in.in: New file, from gettext.
13080 ($(DOMAIN).pot-update): Support POTFILES-shell.
13081 * po/Makevars: New file.
13082 * po/POTFILES-shell: Rename to ...
13083 * po/POTFILES-shell.in: ... this. Update.
13084 * po/POTFILES: Rename to ...
13085 * po/POTFILES.in: ... this. Update.
13086 * po/Rules-quot: New file, from gettext.
13087 * po/boldquot.sed: Likewise.
13088 * po/en@boldquot.header: Likewise.
13089 * po/en@quot.header: Likewise.
13090 * po/insert-header.sin: Likewise.
13091 * po/quot.sed: Likewise.
13092 * po/remove-potcdate.sin: Likewise.
13093
3e0fa5d0
VS
130942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13097
ade9bd66
VS
130982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * util/grub.d/20_linux_xen.in: Use submenus.
13101
fc55cc4c
VS
131022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Support submenus.
13105
13106 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13107 parameter submenu. All users updated.
13108 * grub-core/normal/main.c (free_menu): Rename to ...
13109 (grub_normal_free_menu): ... this. Made global.
13110 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13111 if requested.
13112 * grub-core/normal/menu_entry.c (screen): New field submenu.
13113 (make_screen): Set submenu.
13114 (run): Open new context if requested.
13115 * include/grub/menu.h (grub_menu_entry): New field submenu.
13116 * include/grub/normal.h (grub_normal_free_menu): New proto.
13117
600cedf7
VS
131182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 Menu entries extractor.
13121
13122 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13123 variants.
13124 (GRUB_MOD_INIT): Register new variants.
13125 (GRUB_MOD_FINI): Unregister new variants.
13126 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13127 into grub_cmd_legacy_source.
13128 (grub_cmd_legacy_source): Implement extractor variants.
13129 (GRUB_MOD_INIT): Register new variants.
13130 (GRUB_MOD_FINI): Unregister new variants.
13131 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13132 as an extractor.
13133 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13134 search as an extractor.
13135 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13136 test as an extractor.
13137 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13138 as an extractor.
13139 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13140 (grub_env_new_context): New function.
13141 (grub_env_context_open): Likewise.
13142 (grub_env_extractor_open): Likewise.
13143 (grub_env_extractor_close): Likewise.
13144 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13145 grub_extractor_level.
13146 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13147 * include/grub/env.h (grub_env_extractor_open): New proto.
13148 (grub_env_extractor_close): Likewise.
13149 * include/grub/normal.h (grub_extractor_level): New external variable.
13150
7bda3a87
VS
131512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 Make cutmem accept a region specification.
13154 Suggested by: Samuel Thibault
13155
13156 * grub-core/mmap/mmap.c (parsemem): New function.
13157 (grub_cmd_cutmem): Handle new arguments.
13158
2ea57f88
VS
131592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 New command cutmem.
13162
13163 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13164 (GRUB_MOD_INIT): Register new command.
13165 (GRUB_MOD_FINI): Unregister new command.
13166
74342e31
VS
131672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 Support some annoying BSD and Minix subpartitions.
13170
13171 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13172 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13173 Properly handle concatenation.
13174 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13175 * grub-core/normal/completion.c (iterate_partition): Likewise.
13176 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13177 contain partition. All users updated.
13178 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13179 struct.
13180 (grub_openbsdlabel_partition_map): Likewise.
13181 (bsdlabel_partition_map_iterate): Rename to ..
13182 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13183 (bsdlabel_partition_map_iterate): New function.
13184 (netopenbsdlabel_partition_map_iterate): Likewise.
13185 (netbsdlabel_partition_map_iterate): Likewise.
13186 (openbsdlabel_partition_map_iterate): Likewise.
13187 (GRUB_MOD_INIT): Register new partmaps.
13188 (GRUB_MOD_FINI): Unregister new partmaps.
13189 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13190 (grub_partition_msdos_iterate): ... this. All users updated.
13191 Don't support embedding other than in a minix partition.
13192 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13193 proto.
13194 * include/grub/partition.h (grub_partition): New field msdostype.
13195 * util/grub-install.in: Handle openbsd and netbsd types being in
13196 part_bsd module.
13197
1e8d555b
VS
131982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13201
13202 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13203 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13204 (mdraid09): ... this.
13205 (mdraid1x): New module.
13206 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13207 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13208
899d8af4
VS
132092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13212 vsprintf.
13213
40901acd
CW
132142010-09-20 Colin Watson <cjwatson@ubuntu.com>
13215
13216 * grub-core/commands/efi/lsefimmap.c: Correct header.
13217 * NEWS: Update.
13218
dfe3b247
CW
132192010-09-20 Colin Watson <cjwatson@ubuntu.com>
13220
13221 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13222 as printf format strings; the translations might contain '%' which
13223 could cause a crash.
13224 (main): Likewise.
13225 * util/grub-fstest.c (argp_parser): Likewise.
13226 * util/grub-setup.c (argp_parser): Likewise.
13227 (main): Likewise.
13228
3286a4b4
VS
132292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Use argp in grub-fstest.
13232
13233 * util/grub-fstest.c: Don't include getopt.h.
13234 Include argp.h.
13235 (root): New variable.
13236 (args_count): Likewise.
13237 (nparm): Likewise.
13238 (num_disks): Likewise.
13239 (images): Likewise.
13240 (cmd): Likewise.
13241 (debug_str): Likewise.
13242 (args): Likewise.
13243 (options): Transformed to argp.
13244 (usage): Removed.
13245 (main): Split argument parsing into ...
13246 (argp_parser): ... this. Changed to argp format.
13247 (argp): New variable.
13248 (main): Use argp_parse.
13249
3dccbe4b
TG
132502010-09-20 Tristan Gingold <gingold@free.fr>
132512010-09-20 Robert Millan <rmh.grub@aybabtu.com>
132522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/commands/efi/lsefimmap.c: New file.
13255 * grub-core/Makefile.core.def (lsefimmap): New module.
13256 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13257
38c259a7
VS
132582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Pause the execution (10s max) if any errors are displayed so the user
13261 has a chance to see them.
13262
13263 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13264 (grub_print_error): Increment grub_err_printed_errors.
13265 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13266 execution if any errors were displayed.
13267 (show_menu): Remove old code for pause.
13268 * grub-core/normal/menu_entry.c (run): Likewise.
13269 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13270 users updated.
13271 (grub_normal_get_char_counter): Likewise.
13272 * include/grub/err.h (grub_err_printed_errors): New external variable.
13273 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13274
f218b09c
VS
132752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Support multiboot VBE info.
13278
13279 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13280 Take VBE info into account.
13281 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13282 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13283 Call fill_vbe_info when appropriate.
13284 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13285 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13286 as supported.
13287 (grub_multiboot_get_mbi_size): Take new tags into account.
13288 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13289 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13290 Call fill_vbe_tag when appropriate.
13291 (grub_multiboot_make_mbi): Properly align tags.
13292 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13293 function.
13294 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13295 proto.
13296 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13297
a9cc5438
VS
132982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Suport manual terminal geometry specification.
13301
13302 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13303 Save state in grub_ofconsole_terminfo_output.
13304 (grub_ofconsole_term): Use grub_terminfo_getwh.
13305 (grub_ofconsole_getwh): Removed.
13306 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13307 (grub_serial_term): Use grub_terminfo_getwh.
13308 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13309 (options): New struct.
13310 (OPTION_*): New enum.
13311 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13312 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13313 width and height.
13314 (grub_terminfo_getwh): New proto.
13315 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13316
1a8fed20
VS
133172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 Handle legacy "terminal" command.
13320
13321 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13322 and FLAG_TERMINAL.
13323 (legacy_commands): Add terminal and title.
13324 (grub_legacy_parse): Handle terminal. Simplify title handling.
13325
41e9c57d
VS
133262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13329 parameters overflow.
13330
61c874c5
CW
133312010-09-20 Colin Watson <cjwatson@ubuntu.com>
13332
13333 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13334 widthspec.h.
13335
13336 * docs/grub.texi (Shell-like scripting): Document `!'.
13337 (Network): Simplify using new i386-pc-pxe format. Mention
13338 grub-mknetdir.
13339
13340 * NEWS: Update.
13341
943682b4
CW
133422010-09-20 Colin Watson <cjwatson@ubuntu.com>
13343
13344 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13345 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13346 when needed.
13347
6d3d698d
CW
133482010-09-20 Colin Watson <cjwatson@ubuntu.com>
13349
13350 * grub-core/commands/efi/lsefisystab.c: Correct header.
13351 * grub-core/commands/efi/lssal.c: Likewise.
13352 * grub-core/commands/testload.c: Likewise.
13353
c982589f
CW
133542010-09-20 Colin Watson <cjwatson@ubuntu.com>
13355
13356 * util/grub-mkrescue.in: Add explicit root argument to --set to
13357 prevent the UUID being interpreted as an argument to --set (matches
13358 previous change to prepare_grub_to_access_device).
13359
a63c31b6
CW
133602010-09-20 Colin Watson <cjwatson@ubuntu.com>
13361
13362 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13363 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13364 the verbosity of later #ifs.
13365 (find_partition_start): Define this function on FreeBSD too.
13366 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13367 function.
13368 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13369 on FreeBSD.
13370
6439b8ee
YB
133712010-09-20 Yves Blusseau <blusseau@zetam.org>
13372
13373 * util/grub-editenv.c: Use argp instead of getopt.
13374
c5930ec8
YB
133752010-09-20 Yves Blusseau <blusseau@zetam.org>
13376
13377 * util/grub-setup.c: Use argp instead of getopt.
13378
15c69261
YB
133792010-09-20 Yves Blusseau <blusseau@zetam.org>
13380
13381 Use gnulib-tool to create gnulib source files.
13382
13383 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13384 grub-core/gnulib directories
13385 * .bzignore: Add **/.deps and autogenerated gnulib files
13386 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13387 of gnulib macros, add grub-core/gnulib/Makefile
13388 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13389 include m4 directory to aclocal.
13390 * Makefile.util.def: Remove direct compilation of gnulib source files
13391 and use the new grub-core/gnulib/libgnu.a.
13392 * build-aux/config.rpath: move config.rpath from top directory to
13393 build-aux
13394 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13395 in gnulib headers
13396 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13397 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13398 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13399 header.
13400 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13401 string.
13402
e511c9f5
YB
134032010-09-20 Yves Blusseau <blusseau@zetam.org>
13404
13405 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13406 grub-core/genmod.sh and grub-core/gensyminfo.sh
13407
c2dede05
BC
134082010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13409
13410 Add a test for echo command options.
13411
13412 * tests/grub_cmd_echo.in: New test.
13413 * Makefile.util.def: Rules for new test.
13414
c55f5018
SJ
134152010-09-20 Szymon Janc <szymon@janc.net.pl>
13416
13417 Remove crc.mod and move crc command to hashsum.mod.
13418 Remove lib/crc.c - users updated to use gcrypt implementation.
13419
13420 * grub-core/commands/crc.c: Removed.
13421 * grub-core/Makefile.core.def (crc): Module removed.
13422 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13423 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13424 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13425 * grub-core/lib/crc.c: Removed.
13426 * include/grub/lib/crc.h: Removed.
13427 * Makefile.util.def (crc): Remove lib/crc.c
13428 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13429 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13430 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13431 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13432 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13433 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13434
e0337366
VS
134352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13438
742f9232
VS
134392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 Split config.h for util and core.
13442
13443 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13444 (ADDR32): Likewise.
13445 (DATA32): Likewise.
13446 (BSS_START_SYMBOL): Likewise.
13447 (END_SYMBOL): Likewise.
13448 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13449 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13450 * config.h.in: New file.
13451 * configure.ac: Use config-util.h as config define file.
13452 Rename MACHINE into GRUB_MACHINE. All users updated.
13453 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13454 updated.
13455 (NESTED_FUNC_ATTR): Likewise.
13456 Substitue new variables.
13457 (COND_HAVE_ASM_USCORE): New conditional.
13458 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13459 (kernel_syms.lst): Use ASM_PREFIX.
13460 * grub-core/kern/emu/console.c: Include config-util.h.
13461 * grub-core/kern/emu/misc.c: Likewise.
13462 * grub-core/kern/emu/mm.c: Likewise.
13463 * include/grub/emu/misc.h: Likewise.
13464 * include/grub/libgcc.h: Likewise.
13465
39feb0e8
VS
134662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13469 constants usage.
13470 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13471 Fix GRUB_TERM_KEY_* constants usage.
13472 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13473
9af6dac3
VS
134742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13477 print pointer.
13478 * grub-core/bus/usb/uhci.c: Remove empty define.
13479 (grub_uhci_check_transfer): Add missing cast.
13480 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13481 print pointer.
13482 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13483 PRIuGRUB_SIZE.
13484 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13485
d6d94820
VS
134862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/Makefile.core.def (legacycfg): Add
13489 lib/i386/pc/vesa_modes_table.c on emu.
13490
3572f2b6
BC
134912010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13492
13493 Reduce number of temporary files generated by build system.
13494
13495 * grub-core/gencmdlist.sh: Removed.
13496 * grub-core/genfslist.sh: Removed.
13497 * grub-core/genhandlerlist.sh: Removed.
13498 * grub-core/genmodsrc.sh: Removed.
13499 * grub-core/genpartmaplist.sh: Removed.
13500 * grub-core/genparttoollist.sh: Removed.
13501 * grub-core/gentermiinallist.sh: Removed.
13502 * grub-core/genvideolist.sh: Removed.
13503
13504 * grub-core/genmod.sh.in: New file.
13505 * grub-core/gensyminfo.sh.in: New file.
13506
13507 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13508 * conf/Makefile.extra-dist: Update with new files.
13509 * gentpl.py: Remove rules related to unnecessary temporary files.
13510 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13511 and und-* files.
13512 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13513 genmod.sh scripts.
13514 * grub-core/bus/usb/uhci.c: Remove empty #define.
13515 * grub-core/genmoddep.awk: Updated with new syminfo format.
13516 * util/bash-completion.d/Makefile.am: Add config.log to
13517 CLEANFILES.
13518
c836b030
YB
135192010-09-19 Yves Blusseau <blusseau@zetam.org>
13520
13521 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13522
2f4e8053
BC
135232010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13524
13525 * util/grub-mkconfig.in: Check the config script for syntax errors
13526 before saving.
13527
75831c34
CW
135282010-09-19 Colin Watson <cjwatson@ubuntu.com>
135292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13532 platforms.
13533 * util/grub-install.in: Add EFI and IEEE1275 support.
13534 * util/i386/efi/grub-install.in: Removed.
13535 * util/ieee1275/grub-install.in: Likewise.
13536
eaf41b25
VS
135372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13540 (grub_cmd_cmosclean): Likewise.
13541 (GRUB_MOD_INIT): Register command cmosclean.
13542 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13543 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13544
1a9130dd
CPE
135452010-09-18 Carles Pina i Estany <carles@pina.cat>
135462010-09-18 Aleš Nesrsta <starous@volny.cz>
135472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 Add keyboard layouts support.
13550
13551 * Makefile.util.def (grub-mklayout): New file.
13552 (grub-kbdcomp): New script.
13553 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13554 Add keyboard_layouts.h.
13555 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13556 commands/boot.c on yeeloong.
13557 (keylayouts): New module.
13558 * grub-core/bus/usb/ohci.c
13559 * grub-core/bus/usb/uhci.c
13560 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13561 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13562 (attach_root_port): Likewise.
13563 (poll_nonroot_hub): Likewise.
13564 (grub_usb_poll_devices): Likewise.
13565 (detach_device): Close transfer.
13566 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13567 function.
13568 (grub_usb_bulk_setup_readwrite): Likewise.
13569 (grub_usb_bulk_finish_readwrite): Likewise.
13570 * grub-core/commands/keylayouts.c: New file.
13571 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13572 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13573 aliases.
13574 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13575 support scancode 2.
13576 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13577 * include/grub/keyboard_layouts.h: New file.
13578 * util/grub-mklayout.c: New file.
13579 * util/grub-kbdcomp.in: Likewise.
13580
a1d84a5e
VS
135812010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 Unify memory types.
13584
13585 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13586 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13587 types.
13588 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13589 (grub_upper_mem): Likewise.
13590 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13591 * include/grub/memory.h (grub_memory_type_t): New enum.
13592 All users updated.
13593
9696382e
VS
135942010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/Makefile.core.def (lsapm): New module.
13597 * grub-core/commands/i386/pc/lsapm.c: New file.
13598 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13599 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13600 Likewise.
13601 * include/grub/i386/pc/apm.h: New file.
13602 * include/multiboot.h (multiboot_apm_info): New struct.
13603
136042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 GRUB-legacy configuration file support.
13607
13608 * Makefile.util.def (grub-menulst2cfg): New util.
13609 * docs/man/grub-menulst2cfg.h2m: New file.
13610 * grub-core/Makefile.core.def (legacycfg): New module.
13611 * grub-core/commands/legacycfg.c: New file.
13612 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13613 (grub_normal_add_menu_entry): ... this.
13614 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13615 (grub_normal_set_password): ...this.
13616 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13617 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13618 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13619 * grub-core/lib/legacy_parse.c: New file.
13620 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13621 * include/grub/i386/pc/vesa_modes_table.h: New file.
13622 * include/grub/legacy_parse.h: Likewise.
13623 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13624 * util/grub-menulst2cfg.c: New file.
13625
bf8d1338
CW
136262010-09-17 Colin Watson <cjwatson@ubuntu.com>
13627
13628 * grub-core/kern/emu/hostdisk.c
13629 (convert_system_partition_to_system_disk): Initialise node.
13630
9c0bad2e
CW
136312010-09-17 Colin Watson <cjwatson@ubuntu.com>
13632
13633 * grub-core/kern/emu/hostdisk.c
13634 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13635 leak.
13636 Reported and based on patch by: Modestas Vainius.
13637
a939d135
CW
136382010-09-17 Colin Watson <cjwatson@ubuntu.com>
13639
13640 Fix DM-RAID probing with recent versions of device-mapper udev
13641 rules.
13642
13643 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13644 canonicalise device paths under /dev/mapper/.
13645 (convert_system_partition_to_system_disk): Compare the
13646 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13647 path, since device nodes under /dev/mapper/ are often symlinks.
13648
0f7ee3c9
YB
136492010-09-17 Yves Blusseau <blusseau@zetam.org>
13650
13651 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13652
10854d0d
YB
136532010-09-16 Yves Blusseau <blusseau@zetam.org>
13654
13655 * configure.ac: Avoid some annoying error messages if freetype-config
13656 program is not found.
13657
108538d8
CW
136582010-09-16 Colin Watson <cjwatson@ubuntu.com>
13659
13660 Support RAID on virtio devices, and others.
13661
13662 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13663 Rename to ...
13664 [__MINGW32__] (grub_find_device): ... this.
13665 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13666 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13667 reasonable default if dir is NULL.
13668 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13669 ...
13670 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13671 (grub_guess_root_device): Update callers.
13672 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13673
13674 * util/raid.c (grub_util_getdiskname): Remove.
13675 (grub_util_raid_getmembers): Use grub_find_device rather than
13676 grub_util_getdiskname.
13677
e5bfc130
CW
136782010-09-16 Colin Watson <cjwatson@ubuntu.com>
13679
13680 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13681 needing to be compiled with serial support.
13682 (ls): Indicate that multiple files are accepted.
13683 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13684 indicate that multiple files are accepted.
13685
be458ae2
CW
136862010-09-16 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13689 libgrub_a_init.c, and util/bash-completion.d/grub.
13690
cb731b5e
VS
136912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * util/grub-setup.c (setup): Fix incorrect container semantics.
13694
35139e8a
VS
136952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13698 misusage.
13699 Reported by: J. Nick Terry
13700
e50fca4a
VS
137012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 Move embedding routines to partmap sources files.
13704
13705 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13706 [GRUB_UTIL]: New variable.
13707 (gpt_partition_map_iterate): Set part.parent.
13708 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13709 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13710 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13711 New function.
13712 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13713 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13714 (grub_partition_map) [GRUB_UTIL]: New field embed.
13715 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13716 (setup): Use ->embed.
13717
f00478b7
VS
137182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13721 function.
13722 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13723 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13724
2b94e3ff
YB
137252010-09-15 Yves Blusseau <blusseau@zetam.org>
13726
13727 Add function to get completions from usage.
13728
13729 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13730 completions from usage. Use LC_ALL=C to get options properly.
13731
2e04a006
VS
137322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/gnulib/basename-lgpl.c: Imported.
13735 * grub-core/gnulib/basename.c: Likewise.
13736 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13737 * grub-core/gnulib/dirname.c: Likewise.
13738 * grub-core/gnulib/dirname.h: Likewise.
13739 * grub-core/gnulib/stripslash.c: Likewise.
13740
5dcdf93a
VS
137412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/gnulib/error.c: Resynced.
13744 * grub-core/gnulib/getopt.c: Likewise.
13745 * grub-core/gnulib/getopt_int.h: Likewise.
13746 * grub-core/gnulib/regex.h: Likewise.
13747 * grub-core/gnulib/regex_internal.c: Likewise.
13748 * grub-core/gnulib/regex_internal.h: Likewise.
13749
014f47b7
SJ
137502010-09-15 Szymon Janc <szymon@janc.net.pl>
13751
13752 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13753 CRC calculations and validity checks.
13754 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13755 calculations.
13756
dd521a4a
SJ
137572010-09-15 Szymon Janc <szymon@janc.net.pl>
13758
13759 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13760
79c4eeb9
VS
137612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 Fix incorrect echo options handling.
13764 Reported by: Yves Blusseau.
13765
13766 * include/grub/command.h (grub_command_flags_t): New flags
13767 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13768 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13769 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13770
ed80f7d5
VS
137712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13774 users updated.
13775 (GRUB_COMMAND_FLAG_MENU): Likewise.
13776 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13777 (GRUB_COMMAND_FLAG_TITLE): Removed.
13778 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13779 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13780 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13781 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13782 (grub_command_flags_t): New enum. All users updated.
13783
5fe7620a
SG
137842010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13785
13786 Fix solaris compilation.
13787
13788 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13789 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13790 (grub-emu-list): Likewise.
13791
545b752f
VS
137922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Remove deprecated root command.
13795
13796 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13797 updated.
13798
6c1a338c
VS
137992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * util/i386/pc/grub-setup.c: Merge this ...
13802 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13803 * util/grub-setup.c: ... into this.
13804 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13805 New struct.
13806
138072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13810 possible.
13811
d2ea4551
VS
138122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13815 allocate p.
13816
3c3b5040
VS
138172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13820 explicit root argument to set to prevent UUID to be interpreted as
13821 argument to set.
13822
b71c3fae
VS
138232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13826
275433e6
VS
138272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Don't export grub_gate_a20.
13830
13831 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13832 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13833 to ...
13834 (grub_gate_a20): ... this. All users updated.
13835 * include/grub/i386/pc/init.h: Removed. All users updated.
13836
a5dbb1f1
VS
138372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Create euro.pf2 which supports most European languages.
13840
13841 * Makefile.am (grubdata_DATA): Add euro.pf2.
13842 (euro.pf2): New target.
13843 (CLEANFILES): Add euro.pf2.
13844
62a747cb
VS
138452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * configure.ac: Disable emu-usb by default to prevent inadvertent
13848 device takeover.
13849
608e43b1
VS
138502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 Disable usbserial on grub-emu since our libusb code isn't good enough
13853 yet.
13854
13855 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13856 (usbserial_pl2303): Likewise.
13857 (usbserial_ftdi): Likewise.
13858
94564f81
VS
138592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 * include/grub/disk.h (grub_disk): Remove has_partitions.
13862 All users updated.
13863 * disk/loopback.c (grub_loopback): Remove has_partitions.
13864 All users updated.
13865 (options): Remove partitions. All users updated.
13866 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13867 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13868 actual partition table is found.
13869
3352800b
VS
138702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 Remove readability checks (too many false negatives).
13873
13874 * util/grub-install.in: Remove readability checks.
13875 * util/grub-mkconfig.in: Likewise.
13876 * util/grub.d/10_hurd.in: Likewise.
13877 * util/grub.d/10_kfreebsd.in: Likewise.
13878 * util/grub.d/10_linux.in: Likewise.
13879 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13880 way.
13881
2419f17a
VS
138822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 Enable acpi shutdown on all ACPI platforms.
13885
13886 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13887 on coreboo, multiboot and EFI.
13888 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13889 (grub_acpi_halt): Likewise.
13890 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13891 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13892 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13893 * grub-core/lib/i386/halt.c (grub_halt)
13894 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13895
0575c7c3
VS
138962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13899 context.
13900
54ac3cd1
VS
139012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13904 * grub-core/video/efi_uga.c: Likewise.
13905
b2a30ac5
VS
139062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 Filter devaliases and never open same device twice.
13909
13910 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13911 (last_ihandle): Likewise.
13912 (ofdisk_hash_ent): New member shortest.
13913 (ofdisk_hash_add): Add canonical path too.
13914 (scan): New function.
13915 (grub_ofdisk_iterate): Iterate over hashed entries.
13916 (compute_dev_path): Don't add :0.
13917 (grub_ofdisk_open): Don't really open the disk.
13918 (grub_ofdisk_close): Avoid closing unrelated disk.
13919 (grub_ofdisk_read): Implement reopen logic.
13920 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13921 New function.
13922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13923 New proto.
13924
fb53b340
VS
139252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 Fix sparc64.
13928
13929 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13930 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13931 right address. Add sparc64_ieee1275_ldflags.
13932 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13933 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13934 to grub_host_to_target_addr
13935 (load_image): Likewise.
13936
f452b040
VS
139372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/normal/completion.c (complete_file): Handle device
13940 containing slash.
13941 Fix based on patch by Doug Nazar.
13942
9b5b2541
VS
139432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 grub-mknetdir script.
13946
13947 * Makefile.util.def (grub-mknetdir): New module.
13948 * tests/util/grub-shell.in: Support boot=net
13949 * util/grub-mknetdir.in: New file.
13950
9d2be652
VS
139512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 videoinfo on non-vbe.
13954
13955 * grub-core/Makefile.core.def (vbeinfo): Removed.
13956 (vbetest): Removed.
13957 (videoinfo): New module.
13958 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13959 * grub-core/commands/i386/pc/vbetest.c: Removed.
13960 * grub-core/commands/videoinfo.c: New file.
13961 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13962 specification.
13963 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13964 as vbetest.
13965 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13966 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13967 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13968 mode_number. New parameter mode. All users updated.
13969 (grub_video_gop_iterate): New function.
13970 (grub_video_efi_gop): New member iterate.
13971 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13972 (grub_vbe_set_video_mode): Remove setting useless fields.
13973 (vbe2videoinfo): New function.
13974 (grub_video_vbe_iterate): Likewise.
13975 (grub_video_vbe_setup): Use vbe2videoinfo.
13976 (grub_video_vbe_print_adapter_specific_info): New function.
13977 (grub_video_vbe_adapter): New fields iterate and
13978 print_adapter_specific_info.
13979 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13980 All users updated.
13981 (grub_video_mode_info): New field mode_number.
13982 (grub_video_adapter): New fields iterate and
13983 print_adapter_specific_info.
13984
179503f5
TG
139852010-09-13 Tristan Gingold <gingold@free.fr>
139862010-09-13 Robert Millan <rmh.grub@aybabtu.com>
139872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * grub-core/commands/efi/lsefisystab.c: New file.
13990 * grub-core/commands/efi/lssal.c: Likewise.
13991 * grub-core/Makefile.core.def (lsacpi): New module.
13992 (lsefisystab): Likewise.
13993 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13994 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13995 (grub_efi_sal_system_table): New struct.
13996 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13997 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13998 (grub_efi_sal_system_table_platform_features): Likewise.
13999 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14000 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14001 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14002 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14003
cf9827de
VS
140042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 Support explicit user claim that a device is BIOS-visible.
14007
14008 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14009 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14010 * grub-core/kern/emu/hostdisk.c
14011 (convert_system_partition_to_system_disk): Support mdX.
14012 (find_system_device): New parameter add. All users updated.
14013 (grub_util_biosdisk_is_present): New function.
14014 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14015 proto.
14016
53f0eb1f
VS
140172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Search hints support.
14020
14021 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14022 All users updated.
14023
b23ffd70
YB
140242010-09-13 Yves Blusseau <blusseau@zetam.org>
14025
14026 Bash completion script for util commands
14027
14028 * Makefile.am: Add util/bash-completion.d directory
14029 * configure.ac: Likewise.
14030 * util/bash-completion.d/Makefile.am: New file.
14031 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14032
d547dc28
VS
140332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14036 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14037 Reported by: Yves Blusseau.
14038
2fc8ccb9
VS
140392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14042 partition size and offset.
14043
d8a84076
VS
140442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14047
84fb3b3d
VS
140482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14051
768ec2e2
VS
140522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14055 (grub_xvasprintf): Likewise.
14056
4870900f
VS
140572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14060
faca6bec
VS
140612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14064 args ending with NULL.
14065
140662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14067
14068 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14069 pointer.
14070
3c70f225
SJ
140712010-09-11 Szymon Janc <szymon@janc.net.pl>
14072
14073 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14074
4df7996d
VS
140752010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Shutdown using ACPI.
14078
14079 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14080 * grub-core/commands/acpihalt.c: New file.
14081 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14082 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14083 (grub_acpi_halt): New proto.
14084 (GRUB_ACPI_SLP_EN): New const.
14085 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14086 (GRUB_ACPI_OPCODE_*): New enum.
14087 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14088
126b4c32
TG
140892010-09-11 Tristan Gingold <gingold@free.fr>
140902010-09-11 Robert Millan <rmh.grub@aybabtu.com>
140912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * commands/lsacpi.c: New file.
14094 * grub-core/Makefile.core.def (lsacpi): New module.
14095 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14096 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14097 (grub_acpi_madt_entry_header): New struct.
14098 (grub_acpi_madt): Likewise.
14099 (grub_acpi_madt_entry_interrupt_override): Likewise.
14100 (grub_acpi_madt_entry_sapic): Likewise.
14101 (grub_acpi_madt_entry_lsapic): Likewise.
14102 (grub_acpi_madt_entry_platform_int_source): Likewise.
14103 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14104 (PRIuGRUB_UINT32_T): Likewise.
14105 (PRIxGRUB_UINT64_T): Likewise.
14106
1aa4fe88
VS
141072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 Implement loading palette on ieee1275_fb.
14110
14111 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14112 (have_setcolors): Likewise.
14113 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14114 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14115 (grub_video_ieee1275_set_palette): Implement.
14116
25761e13
VS
141172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
141182010-09-11 Colin Watson <cjwatson@ubuntu.com>
14119
14120 * util/grub-install.in (grub_partition): New variable.
14121 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14122 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14123 Fixes a bug reported by Yves Blusseau.
14124
050abaea
VS
141252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 Fix emu on mipsel.
14128
14129 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14130 =grub_cpu_flush_cache on all mips and not only yeeloong.
14131 * configure.ac (COND_mips): New conditional.
14132 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14133 platforms.
14134 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14135 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14136 [GRUB_LINKER_HAVE_INIT]: New function.
14137 (grub_emu_post_init): Likewise.
14138 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14139 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14140 * include/grub/cache.h (_mips): Include mips/cache.h.
14141 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14142 LVM and RAID prototypes.
14143 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14144 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14145 function.
14146
5ed7d816
CW
141472010-09-10 Colin Watson <cjwatson@ubuntu.com>
14148
14149 * util/grub-install.in: Don't try to verify core.img until after
14150 running grub-mkimage to create it.
14151
90367e04
RM
141522010-09-10 Robert Millan <rmh@gnu.org>
14153
14154 * util/grub.d/10_hurd.in: Add misc readability checks.
14155 * util/grub.d/10_kfreebsd.in: Likewise.
14156 * util/grub.d/10_linux.in: Likewise.
14157
c452fa66
CW
141582010-09-10 Colin Watson <cjwatson@ubuntu.com>
14159
14160 * util/grub-install.in: ${imgext} won't be defined here until the
14161 install branch is merged. For the meantime, only verify core.img on
14162 i386-pc and sparc64-ieee1275 platforms.
14163
c38fe9f4
RM
141642010-09-10 Robert Millan <rmh@gnu.org>
14165
14166 Solaris support in grub_find_zpool_from_dir(). Thanks
14167 Seth Goldberg for referring to getextmntent() facility.
14168
14169 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14170 `sys/mkdev.h'.
14171 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14172 `<sys/mnttab.h>'.
14173 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14174 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14175 method for finding zpool name.
14176
905f7773
CW
141772010-09-10 Colin Watson <cjwatson@ubuntu.com>
14178
14179 grub-fstest needs the host and hostfs modules while other utilities
14180 actively require those modules to be absent, so grub-fstest needs
14181 its own initialisation and finalisation code.
14182
14183 * Makefile.am (grub_fstest.pp): New target.
14184 (grub_fstest_init.lst): Likewise.
14185 (grub_fstest_init.c): Likewise.
14186 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14187
fb90b546
RM
141882010-09-10 Robert Millan <rmh@gnu.org>
14189
14190 * configure.ac: Check for `struct statfs.f_fstypename' and
14191 `struct statfs.f_mntfromname'.
14192
14193 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14194 kFreeBSD-specific code.
14195
66d4bea5
RM
141962010-09-10 Robert Millan <rmh@gnu.org>
14197
14198 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14199 on ZFS. Now non-main filesystems are supported as / too.
14200
b6a690ee
CW
142012010-09-09 Colin Watson <cjwatson@ubuntu.com>
14202
14203 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14204 and grub-core/disk/host.c to ...
14205 (grub-fstest): ... here. Having the host disk implementation
14206 present confuses grub-probe and other utility programs.
14207
14208 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14209 when writing to a file, not when writing to stdout.
14210
8901b00c 142112010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14212
14213 * tests/partmap_test.in: New test for partitions.
14214 * Makefile.util.def: Rules for new test.
14215
7bf45fdd
RM
142162010-09-09 Robert Millan <rmh@gnu.org>
14217
14218 * util/grub-probe.c (probe): Fix a pair of unhandled error
14219 conditions.
14220
4dfbc574
RM
142212010-09-09 Robert Millan <rmh@gnu.org>
14222
14223 Basic Btrfs support (detection and UUID).
14224
14225 * grub-core/fs/btrfs.c: New file.
14226 * Makefile.util.def (library): Register btrfs.c.
14227 * grub-core/Makefile.core.def: Likewise.
14228
6b8e78ae
RM
142292010-09-08 Robert Millan <rmh@gnu.org>
14230
14231 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14232 with (optional) parameters to specify device and relative path.
14233 * util/grub-install.in: Use is_path_readable_by_grub() to
14234 verify readability of a few critical files.
14235 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14236 verify readability of grub.cfg.new.
14237
27f21a8b
VS
142382010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 Split minix.mod into minix.mod and minix2.mod.
14241
14242 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14243 * grub-core/Makefile.core.def (minix2): New module.
14244 * grub-core/fs/minix.c: Use definitions instead of runtime version
14245 checking.
14246 * grub-core/fs/minix2.c: New file.
14247
c0e53ea5
YB
142482010-09-08 Yves Blusseau <blusseau@zetam.org>
14249
14250 Add new --boot-directory option to replace --root-directory
14251
14252 * util/grub-install.in: Add new --boot-directory option
14253 * util/grub-reboot.in: Likewise.
14254 * util/grub-set-default.in: Likewise.
14255
b9fe6ea2
YB
142562010-09-08 Yves Blusseau <blusseau@zetam.org>
14257
14258 * util/grub-mkconfig.in: Use new variable.
14259
d87aedff
YB
142602010-09-08 Yves Blusseau <blusseau@zetam.org>
14261
14262 * configure.ac: Define some useful variables.
14263
e55e8495
VS
142642010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14267 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14268 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14269 Use terminfo and don't use cursor-on/cursor-off unless it's known
14270 to work.
14271 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14272 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14273
6fa6d675
CW
142742010-09-08 Colin Watson <cjwatson@ubuntu.com>
14275
14276 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14277 starts with "(,", fill the drive containing the loaded image in
14278 between those two characters, but expect that a full partition
14279 specification including partition map names will follow.
14280
92f2aef0
RM
142812010-09-08 Robert Millan <rmh@gnu.org>
14282
14283 * configure.ac: Remove `--enable-grub-fstest' option.
14284 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14285
14286 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14287 `grub-fstest' instead of `grub-probe' for readability verification.
14288 * util/grub-probe.c (probe): Remove readability verification kludge.
14289
99fd620d
RM
142902010-09-08 Robert Millan <rmh@gnu.org>
14291
14292 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14293 initializing `GRUB_FS'.
14294
058e30ac 142952010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14296
14297 Not command (!) support to GRUB script.
14298
14299 * tests/grub_script_not.in: New test.
14300 * Makefile.util.def: Rules for new test.
14301
14302 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14303 ! command as a special case.
14304 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14305
b61d05ed 143062010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14307
058e30ac 14308 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14309 grub_free.
b61d05ed 14310
4d69c786 143112010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14312
14313 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14314
aa3119c4 143152010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14316
14317 * docs/grub.texi (Shell-like scripting): Documentation for break,
14318 continue, shift and return commands.
14319
db0f7e3d
VS
143202010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 Rename CD-ROM to cd on BIOS.
14323
14324 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14325 "cd".
14326 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14327
88b87c93
VS
143282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14331 * util/grub-probe.c (main): Likewise.
14332 * util/i386/pc/grub-setup.c (main): Likewise.
14333 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14334 Reported and debugged by: alexxy
14335
294f324d
VS
143362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14339 diagnostic info.
14340
d7ee3441
JS
143412010-09-05 Jo Shields <directhex@apebox.org>
14342
14343 * util/grub.d/30_os-prober.in: Add missing classes.
14344
d7e06c1f
VS
143452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * docs/grub.texi (Theme file format): Document new position format.
14348
fc157e53
VS
143492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14352 a table. Use @code instead of @verbatim.
14353
506e9a1c
CB
143542010-09-05 Colin D Bennett <colin@gibibit.com>
14355
14356 Gfxmenu documentation.
14357
14358 * docs/grub.texi (Theme file format): New chapter.
14359
f0aff67c
SJ
143602010-09-05 Szymon Janc <szymon@janc.net.pl>
14361
14362 * grub-core/Makefile.core.def (xzio): New module.
14363 * grub-core/io/xzio.c: New file.
14364 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14365 * grub-core/lib/xzembed/xz_config.h: Likewise.
14366 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14367 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14368 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14369 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14370 * grub-core/lib/xzembed/xz_private.h: Likewise.
14371 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14372 * include/grub/file.h (grub_file_filter_id): New compression filter
14373 GRUB_FILE_FILTER_XZIO.
14374
82a85062
VS
143752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14378 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14379 size.
14380
3579415d
VS
143812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14384 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14385
5124ae6d
VS
143862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Uncompressed checksum support.
14389
14390 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14391 (check_list): New parameter uncompress.
14392 (grub_cmd_hashsum): Handle --uncompress.
14393
9aadb3d1
VS
143942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 Reintroduce testload.
14397
14398 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14399 from here ...
14400 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14401 (GRUB_MOD_INIT): New function.
14402 (GRUB_MOD_FINI): Likewise.
14403 * grub-core/Makefile.core.def (testload): New module.
14404
a17792c3
SJ
144052010-09-05 Szymon Janc <szymon@janc.net.pl>
14406
14407 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14408 (uint8_t): New type.
14409 (uint16_t): Likewise.
14410 (uint32_t): Likewise.
14411 (uint64_t): Likewise.
14412
b81e40a3
SJ
144132010-09-05 Szymon Janc <szymon@janc.net.pl>
14414
14415 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14416
fc2ef117
VS
144172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14420 Made static.
14421 (grub_gzfile_open): Removed. All users updated.
14422 (GRUB_MOD_INIT): New function.
14423 (GRUB_MOD_FINI): Likewise.
14424 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14425 (grub_file_filters_enabled): Likewise.
14426 (grub_file_open): Handle filters.
14427 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14428 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14429 * include/grub/file.h (grub_file_filter_id_t): New type.
14430 (grub_file_filter_t): Likewise.
14431 (grub_file_filters_all): New extern variable.
14432 (grub_file_filters_enabled): Likewise.
14433 (grub_file_filter_register): New inline function.
14434 (grub_file_filter_unregister): Likewise.
14435 (grub_file_filter_disable): Likewise.
14436 (grub_file_filter_disable_compression): Likewise.
14437 * include/grub/gzio.h: Removed.
14438
35ee15e0
BC
144392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14440
14441 Filename expansion support for wildcards in GRUB script.
14442
14443 * tests/grub_script_expansion.in: New test.
14444 * Makefile.util.def: Rule for new test.
14445
14446 * grub-core/commands/wildcard.c: New file, implements filename
14447 expansion support for GRUB script.
14448 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14449 * grub-core/script/argv.c: Cosmetic changes.
14450 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14451 Refactored to perform wildcard expansion on arguments.
14452 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14453 struct.
14454
14455 * tests/util/grub-shell.in: Fix quoting for read input.
14456
5f0c4aca
BC
144572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14458
14459 Support for updating environment variables with matched substrings
14460 of regexp.
14461
14462 * tests/grub_cmd_regexp.in: New test.
14463 * Makefile.util.def: Rule for new test.
14464
14465 * grub-core/commands/regexp.c: New option -s to update environment
14466 variables with regexp matches.
14467
3759a35f
SJ
144682010-09-04 Szymon Janc <szymon@janc.net.pl>
14469
14470 * include/grub/file.h (grub_file): New member not_easly_seekable.
14471 (grub_file_seekable): New inline function.
14472 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14473 easily seekable.
14474 (grub_gzio_open): Set not_easly_seekable.
14475 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14476 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14477
ed8c6dec
BC
144782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14479
14480 Support for options to appear multiple times on cmdline.
14481
14482 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14483 * grub-core/commands/extcmd.c: Support for repeatable option.
14484 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14485 repeatable option support.
14486
14487 Refactor menuentry into a regular command.
14488
14489 * grub-core/commands/menuentry.c: New file, menuentry command
14490 implementation.
14491 * grub-core/Makefile.core.def: Rule update for normal.mod.
14492 * grub-core/normal/main.c: Moved menuentry creation to
14493 grub-core/commands/menuentry.c.
14494 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14495 (grub_menu_execute_entry_real): Removed.
14496 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14497 function.
14498 (grub_script_execute_menuentry): Removed.
14499 * grub-core/script/parser.y (menuentry): Removed.
14500 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14501 * grub-core/script/yylex.l (menuentry): Removed.
14502 * include/grub/menu.h (grub_menu_init): New prototype.
14503 (grub_menu_fini): New prototype.
14504 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14505 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14506 (grub_script_execute_sourcecode): New prototype.
14507
dacd0cf0
BC
145082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14509
14510 "return" command for GRUB script functions.
14511
14512 * tests/grub_script_return.in: New test.
14513 * Makefile.util.def: Rules for new test.
14514
14515 * grub-core/script/execute.c (grub_script_return): New function.
14516 * grub-core/script/main.c: Register/unregister return commaond.
14517 * include/grub/script_sh.h (grub_script_return): New prototype.
14518
52e72f9d
BC
145192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14520
14521 "setparams" command to update positional parameters.
14522
14523 * tests/grub_script_setparams.in: New test.
14524 * Makefile.util.def: Rules for new test.
14525
14526 * grub-core/script/argv.c (grub_script_argv_make): New function.
14527 * grub-core/script/execute.c (replace_scope): New function.
14528 (grub_script_setparams): New function.
14529 * grub-core/script/lexer.c: Remove unused variables.
14530 * grub-core/script/main.c: Register/unregister setparams command.
14531 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14532 (grub_script_setparams): New prototype.
14533
25b60c91
BC
145342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14535
14536 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14537 grub_free order.
14538
37e7bf68
BC
145392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14540
14541 Support for passing block of commands as an argument to extcmds.
14542
14543 * Makefile.util.def: Rules for new test.
14544 * tests/grub_script_blockarg.in: New test.
14545 * grub-core/tests/test_blockarg.c: New file, block argument
14546 command used in the test.
14547
14548 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14549 (grub_register_extcmd_prio): New function prototype.
14550 (grub_extcmd_dispatcher): New function prototype.
14551 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14552 type.
14553 * include/grub/script_sh.h (struct grub_script): New members
14554 `children', `next_siblings' and `refcnt' for block arguments and
14555 reference counting.
14556 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14557 (grub_script_arg): New member `script' for block argument.
14558 (grub_script_argv): New member `script' for block argument.
14559 (grub_parser_param): New member `scripts' for block argument.
14560 (grub_script_mem_free): New extern function prototype.
14561 (grub_script_ref): New function prototype.
14562 (grub_script_unref): New function prototype.
14563
14564 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14565 extcmd form to support block arguments.
14566 * grub-core/script/argv.c: Block arguments support.
14567 * grub-core/script/execute.c: Likewise.
14568 * grub-core/script/lexer.c: Likewise.
14569 * grub-core/script/main.c: Likewise.
14570 * grub-core/script/script.c: Likewise.
14571 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14572 non-terminals.
14573
14574 * grub-core/commands/acpi.c: Update extcmd implementations with
14575 grub_extcmd_context_t.
14576 * grub-core/commands/cat.c: Likewise.
14577 * grub-core/commands/echo.c: Likewise.
14578 * grub-core/commands/extcmd.c: Likewise.
14579 * grub-core/commands/hashsum.c: Likewise.
14580 * grub-core/commands/hdparm.c: Likewise.
14581 * grub-core/commands/help.c: Likewise.
14582 * grub-core/commands/hexdump.c: Likewise.
14583 * grub-core/commands/i386/cpuid.c: Likewise.
14584 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14585 * grub-core/commands/i386/pc/halt.c: Likewise.
14586 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14587 * grub-core/commands/iorw.c: Likewise.
14588 * grub-core/commands/keystatus.c: Likewise.
14589 * grub-core/commands/loadenv.c: Likewise.
14590 * grub-core/commands/ls.c: Likewise.
14591 * grub-core/commands/lspci.c: Likewise.
14592 * grub-core/commands/memrw.c: Likewise.
14593 * grub-core/commands/probe.c: Likewise.
14594 * grub-core/commands/search_wrap.c: Likewise.
14595 * grub-core/commands/setpci.c: Likewise.
14596 * grub-core/commands/sleep.c: Likewise.
14597 * grub-core/disk/loopback.c: Likewise.
14598 * grub-core/hello/hello.c: Likewise.
14599 * grub-core/loader/i386/bsd.c: Likewise.
14600 * grub-core/loader/xnu.c: Likewise.
14601 * grub-core/term/gfxterm.c: Likewise.
14602 * grub-core/term/serial.c: Likewise.
14603 * grub-core/tests/lib/functional_test.c: Likewise.
14604
888d1500
BC
146052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14606
14607 Multi-line quoted strings support.
14608
14609 * grub-core/script/lexer.c (append_newline): Removed.
14610 (grub_script_lexer_yywrap): Refactored.
14611 (grub_script_lexer_init): Refactored.
14612 * grub-core/script/yylex.l (yywrap): New function.
14613 (grub_lexer_resplit): New function.
14614 (grub_lexer_unput): New function.
14615 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14616 and resplit.
14617 * tests/grub_script_echo1.in: Added few more testcases.
14618
dda060dd
VS
146192010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * grub-core/kern/misc.c: Don't add abort alias in utils.
14622 Reported by: echoline.
14623
6556eba9
BC
146242010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14625
14626 Add missing files into "make dist" tarball for other platforms.
14627
14628 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14629 * conf/Makefile.common (dist_noinst_DATA): New variable.
14630 * conf/Makefile.extra-dist: Added missing make dist files.
14631 * grub-core/Makefile.core.def: Likewise.
14632
c8e7bf5f
VS
146332010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 Compress grub_prefix.
14636
14637 * grub-core/boot/i386/pc/lnxboot.S: Use
14638 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14639 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14640 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14641 GRUB_MACHINE_PREFIX_END. All users updated.
14642 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14643 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14644 + 0x40.
14645 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14646 * util/grub-mkimage.c (image_target_desc): Change data_end to
14647 prefix_end. All users updated.
14648
a7c00cdb
VS
146492010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14652 value.
14653 (grub_openbsd_boot): Likewise.
14654 (grub_netbsd_boot): Likewise.
14655 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14656 (grub_xnu_boot): Likewise.
14657
9f915872
VS
146582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * configure.ac: Clean LIBS variable after tests.
14661
efa1bee7
CW
146622010-09-02 Colin Watson <cjwatson@ubuntu.com>
14663
14664 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14665
61d720e5
VS
146662010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14669 echo if libdevmapper will be used.
14670
ef8e0ec8
IT
146712010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14672
14673 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14674 constant for the same file.
14675
03e261d8
VS
146762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14679
c2a4eba6
CW
146802010-09-02 Colin Watson <cjwatson@ubuntu.com>
14681
14682 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14683 grub-core/*.pp.
14684
9056cbf3
CW
146852010-09-02 Colin Watson <cjwatson@ubuntu.com>
14686
14687 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14688 required by the boot protocol.
14689
14690 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14691 ebp and edi members.
14692 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14693 state.ebp and state.edi.
14694 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14695 %ebp and %edi according to grub_relocator32_ebp and
14696 grub_relocator32_edi respectively.
14697 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14698 and state.edi.
14699
529cc99a
VS
147002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 Add i386-pc-pxe image target.
14703
14704 * util/grub-mkimage.c (image_target_desc): New enum value
14705 IMAGE_I386_PC_PXE.
14706 (image_targets): New target i386-pc-pxe.
14707 (generate_image): Handle i386-pc-pxe image.
14708
9a093920
VS
147092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Fix grub_pxe_scan.
14712
14713 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14714 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14715 All users updated.
14716 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14717 (grub_pxe_pxenv): Correct type.
14718
f9cefc4e
CW
147192010-09-01 Colin Watson <cjwatson@ubuntu.com>
14720
14721 * NEWS: Document most of the important changes since 1.98.
14722
4066f57f
CW
147232010-09-01 Colin Watson <cjwatson@ubuntu.com>
14724
14725 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14726 generated manual page) a little.
14727
da2891f9
CW
147282010-09-01 Colin Watson <cjwatson@ubuntu.com>
14729
14730 * docs/grub.texi: Add myself as an author.
14731
ad717fae
VS
147322010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * Makefile.util.def (libgrub.a): Add missing sunpc.
14735 Reported by: Seth Goldberg.
14736
eefe8abd
VS
147372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Interrupt wrapping and code simplifications.
14740
9494ef9a
VS
14741 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14742 x86_noieee1275 which are functionaly equivalent in this case.
14743 (grub-install): Make source on each platform explicit. Enable on
14744 all noemu.
14745 * gentpl.py (x86_efi_pc): Removed group.
14746 (x86_noefi): Likewise.
14747 (i386_noefi): Likewise.
14748 (x86_noieee1275): Likewise.
14749 (i386_noieee1275): Likewise.
14750 (i386_noefi_noieee1275): Likewise.
14751 (i386_pc_qemu_coreboot): Likewise.
14752 (i386_coreboot_multiboot): Likewise.
14753 (i386_pc_coreboot_multiboot_qemu): Likewise.
14754 (x86_noefi_mips): Likewise.
14755 (noieee1275): Likewise.
14756 (ieee1275_mips): Likewise.
14757 (noemu_noieee1275): Likewise.
14758 (cmos): New group.
14759 (usb): Likewise.
14760 (videoinkernel): Likewise.
14761 (videomodules): Likewise.
eefe8abd 14762 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14763 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14764 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14765 include/grub/loader.h, include/grub/msdos_partition.h,
14766 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14767 include/grub/machine/console.h, include/grub/machine/vga.h,
14768 include/grub/machine/vbe.h, include/grub/machine/init.h,
14769 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14770 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14771 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14772 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14773 * grub-core/Makefile.core.def (kernel): Explicit the source for
14774 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14775 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14776 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14777 Use videoinkernel tag.
14778 (usb): Enable on all usb.
14779 (usbserial_common): Likewise.
14780 (usbserial_pl2303): Likewise.
14781 (usbserial_ftdi): Likewise.
14782 (uhci): Enable on all x86.
14783 (ohci): Enable on all pci.
14784 (cmostest): Enable on all CMOS.
14785 (acpi): Include commands/acpi.c on all platforms.
14786 (halt): Add relevant lib/*/halt.c.
14787 (hdparm): Enable on all pci.
14788 (lspci): Likewise.
14789 (usbtest): Enable on all usb.
14790 (ata): Enable on all pci.
14791 (ata_pthru): Likewise.
14792 (usbms): Enable on all usb.
14793 (usb_keyboard): Likewise.
14794 (font): Use tag videomodules.
14795 (bufio): Likewise.
14796 (datetime): Use tag cmos. Enable on all noemu.
14797 (mmap): Use tags common and x86.
14798 (gfxterm): Use tag videomodules.
14799 (bitmap): Likewise.
14800 (bitmap_scale): Likewise.
14801 (video_fb): Likewise.
14802 (video): Likewise.
14803 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14804 adjust padding accordingly. All users updated.
14805 (grub_ohci_transaction): Fix bad format specification.
14806 (GRUB_MOD_INIT): Add asserts for struct size.
14807 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14808 (grub_alloc_td): Likewise.
14809 (grub_free_queue): Likewise.
14810 (grub_uhci_transfer): Likewise.
14811 (grub_uhci_transaction): Fix bad format specification.
14812 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14813 (grub_usb_bulk_readwrite): Likewise.
14814 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14815 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14816 Made static.
14817 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14818 Made static.
14819 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14820 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14821 Transformed into C.
14822 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14823 Moved from here ...
14824 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14825 ... here. Transformed into C. Made static.
14826 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14827 Moved from here ...
14828 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14829 ... here. Transformed into C. Made static.
14830 * grub-core/kern/i386/pc/startup.S
14831 (grub_biosdisk_check_int13_extensions): Moved from here ...
14832 * grub-core/disk/i386/pc/biosdisk.c
14833 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14834 Made static.
14835 * grub-core/kern/i386/pc/startup.S
14836 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14837 * grub-core/disk/i386/pc/biosdisk.c
14838 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14839 Transformed into C. Made static.
14840 * grub-core/kern/i386/pc/startup.S
14841 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14842 * grub-core/disk/i386/pc/biosdisk.c
14843 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14844 Transformed into C. Made static.
14845 * grub-core/kern/i386/pc/startup.S
14846 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14847 * grub-core/disk/i386/pc/biosdisk.c
14848 (grub_biosdisk_get_diskinfo_standard): ... here.
14849 Transformed into C. Made static.
14850 * grub-core/kern/i386/pc/startup.S
14851 (grub_biosdisk_get_num_floppies): Moved from here ...
14852 * grub-core/disk/i386/pc/biosdisk.c
14853 (grub_biosdisk_get_num_floppies): ... here.
14854 Transformed into C. Made static.
14855 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14856 New function.
14857 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14858 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14859 Transformed into C. Made static.
14860 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14861 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14862 Transformed into C. Made static.
14863 * grub-core/kern/i386/ieee1275/init.c: Removed.
14864 * grub-core/kern/i386/misc.S: Likewise.
14865 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14866 Splitted from here ...
14867 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14868 Transformed into C. Made static. All users updated.
14869 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14870 Transformed into C. Made static. All users updated.
14871 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14872 Moved from here...
14873 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14874 Transformed into C. Made static. All users updated.
14875 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14876 Moved from here...
14877 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14878 Transformed into C. Made static. All users updated.
14879 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14880 Removed (replaced by C version).
14881 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14882 Moved from here...
14883 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14884 Transformed into C. Made static.
14885 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14886 Moved from here...
14887 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14888 ... here. Transformed into C.
14889 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14890 Moved from here...
14891 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14892 ... here. Transformed into C.
14893 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14894 Moved from here...
14895 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14896 ... here. Transformed into C. Made static.
14897 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14898 Moved from here...
14899 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14900 ... here. Transformed into C.
21ed554b
VS
14901 * grub-core/kern/i386/pc/startup.S
14902 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14903 * grub-core/video/i386/pc/vbe.c
14904 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14906 Moved from here...
14907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14908 ... here. Transformed into C.
14909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14910 Moved from here...
14911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14912 ... here. Transformed into C.
14913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14914 Moved from here...
14915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14916 ... here. Transformed into C.
14917 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14918 Moved from here...
14919 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14920 ... here. Transformed into C.
14921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14922 Moved from here...
14923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14924 ... here. Transformed into C. Made static.
14925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14926 Moved from here...
14927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14928 ... here. Transformed into C. Made static.
14929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14930 Moved from here...
14931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14932 ... here. Transformed into C. Made static.
14933 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14934 pxe_rm_entry as third argument.
14935 (grub_bios_interrupt): New function.
14936 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14937 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14938 of calling grub_stop.
14939 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14940 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14941 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14942 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14943 * grub-core/lib/i386/halt.c: Moved from here ...
14944 * grub-core/lib/i386/halt.c: ... here.
14945 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14946 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14947 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14948 grub_stop_floppy.
14949 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14950 * include/grub/i386/coreboot/init.h: Removed.
14951 * include/grub/i386/multiboot/init.h: Likewise.
14952 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14953 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14954 * include/grub/i386/pc/int.h: New file.
14955 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14956 (grub_pxe_scan): Removed.
14957 (grub_pxe_call): Update prototype.
14958 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14959 prototypes.
14960 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14961 * include/grub/i386/qemu/init.h: Removed.
14962 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14963 noreturn.
14964 (grub_halt): Likewise.
14965 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14966 (grub_reboot): Likewise.
14967 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14968 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14969 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14970
215dd471
RM
149712010-08-30 Robert Millan <rmh@gnu.org>
14972
14973 * NEWS: Document addition of ZFS support in `grub-install' and
14974 `grub-mkconfig'.
14975
ebd65b82
BC
149762010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14977
14978 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14979 dprintf output.
14980
11721d19
VS
149812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 Remove leftover embedding of font objects.
14984
14985 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14986 * util/grub-install.in (font): Removed.
14987 * util/grub-mkimage.c (generate_image): Remove font support. All users
14988 updated.
14989
37837d4e
VS
149902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Remove leftover embedding of font objects.
14993
14994 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14995 * util/grub-install.in (font): Removed.
14996 * util/grub-mkimage.c (generate_image): Remove font support. All users
14997 updated.
14998
b4c1aae0
VS
149992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15002 Reported by: Ian Turner
b4c1aae0 15003
8920a08d
VS
150042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15007 timeout to avoid indefinite boot stalling.
15008
f21db033
VS
150092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15012 (grub_env_write_color_highlight): Likewise.
15013
9a9de209
VS
150142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * grub-core/normal/term.c (print_more): Return to normal and not
15017 to standard state after printing "---MORE---".
15018
3dca01d7
VS
150192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15022 Mask out the bit 0x80 since it has other meaning that specifiing color.
15023
0b986c40
VS
150242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 New relocator. Allows for more kernel support and more straightforward
15027 loader writing.
15028
15029 * Makefile.am (BOOTTARGET): New variable.
15030 (QEMU32): Likewise.
15031 (linux.init.x86_64): New target.
15032 (linux.init.i386): Likewise.
15033 (multiboot.elf): Likewise.
15034 (kfreebsd.elf): Likewise.
15035 (kfreebsd.aout): Likewise.
15036 (pc-chainloader.elf): Likewise.
15037 (pc-chainloader.bin): Likewise.
15038 (ntldr.elf): Likewise.
15039 (ntldr.bin): Likewise.
15040 (multiboot2.elf): Likewise.
15041 (kfreebsd.init.x86_64): Likewise.
15042 (kfreebsd.init.i386): Likewise.
15043 (knetbsd.init.i386): Likewise.
15044 (kopenbsd.init.i386): Likewise.
15045 (knetbsd.init.x86_64): Likewise.
15046 (kopenbsd.init.x86_64): Likewise.
15047 (linux-initramfs.i386): Likewise.
15048 (linux-initramfs.x86_64): Likewise.
15049 (kfreebsd-mfsroot.i386.img): Likewise.
15050 (knetbsd.image.i386): Likewise.
15051 (kopenbsd.image.i386): Likewise.
15052 (kopenbsd.image.x86_64): Likewise.
15053 (knetbsd.miniroot-image.i386.img): Likewise.
15054 (kfreebsd-mfsroot.x86_64.img): Likewise.
15055 (knetbsd.image.x86_64): Likewise.
15056 (knetbsd.miniroot-image.x86_64.img): Likewise.
15057 (kfreebsd-mfsroot.i386.gz): Likewise.
15058 (bootcheck-kfreebsd-i386): Likewise.
15059 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15060 (bootcheck-kfreebsd-x86_64): Likewise.
15061 (knetbsd.miniroot-image.i386.gz): Likewise.
15062 (bootcheck-knetbsd-i386): Likewise.
15063 (bootcheck-kopenbsd-i386): Likewise.
15064 (bootcheck-kopenbsd-x86_64): Likewise.
15065 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15066 (bootcheck-knetbsd-x86_64): Likewise.
15067 (bootcheck-linux-i386): Likewise.
15068 (bootcheck-linux-x86_64): Likewise.
15069 (bootcheck-linux16-i386): Likewise.
15070 (bootcheck-linux16-x86_64): Likewise.
15071 (bootcheck-multiboot): Likewise.
15072 (bootcheck-multiboot2): Likewise.
15073 (bootcheck-kfreebsd-aout): Likewise.
15074 (bootcheck-pc-chainloader): Likewise.
15075 (bootcheck-ntldr): Likewise.
15076 (CLEANFILES): Add new targets.
15077 (BOOTCHECKS): New variable.
15078 (.PHONY): Add bootchecks.
15079 (SUCCESSFUL_BOOT_STRING): New variable.
15080 (BOOTCHECK_TIMEOUT): Likewise.
15081 (bootcheck): New target
15082 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15083 * configure.ac: Correct efiemu excuse.
15084 * docs/grub.texi (Supported kernels): New chapter.
15085 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15086 include/grub/mm_private.h. Simplify inclusion of
15087 include/grub/boot.h, include/grub/loader.h
15088 and include/grub/msdos_partition.h
15089 (KERNEL_HEADER_FILES) [i386_coreboot]:
15090 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15091 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15092 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15093 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15094 include/grub/machine/loader.h.
15095 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15096 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15097 extra_dist.
15098 (pci.mod): Enable on i386-multiboot.
15099 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15100 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15101 i386-qemu.
15102 (relocator.mod): Rewritten.
15103 (aout.mod): Enable on all x86.
15104 (bsd.mod): Likewise.
15105 (ntldr.mod): New module.
15106 (linux.mod): Use loader/i386/linux.c on all x86.
15107 (xnu.mod): Enable on all x86.
15108 (vga_text.mod): disable on EFI and QEMU.
15109 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15110 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15111 * grub-core/efiemu/loadcore.c: Likewise.
15112 * grub-core/efiemu/main.c: Likewise.
15113 (grub_efiemu_exit_boot_services): Removed.
15114 (grub_efiemu_finish_boot_services): Likewise.
15115 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15116 function.
15117 * grub-core/efiemu/i386/nocfgtables.c: New file.
15118 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15119 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15120 (grub_efi_finish_boot_services): Moved from here ...
15121 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15122 Fille finish memory map and related data.
15123 (finish_mmap_buf): New variable.
15124 (grub_efi_uintn_t finish_mmap_size): Likewise.
15125 (grub_efi_uintn_t finish_key): Likewise.
15126 (grub_efi_uintn_t finish_desc_size): Likewise.
15127 (grub_efi_uint32_t finish_desc_version): Likewise.
15128 (grub_efi_is_finished): Likewise.
15129 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15130 finished.
15131 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15132 (grub_elf64_phdr_iterate): Likewise.
15133 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15134 (grub_os_area_size): Likewise.
15135 (grub_machine_init): Don't reserve os area.
15136 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15137 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15138 * grub-core/kern/i386/loader.S: Removed.
15139 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15140 (grub_os_area_size): Likewise.
15141 (grub_machine_init): Don't reserve os area.
15142 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15143 Don't call grub_dl_unload_all.
15144 Don't include loader.S.
15145 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15146 Declare the memory after _end as available.
15147 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15148 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15149 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15150 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15151 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15152 * include/grub/mm_private.h (grub_mm_header): ... here.
15153 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15154 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15155 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15156 (grub_mm_region): ..here. Removed addr. Added pre_size.
15157 All users updated.
15158 * grub-core/kern/mm.c (base): Renamed to ...
15159 (grub_mm_base): ... this. Made global.
15160 (grub_real_malloc): Alloc from end of region.
15161 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15162 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15163 * grub-core/kern/powerpc/cache_flush.S: ... here.
15164 * grub-core/lib/efi/relocator.c: New file.
15165 * grub-core/lib/i386/relocator.c: Rewritten.
15166 * grub-core/lib/i386/relocator16.S: New file.
15167 * grub-core/lib/i386/relocator32.S: Likewise.
15168 * grub-core/lib/i386/relocator64.S: Likewise.
15169 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15170 * grub-core/lib/i386/relocator_common.S: New file.
15171 * grub-core/lib/ieee1275/relocator.c: Likewise.
15172 * grub-core/lib/mips/relocator.c: Rewritten.
15173 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15174 stylistic adjustments.
15175 * grub-core/lib/powerpc/relocator.c: New file.
15176 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15177 * grub-core/lib/relocator.c: Rewritten.
15178 * grub-core/lib/x86_64/relocator_asm.S: New file.
15179 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15180 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15181 (bsd_tag): New struct.
15182 (tags): New variable.
15183 (tags_last): Likewise.
15184 (netbsd_module): New struct.
15185 (netbsd_mods): New variable.
15186 (netbsd_mods_last): Likewise.
15187 (openbsd_opts): New parameter "serial".
15188 (OPENBSD_SERIAL_ARG): New definition.
15189 (netbsd_opts): New parameter "serial".
15190 (NETBSD_SERIAL_ARG): New definition.
15191 (grub_freebsd_add_meta): Reorganised into ...
15192 (grub_bsd_add_meta): ...this. All users updated.
15193 (grub_freebsd_add_mmap): Reorganised into ...
15194 (generate_e820_mmap): ...this...
15195 (grub_bsd_add_mmap): ...and this. All users updated.
15196 (grub_freebsd_list_modules): Use tags.
15197 (grub_netbsd_add_meta_module): New function.
15198 (grub_netbsd_list_modules): Likewise.
15199 (grub_freebsd_boot): Use relocator and finish EFI.
15200 (grub_openbsd_boot): Likewise.
15201 (grub_netbsd_setup_video): New function.
15202 (grub_netbsd_add_modules): Likewise.
15203 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15204 and finish EFI.
15205 (grub_bsd_unload): Unload tags.
15206 (grub_bsd_load_aout): Use relocator.
15207 (grub_bsd_elf32_size_hook): New function.
15208 (grub_bsd_elf32_hook): Use relocator.
15209 (grub_bsd_elf64_size_hook): New function.
15210 (grub_bsd_elf64_hook): Use relocator.
15211 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15212 (grub_bsd_load): Zero-out openbsd_ramdisk.
15213 (grub_bsd_load): Use relocator.
15214 (grub_cmd_openbsd): Support serial.
15215 (grub_cmd_netbsd): Support modules.
15216 (grub_cmd_freebsd_module): Use relocator.
15217 (grub_netbsd_module_load): New function.
15218 (grub_cmd_netbsd_module): Likewise.
15219 (grub_cmd_openbsd_ramdisk): Likewise.
15220 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15221 kopenbsd_ramdisk.
15222 (GRUB_MOD_FINI): Unregister new commands.
15223 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15224 (grub_freebsd_load_elfmodule_obj): Use relocator.
15225 (grub_freebsd_load_elfmodule): Likewise.
15226 (grub_freebsd_load_elf_meta): Likewise.
15227 (grub_netbsd_load_elf_meta): New function.
15228 (grub_openbsd_find_ramdisk): Likewise.
15229 * grub-core/loader/i386/bsd_helper.S: Removed.
15230 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15231 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15232 * grub-core/loader/i386/efi/linux.c: Likewise.
15233 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15234 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15235 (DEFAULT_VIDEO_MODE): Likewise.
15236 (real_mode_target): New variable.
15237 (prot_mode_target): Likewise.
15238 (initrd_mem_target): Likewise.
15239 (relocator): Likewise.
15240 (efi_mmap_buf): Likewise.
15241 (efi_mmap_size): Likewise.
15242 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15243 (free_pages): Use relocator.
15244 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15245 (grub_linux_setup_video): Return error.
15246 (grub_linux_trampoline_start): Removed.
15247 (grub_linux_trampoline_end): Likewise.
15248 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15249 andd video parameters depending on firmware.
15250 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15251 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15252 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15253 (grub_cmd_initrd): Use relocator.
15254 * grub-core/loader/i386/linux_trampoline.S: Removed.
15255 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15256 (elf_sec_entsize): Likewise.
15257 (elf_sec_shstrndx): Likewise.
15258 (elf_sections): Likewise.
15259 (grub_multiboot_load): Use relocator.
15260 (grub_multiboot_get_mbi_size): Account for sections.
15261 (grub_multiboot_make_mbi): Use relocator and support sections.
15262 (grub_multiboot_add_elfsyms): New function.
15263 (grub_multiboot_free_mbi): Free sections.
15264 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15265 (grub_linux_real_target): Likewise.
15266 (grub_linux_real_chunk): Likewise.
15267 (grub_linux16_prot_size): Likewise.
15268 (grub_linux16_boot): Use relocator.
15269 (grub_linux_unload): Unload relocator.
15270 (grub_cmd_linux): Use relocator.
15271 (grub_cmd_initrd): Likewise.
15272 * grub-core/loader/i386/pc/ntldr.c: New file.
15273 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15274 Don't try to guess CPU frequency.
15275 (grub_xnu_set_video): Stretch bitmap.
15276 (grub_xnu_boot): Use relocator.
15277 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15278 (grub_linux_unload): Free relocator.
15279 (grub_linux_load32): Use relocator.
15280 (grub_linux_load64): Likewise.
15281 (grub_cmd_initrd): Likewise.
15282 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15283 (grub_multiboot_unload): Unload relocator.
15284 (grub_cmd_multiboot): Use relocator.
15285 (grub_cmd_module): Likewise.
15286 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15287 Use relocator and support sections.
15288 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15289 (elf_sec_entsize): Likewise.
15290 (elf_sec_shstrndx): Likewise.
15291 (elf_sections): Likewise.
15292 (grub_multiboot_load): Use relocator.
15293 (grub_multiboot_get_mbi_size): Account for sections.
15294 (grub_multiboot_make_mbi): Use relocator and support sections.
15295 (grub_multiboot_add_elfsyms): New function.
15296 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15297 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15298 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15299 Prototype changed. All users updated.
15300 (grub_xnu_align_heap): Simplified.
15301 (grub_xnu_writetree_toheap): Likewise.
15302 (grub_xnu_unload): Unload relocator.
15303 (grub_cmd_xnu_kernel): Use relocator.
15304 (grub_cmd_xnu_kernel64): Likewise.
15305 (grub_xnu_register_memory): Simplified.
15306 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15307 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15308 EFI is finished.
15309 (grub_console_checkkey): Likewise.
15310 (grub_console_getkey): Likewise.
15311 (grub_console_getwh): Likewise.
15312 (grub_console_getxy): Likewise.
15313 (grub_console_gotoxy): Likewise.
15314 (grub_console_cls): Likewise.
15315 (grub_console_setcolorstate): Likewise.
15316 (grub_console_setcursor): Likewise.
15317 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15318 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15319 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15320 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15321 * grub-core/tests/boot/kernel-8086.S: Likewise.
15322 * grub-core/tests/boot/kernel-i386.S: Likewise.
15323 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15324 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15325 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15326 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15327 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15328 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15329 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15330 * grub-core/tests/boot/linux.cfg: Likewise.
15331 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15332 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15333 * grub-core/tests/boot/linux16.cfg: Likewise.
15334 * grub-core/tests/boot/multiboot.cfg: Likewise.
15335 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15336 * grub-core/tests/boot/ntldr.cfg: Likewise.
15337 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15338 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15339 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15340 New definition.
15341 * include/grub/dl.h (grub_dl_unload_all): Removed.
15342 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15343 (grub_efi_finish_boot_services): Change prototype.
15344 (grub_efi_is_finished): New variable.
15345 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15346 Changed prototype.
15347 (grub_efiemu_finish_boot_services): Removed.
15348 (grub_machine_efiemu_init_tables): New prototype.
15349 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15350 (grub_elf64_phdr_iterate): Likewise.
15351 * include/grub/i386/bsd.h: Include relocator.h.
15352 (freebsd_tag_header): New struct.
15353 (grub_openbsd_bios_mmap): Removed.
15354 (grub_unix_real_boot): Removed.
15355 (grub_freebsd_load_elfmodule32): Changed prototype.
15356 (grub_freebsd_load_elfmodule_obj64): Likewise.
15357 (grub_freebsd_load_elf_meta32): Likewise.
15358 (grub_freebsd_load_elf_meta64): Likewise.
15359 (grub_freebsd_add_meta): Removed.
15360 (grub_netbsd_load_elf_meta32): New prototype.
15361 (grub_netbsd_load_elf_meta64): Likewise.
15362 (grub_bsd_add_meta): Likewise.
15363 (grub_openbsd_ramdisk_descriptor): New struct.
15364 (grub_openbsd_find_ramdisk32): New prototype.
15365 (grub_openbsd_find_ramdisk64): Likewise.
15366 * include/grub/i386/coreboot/loader.h: Removed.
15367 * include/grub/i386/efi/loader.h: Likewise.
15368 * include/grub/i386/ieee1275/loader.h: Likewise.
15369 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15370 to grub_uint32_t.
15371 * include/grub/i386/loader.h: Removed.
15372 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15373 value.
15374 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15375 (grub_phys_addr_t): New type.
15376 (grub_vtop): New inline function.
15377 (grub_map_memory): Likewise.
15378 (grub_unmap_memory): Likewise.
15379 * include/grub/i386/multiboot/loader.h: Removed.
15380 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15381 (NETBSD_BTINFO_CONSOLE): New definition.
15382 (NETBSD_BTINFO_SYMTAB): Likewise.
15383 (NETBSD_BTINFO_MODULES): Likewise.
15384 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15385 (grub_netbsd_bootinfo): New struct.
15386 (grub_netbsd_btinfo_common): Use explicit bitsize.
15387 (grub_netbsd_btinfo_mmap_entry): Removed.
15388 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15389 (grub_netbsd_btinfo_bootdisk): New struct.
15390 (grub_netbsd_btinfo_symtab): Likewise.
15391 (grub_netbsd_btinfo_serial): Likewise.
15392 (grub_netbsd_btinfo_modules): Likewise.
15393 (grub_netbsd_btinfo_framebuf): Likewise.
15394 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15395 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15396 Likewise.
15397 (grub_openbsd_bootargs): Use explicit bitsize.
15398 (grub_openbsd_bootarg_console): New struct.
15399 (GRUB_OPENBSD_COM_MAJOR): New definition.
15400 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15401 * include/grub/i386/pc/efiemu.h: Removed.
15402 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15403 * include/grub/i386/qemu/loader.h: Removed.
15404 * include/grub/i386/relocator.h: Rewritten.
15405 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15406 * include/grub/mips/memory.h: New file.
15407 * include/grub/mips/multiboot.h: Rewritten.
15408 * include/grub/mips/relocator.h: Rewritten.
15409 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15410 (grub_vtop): New function.
15411 (grub_map_memory): Likewise.
15412 (grub_unmap_memory): Likewise.
15413 * include/grub/misc.h (ALIGN_DOWN): New definition.
15414 * include/grub/mm.h (grub_mm_check_real): New proto.
15415 (GRUB_MM_CHECK): New definition.
15416 * include/grub/mm_private.h: New file.
15417 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15418 (grub_multiboot_get_mbi_size): Removed.
15419 (grub_multiboot_make_mbi): Change prottype.
15420 (grub_multiboot_set_accepts_video): New proto.
15421 (grub_multiboot_add_elfsyms): Likewise.
15422 (grub_multiboot_payload_eip): New variable.
15423 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15424 New prototype.
15425 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15426 New definition.
15427 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15428 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15429 * include/grub/powerpc/ieee1275/loader.h: Removed.
15430 * include/grub/powerpc/memory.h: New file.
15431 * include/grub/powerpc/relocator.h: Likewise.
15432 * include/grub/relocator.h: Likewise.
15433 * include/grub/relocator_private.h: Likewise.
15434 * include/grub/sparc64/ieee1275/loader.h: Removed.
15435 * include/grub/x86_64/memory.h: New file.
15436 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15437 (grub_xnu_heap_malloc): Likewise.
15438 (grub_xnu_heap_real_start): Removed.
15439 (grub_xnu_heap_start): Likewise.
15440 (grub_xnu_relocator): New variable.
15441 (grub_xnu_heap_target_start): Likewise.
15442 * tests/util/grub-shell.in: Support non-pc.
15443 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15444
5303b85d
VS
154452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15448 on malloc error.
15449 (grub_bidi_logical_to_visual): Check that malloc succeded.
15450 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15451 puts.
15452 (grub_xputs_normal): Likewise.
15453
d768d159
VS
154542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15457 extra_dist.
15458
154592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15462
5bf84df4
VS
154632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15466
3626810e
VS
154672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15470 dprintf.
15471
a7363f53
BC
154722010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15473
15474 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15475
902f75f6
VS
154762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * grub-core/normal/term.c (print_more): Fix a memory leak.
15479 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15480 (grub_xputs_normal): Likewise.
15481
3c707967
VS
154822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15485 the begining of the string
15486
2053cc07
VS
154872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * grub-core/script/script.c (grub_script_parse): Free parsed on
15490 failure.
15491
46422ebf
VS
154922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15495 on failure.
15496
9e0fa3f6
VS
154972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15500 return.
15501
3393cf16
VS
155022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15505 (scroll_up): Fix a memory leak.
15506
b17540cb
VS
155072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15510 errors.
15511
67140446
VS
155122010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 Handle USB pendrives exposed as floppies.
15515
15516 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15517 floppy.
15518 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15519 Check for partitions on all devices.
15520
e35e46fc
VS
155212010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15524 (readkey): Likewise.
15525
d24c6190
BC
155262010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15527
15528 Multiple variable names support to "export" command.
15529
15530 * normal/context.c (grub_cmd_export): "export" command supports
15531 multiple variable names.
15532
04ddcc6a
ST
155332010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15534
15535 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15536 --target=drive output to Mach device name.
15537
0c8b61d8
BC
155382010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15539
15540 New Automake based build system for GRUB.
15541
15542 * ABOUT-NLS: New file.
15543 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15544 in Makefile.util.def file.
15545 * Makefile.util.def: New file. Autogen build definitions file for
15546 GRUB host utils.
15547 * conf/Makefile.common: New file. Common variables for GRUB host
15548 utils and target modules.
15549 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15550 * docs/Makefile.am: New file. Automake file for docs.
15551 * gentpl.py: New file. Python script to generate Autogen
15552 template.
15553 * grub-core/Makefile.am: New file. GRUB target modules' rules
15554 that doesn't fit in Makefile.core.def file.
15555 * grub-core/Makefile.core.def: New file. Autogen build
15556 definitions file for GRUB target modules.
15557 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15558 specific setjmp.S file.
15559 * po/Makefile.am: New file.
15560
15561 * .bzrignore: New ignores.
15562 * INSTALL: New requirements, without Ruby.
15563 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15564 * autogen.sh: Updated to invoke autogen as necessary.
15565 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15566 and defines for Automake conditionals.
15567 * geninit.sh: Refactoring.
15568
15569 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15570 necessary.
15571 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15572 New prototype.
15573
15574 * include/grub/test.h: Fix functional test modules' naming.
15575 * grub-core/tests/example_functional_test.c: Fix test module name.
15576
15577 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15578 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15579 * util/grub-editenv.c: Likewise.
15580 * util/grub-fstest.c: Likewise.
15581 * util/grub-mkdevicemap.c: Likewise.
15582 * util/grub-mkfont.c: Likewise.
15583 * util/grub-mkimage.c: Likewise.
15584 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15585 * util/grub-probe.c: Likewise.
15586 * util/grub-script-check.c: Likewise.
15587 * util/i386/pc/grub-setup.c: Likewise.
15588 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15589
15590 * tests/util/grub-shell.in: Fix override directory path.
15591 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15592 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15593
15594 * util/lvm.c: Update #includes.
15595 * util/raid.c: Likewise.
15596 * util/resolve.c: Likewise.
15597 * grub-core/bus/emu/pci.c: Likewise.
15598 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15599 * grub-core/lib/posix_wrap/string.h: Likewise.
15600 * grub-core/kern/emu/main.c: Likewise.
15601
15602 * grub-core/gensymlist.sh: New file. Script for generating kernel
15603 symbols file.
15604 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15605
15606 * grub-core/gentrigtables.c: Fix unused variable warnings.
15607
15608 * Makefile.in: Removed.
15609 * conf/any-emu.rmk: Removed.
15610 * conf/common.rmk: Removed.
15611 * conf/i386-coreboot.rmk: Removed.
15612 * conf/i386-efi.rmk: Removed.
15613 * conf/i386-ieee1275.rmk: Removed.
15614 * conf/i386-multiboot.rmk: Removed.
15615 * conf/i386-pc.rmk: Removed.
15616 * conf/i386-qemu.rmk: Removed.
15617 * conf/i386.rmk: Removed.
15618 * conf/mips-yeeloong.rmk: Removed.
15619 * conf/mips.rmk: Removed.
15620 * conf/powerpc-ieee1275.rmk: Removed.
15621 * conf/sparc64-ieee1275.rmk: Removed.
15622 * conf/tests.rmk: Removed.
15623 * conf/x86-efi.rmk: Removed.
15624 * conf/x86_64-efi.rmk: Removed.
15625 * gendistlist.sh: Removed.
15626 * geninitheader.sh: Removed.
15627 * genkernsyms.sh.in: Removed.
15628 * genmk.rb: Removed.
15629 * gensymlist.sh.in: Removed.
15630 * mkinstalldirs: Removed.
15631 * boot: Moved ...
15632 * grub-core/boot: ... to here.
15633 * bus: Moved ...
15634 * grub-core/bus: ... to here.
15635 * commands: Moved ...
15636 * grub-core/commands: ... to here.
15637 * disk: Moved ...
15638 * grub-core/disk: ... to here.
15639 * efiemu: Moved ...
15640 * grub-core/efiemu: ... to here.
15641 * font: Moved ...
15642 * grub-core/font: ... to here.
15643 * fs: Moved ...
15644 * grub-core/fs: ... to here.
15645 * gencmdlist.sh: Moved ...
15646 * grub-core/gencmdlist.sh: ... to here.
15647 * genemuinit.sh: Moved ...
15648 * grub-core/genemuinit.sh: ... to here.
15649 * genemuinitheader.sh: Moved ...
15650 * grub-core/genemuinitheader.sh: ... to here.
15651 * genfslist.sh: Moved ...
15652 * grub-core/genfslist.sh: ... to here.
15653 * genhandlerlist.sh: Moved ...
15654 * grub-core/genhandlerlist.sh: ... to here.
15655 * genmoddep.awk: Moved ...
15656 * grub-core/genmoddep.awk: ... to here.
15657 * genmodsrc.sh: Moved ...
15658 * grub-core/genmodsrc.sh: ... to here.
15659 * genpartmaplist.sh: Moved ...
15660 * grub-core/genpartmaplist.sh: ... to here.
15661 * genparttoollist.sh: Moved ...
15662 * grub-core/genparttoollist.sh: ... to here.
15663 * genterminallist.sh: Moved ...
15664 * grub-core/genterminallist.sh: ... to here.
15665 * gentrigtables.c: Moved ...
15666 * grub-core/gentrigtables.c: ... to here.
15667 * genvideolist.sh: Moved ...
15668 * grub-core/genvideolist.sh: ... to here.
15669 * gettext: Moved ...
15670 * grub-core/gettext: ... to here.
15671 * gfxmenu: Moved ...
15672 * grub-core/gfxmenu: ... to here.
15673 * gnulib: Moved ...
15674 * grub-core/gnulib: ... to here.
15675 * hello: Moved ...
15676 * grub-core/hello: ... to here.
15677 * hook: Moved ...
15678 * grub-core/hook: ... to here.
15679 * io: Moved ...
15680 * grub-core/io: ... to here.
15681 * kern: Moved ...
15682 * grub-core/kern: ... to here.
15683 * lib: Moved ...
15684 * grub-core/lib: ... to here.
15685 * loader: Moved ...
15686 * grub-core/loader: ... to here.
15687 * mmap: Moved ...
15688 * grub-core/mmap: ... to here.
15689 * normal: Moved ...
15690 * grub-core/normal: ... to here.
15691 * partmap: Moved ...
15692 * grub-core/partmap: ... to here.
15693 * parttool: Moved ...
15694 * grub-core/parttool: ... to here.
15695 * script: Moved ...
15696 * grub-core/script: ... to here.
15697 * term: Moved ...
15698 * grub-core/term: ... to here
15699 * tests/example_functional_test.c: Moved ...
15700 * grub-core/tests/example_functional_test.c: ... to here.
15701 * tests/lib/functional_test.c: Moved ...
15702 * grub-core/tests/lib/functional_test.c: ... to here.
15703 * tests/lib/test.c: Moved ...
15704 * grub-core/tests/lib/test.c: ... to here.
15705 * video: Moved ...
15706 * grub-core/video: ... to here.
15707
645586e6
BC
157082010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15709
15710 Replace --enable-grub-emu-modules with grub-emu-lite.
15711
15712 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15713 cache.S.
15714
15715 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15716 * kern/emu/full.c: New file. For grub-emu specific initialization.
15717 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15718 * kern/emu/main.c: Call initialization function grub_emu_init.
15719
15720 * Makefile.in: Include grub-emu-lite in install.
15721 * commands/parttool.c: Use grub_no_autoload to differentiate
15722 between grub-emu and grub-emu-lite.
15723 * include/grub/misc.h: New variable grub_no_autoload.
15724
15725 * conf/any-emu.rmk: New rules for grub-emu-lite.
15726 * configure.ac: Remove --enable-grub-emu-modules.
15727 * genmk.rb: Cleanup unnecessary rules.
15728 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15729
15730 * normal/main.c: Don't load list files on grub-emu-lite.
15731 * util/misc.c (grub_arch_sync_caches): Removed.
15732
f86a4030
CW
157332010-08-23 Colin Watson <cjwatson@ubuntu.com>
15734
15735 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15736 grub-mkimage rather than grub-mkelfimage.
15737 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15738
06776944
VS
157392010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15742 a key after CapsLock or NumLock. It's just a qemu bug.
15743
df262419
VS
157442010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15747 needed by libusb wrapper.
15748
b40ea81b
ST
157492010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15750
15751 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15752
dee50575
VS
157532010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15756 --nounzip is passed.
15757
fb1d7b79
VS
157582010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 USB hotunplugging and USB serial support.
15761
15762 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15763 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15764 (grub_uhci_transfer): Respect timeout and set *actual.
15765 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15766 non-standard length.
15767 (grub_usb_device_attach): Autoload modules.
15768 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15769 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15770 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15771 users updated.
15772 (grub_usb_add_hub): Fill nports and children.
15773 (attach_root_port): Receive hub instead of controller.
15774 All users updated. Fill hub->devices.
15775 (grub_usb_root_hub): Allocate hub->devices.
15776 (detach_device): New function.
15777 (poll_nonroot_hub): Fill children and detach devices.
15778 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15779 actual arguments. All users updated.
15780 (grub_usb_bulk_read_extended): New function.
15781 * bus/usb/serial/common.c: New file.
15782 * bus/usb/serial/ftdi.c: Likewise.
15783 * bus/usb/serial/pl2303.c: Likewise.
15784 * commands/terminal.c (handle_command): Support wildcard.
15785 * commands/usbtest.c: Output "Unknown" instead of empty string.
15786 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15787 (usbserial_common_mod_SOURCES): New variable.
15788 (usbserial_common_mod_CFLAGS): Likewise.
15789 (usbserial_common_mod_LDFLAGS): Likewise.
15790 (pkglib_MODULES): Add usbserial_pl2303.mod.
15791 (usbserial_pl2303_mod_SOURCES): New variable.
15792 (usbserial_pl2303_mod_CFLAGS): Likewise.
15793 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15794 (pkglib_MODULES): Add usbserial_ftdi.mod.
15795 (usbserial_ftdi_mod_SOURCES): New variable.
15796 (usbserial_ftdi_mod_CFLAGS): Likewise.
15797 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15798 (pkglib_MODULES): Add serial.mod.
15799 (serial_mod_SOURCES): New variable.
15800 (serial_mod_CFLAGS): Likewise.
15801 (serial_mod_LDFLAGS): Likewise.
15802 * conf/i386-pc.rmk: Likewise.
15803 * conf/mips-yeeloong.rmk: Likewise.
15804 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15805 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15806 * disk/usbms.c (first_available_slot): New variable.
15807 (grub_usbms_attach): Don't reuse free slots due to potential cache
15808 problems.
15809 * include/grub/serial.h: Moved to ..
15810 * include/grub/ns8250.h: ...this.
15811 * include/grub/serial.h: New file.
15812 * include/grub/term.h (grub_term_poll_usb): New variable.
15813 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15814 readkey. All users updated.
15815 (grub_terminfo_output_state): Pass term to put.
15816 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15817 (grub_usb_controller_dev): Add timeout and actual arguments to
15818 transfer. All users updated.
15819 (grub_usb_interface): New field detach_data.
15820 (grub_usb_device): New fields children and nports.
15821 (grub_usb_ep_type_t): New type.
15822 (grub_usb_get_ep_type): New function.
15823 (grub_usb_bulk_read_extended): Likewise.
15824 * include/grub/usbdesc.h (grub_usb_desc): New type.
15825 * include/grub/usbserial.h: New file.
15826 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15827 * kern/term.c (grub_term_poll_usb): New variable.
15828 (grub_getkey): Call grub_term_poll_usb if set.
15829 (grub_checkkey): Likewise.
15830 (grub_getkeystatus): Likewise.
15831 * term/serial.c: Moved controller-specific parts to ...
15832 * term/ns8250.c: ... here.
15833 * term/serial.c: Mostly rewritten.
15834 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15835 according to spec.
15836
21a313de
RM
158372010-08-20 Robert Millan <rmh@gnu.org>
15838
15839 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15840 a separate module and maybe other interesting combinations.
15841
15842 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15843 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15844 (kfreebsd_entry): Add generic filesystem module load routine.
15845 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15846
63c734a6
CW
158472010-08-20 Colin Watson <cjwatson@ubuntu.com>
15848
15849 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15850 "numcenter" (I misunderstood the purpose of this entry).
15851 * docs/grub.texi (sendkey): Likewise.
15852
c4d16542
CW
158532010-08-20 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15856 status flag options; simply omitting the option is equivalent and
15857 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15858 (keysym_table): Rename "num5numlock" to "numlock".
15859 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15860 can uniformly say that only the last of multiple `sendkey'
15861 invocations has any effect.
15862 * docs/grub.texi (sendkey): New section.
15863
93541d66
CW
158642010-08-19 Colin Watson <cjwatson@ubuntu.com>
15865
15866 * commands/i386/pc/sendkey.c (options): Fix three typos.
15867
b4ece5e1
VS
158682010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 Implement sendkey support.
15871
15872 * commands/i386/pc/sendkey.c: New file.
15873 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15874 (sendkey_mod_SOURCES): New variable.
15875 (sendkey_mod_CFLAGS): Likewise.
15876 (sendkey_mod_LDFLAGS): Likewise.
15877
51f1f5af
CW
158782010-08-18 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15881 fix warnings from Autoconf.
15882
9da94e05
CW
158832010-08-18 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15886 to avoid false positives with some assemblers that output things
15887 like "someprefix_func" as part of their output.
15888
729a0f2e
RM
158892010-08-15 Robert Millan <rmh@gnu.org>
15890
15891 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15892 errors.
15893 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15894 grub_get_libzfs_handle() errors.
15895
f3710e08
RM
158962010-08-14 Robert Millan <rmh@gnu.org>
15897
15898 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15899 filesystem is not ZFS.
15900
7a3c13de
BC
159012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15902
15903 Fix for misspelled color names defaulting to black/black (bug
15904 reported by Doug Nazar)
15905
15906 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15907 status to prototype.
15908 * normal/color.c (grub_parse_color_name_pair): Return failure
15909 status.
15910 (grub_env_write_color_normal): Ignore bad color names.
15911 (grub_env_write_color_highlight): Likewise.
15912 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15913
ab8ba50d
BC
159142010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15915
15916 "shift" command support to GRUB script.
15917
15918 * include/grub/script_sh.h (grub_script_shift): New prototype.
15919 * script/execute.c (grub_script_shift): New function.
15920 * script/main.c (grub_script_init): Register shift command.
15921 (grub_script_fini): Unregister shift command.
15922 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15923
15924 * tests/grub_script_shift.in: New testcase.
15925 * conf/tests.rmk: Rules for new testcase.
15926
4d61999e
BC
159272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15928
15929 "continue" command support to GRUB script.
15930
15931 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15932 (grub_script_break): Continue support.
15933 * script/main.c (grub_script_init): Register continue command.
15934 (grub_script_fini): Unregister continue command.
15935
15936 * tests/grub_script_continue.in: New testcase.
15937 * conf/tests.rmk: Rules for new testcase.
15938
4df51e00
BC
159392010-08-12 BVK Chaitanya <bvk@dbook>
15940
15941 "break" command support to GRUB script.
15942
15943 * conf/common.rmk: Rule updates to grub-script-check.
15944 * include/grub/misc.h (grub_min): New function.
15945 * include/grub/script_sh.h (grub_script_init): New prototype.
15946 (grub_script_fini): New prototype.
15947 (grub_script_break): New prototype.
15948 * script/main.c (grub_script_init): New function.
15949 (grub_script_fini): New function.
15950 * script/execute.c (grub_script_break): New function.
15951 * normal/main.c: Calls to grub_script_{init,fini}.
15952 * util/grub-script-check.c (grub_script_break): New function.
15953
15954 * tests/grub_script_break.in: New testcase.
15955 * conf/tests.rmk: Rules for new test case.
15956
f12c8420
BC
159572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15958
15959 Function parameters support to GRUB script.
15960
15961 * script/yylex.l (VARIABLE): Regular expression update.
15962 * script/function.c (grub_script_function_call): Moved ...
15963 * script/execute.c (grub_script_function_call): ... to here.
15964 (grub_script_execute_arglist_to_argv): Removed.
15965 (grub_script_arglist_to_argv): New function.
15966 * script/argv.c: New file.
15967 (grub_script_argv_free): New function.
15968 (grub_script_argv_next): Likewise.
15969 (grub_script_argv_append): Likewise.
15970 (grub_script_argv_split_append): Likewise.
15971 * include/grub/script_sh.h (grub_script_argv): New struct.
15972 (grub_script_argv_free): New function.
15973 (grub_script_argv_next): Likewise.
15974 (grub_script_argv_append): Likewise.
15975 (grub_script_argv_split_append): Likewise.
15976
15977 * conf/common.rmk (normal.mod): New source script/argv.c.
15978
15979 * tests/grub_script_echo1.in: More tests.
15980 * tests/grub_script_vars1.in: Likewise.
15981 * tests/grub_script_functions.in: New test case.
15982 * conf/tests.rmk: Rules for new testcase.
15983
8022b748
BC
159842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15985
15986 Remove grub_script_cmdblock struct.
15987
15988 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15989 * script/parser.y: Likewise.
15990 * script/execute.c: Rename cmdblock suffix to cmdlist.
15991 * script/script.c: Likewise.
15992 * util/grub-script-check.c: Likewise.
15993
79a6ba61
YB
159942010-08-11 Yves Blusseau <blusseau@zetam.org>
15995
15996 * .bzrignore: add grub-macho2img
15997
d04b9414
VS
159982010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16001
f947ab49
VS
160022010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 Remove the dump of sm712 initialisation sequence.
16005
16006 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16007 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16008 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16009 (GRUB_VGA_CR_*): Added many registers.
16010 (GRUB_VGA_SR_*): Likewise.
16011 (GRUB_VGA_GR_*): Likewise.
16012 (grub_vga_write_arx): New function.
16013 (grub_video_hw_config): New struct.
16014 (grub_vga_set_geometry): New function.
16015 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16016 GRUB_PCI_CLASS_SUBCLASS_VGA.
16017 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16018 * video/sm712.c (grub_sm712_write_reg): New function
16019 (grub_sm712_read_reg): Likewise.
16020 (grub_sm712_sr_write): Likewise.
16021 (grub_sm712_gr_write): Likewise.
16022 (grub_sm712_cr_write): Likewise.
16023 (grub_sm712_write_arx): Likewise.
16024 (grub_sm712_cr_shadow_write): Likewise.
16025 (grub_sm712_write_dda_lookup): Likewise.
16026 (grub_video_sm712_setup): Initialise the video rather then
16027 blindly replay the dump.
16028 (main) [TEST]: Add a routine to be able to compile as standalone for
16029 tests.
16030 * video/sm712_init.c (sm712_init): Removed.
16031 (sm712_sr_seq1): New array.
16032 (sm712_sr_seq2): Likewise.
16033
f0206638
VS
160342010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * include/grub/vga.h: Add missing grub/pci.h include.
16037
2764da3b
YB
160382010-08-10 Yves Blusseau <blusseau@zetam.org>
16039
16040 * util/grub-macho2img.c (main): fix typo
16041
cf0c775e
VS
160422010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16045 (grub_vga_gr_read): Likewise.
16046 (grub_vga_cr_write): Likewise.
16047 (grub_vga_cr_read): Likewise.
16048 (grub_vga_sr_write): Likewise.
16049 (grub_vga_sr_read): Likewise.
16050 (grub_vga_palette_read): Likewise.
16051 (grub_vga_palette_write): Likewise.
16052 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16053 (grub_sm712_sr_read): New function.
16054 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16055 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16056
07f360e9
RM
160572010-08-09 Robert Millan <rmh@gnu.org>
16058
16059 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16060 out unused variables on non-ZFS build.
16061
346c2072
RM
160622010-08-08 Robert Millan <rmh@gnu.org>
16063
16064 Fix path generation for sub-filesystems in ZFS.
16065
16066 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16067 missing slash.
16068
71175420
RM
160692010-08-08 Robert Millan <rmh@gnu.org>
16070
16071 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16072
0d8286f3
RM
160732010-08-08 Robert Millan <rmh@gnu.org>
16074
16075 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16076 exist, issue a proper error message (rely on `ls' for translated
16077 strings).
16078
55dd2924
RM
160792010-08-08 Robert Millan <rmh@gnu.org>
16080
16081 Fix grub-probe invocation.
16082
16083 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16084
d3dd9e80
RM
160852010-08-04 Robert Millan <rmh@gnu.org>
16086
16087 * configure.ac: Remove checks for getfsstat() and getmntany().
16088 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16089 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16090 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16091 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16092 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16093 function.
16094 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16095 via find_mount_point_from_dir() and getfsstat() / getmntany().
16096
0de22aa9
RM
160972010-08-04 Robert Millan <rmh@gnu.org>
16098
16099 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16100 (grub_find_zpool_from_mount_point): Merge into ...
16101 (grub_find_zpool_from_dir): ... this.
16102 * kern/emu/misc.c: Likewise.
16103
16104 * kern/emu/misc.c
16105 (grub_make_system_path_relative_to_its_root): Replace
16106 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16107 with grub_find_zpool_from_dir().
16108 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16109
62858144
RM
161102010-08-04 Robert Millan <rmh@gnu.org>
16111
16112 Support OpenSolaris in ZFS device resolution.
16113
16114 * configure.ac: Check for getmntany().
16115 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16116 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16117 support.
16118
9dd6fd50
RM
161192010-08-03 Robert Millan <rmh@gnu.org>
16120
16121 Fix grub-emu build.
16122
16123 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16124 * include/grub/emu/misc.h: ... here.
16125
16126 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16127 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16128
16129 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16130 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16131 (grub_get_libzfs_handle): Move to ...
16132 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16133 (grub_get_libzfs_handle): ... here.
16134
c9f7ff97
BC
161352010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16136
16137 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16138 as command name case.
16139
a870a783
CW
161402010-08-02 Colin Watson <cjwatson@ubuntu.com>
16141
16142 * disk/raid.c (insert_array): Select unique numbers for named arrays
16143 as well, for use as keys in the disk cache.
16144
c7db243b
RM
161452010-08-01 Robert Millan <rmh@gnu.org>
16146
16147 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16148 kFreeBSD device name, except on ZFS where the filesystem label is
16149 used.
16150 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16151 `/boot/zfs/zpool.cache'.
16152 Set mountfrom kernel variable using ${kfreebsd_device}.
16153
f7abdefb
RM
161542010-08-01 Robert Millan <rmh@gnu.org>
16155
16156 Make it even harder to use uninitialized `libzfs_handle' (and
16157 make the interface a bit simpler).
16158
16159 * include/grub/util/misc.h (grub_util_init_libzfs)
16160 (libzfs_handle): Remove.
16161 (grub_get_libzfs_handle): New prototype.
16162
16163 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16164 attribute.
16165 (grub_util_init_libzfs): Remove.
16166 (grub_get_libzfs_handle): New function.
16167
16168 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16169 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16170 accessing `libzfs_handle' directly.
16171
c882acc0
RM
161722010-08-01 Robert Millan <rmh@gnu.org>
16173
16174 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16175 (grub_find_zpool_from_mount_point): New function prototypes.
16176
16177 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16178 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16179
16180 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16181 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16182 `static' attribute.
16183
16184 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16185 finding zpool from mount point into ...
16186 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16187
16188 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16189 requested path is part of a ZFS pool, use
16190 grub_find_zpool_from_mount_point() to detect its filesystem name,
16191 and generate a path with `/fsname@path' syntax.
16192
8bfe31d8
CW
161932010-08-01 Colin Watson <cjwatson@ubuntu.com>
16194
16195 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16196 (void) rather than () so that this is a proper prototype.
16197
553df63d
VS
161982010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16201
8687cf07
VS
162022010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16205 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16206
ea9be8ea
CW
162072010-08-01 Colin Watson <cjwatson@ubuntu.com>
16208
16209 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16210
6eea041a
CW
162112010-08-01 Colin Watson <cjwatson@ubuntu.com>
16212
16213 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16214
2cfb45df
CW
162152010-08-01 Colin Watson <cjwatson@ubuntu.com>
16216
16217 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16218 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16219 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16220 disable gfxpayload.
16221 (Shell-like scripting): Add real content.
16222 (Serial terminal): Suggest `terminal_input serial; terminal_output
16223 serial' rather than putting the two commands on separate lines,
16224 since console input will be inoperative after the first command.
16225 (menuentry): Document --class, --users, and --hotkey options.
16226 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16227 Vladimir Serbinenko).
16228
7decd202
VS
162292010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
162302010-08-01 Colin Watson <cjwatson@ubuntu.com>
16231
16232 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16233
c882acc0
RM
162342010-08-01 Robert Millan <rmh@gnu.org>
16235
16236 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16237 (grub_find_zpool_from_mount_point): New function prototypes.
16238
16239 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16240 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16241
16242 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16243 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16244 `static' attribute.
16245
16246 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16247 finding zpool from mount point into ...
16248 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16249
16250 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16251 requested path is part of a ZFS pool, use
16252 grub_find_zpool_from_mount_point() to detect its filesystem name,
16253 and generate a path with `/fsname@path' syntax.
16254
deb0caa3
RM
162552010-08-01 Robert Millan <rmh@gnu.org>
16256
16257 Prevent accidental use of uninitialized libzfs_handle.
16258
16259 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16260 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16261 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16262
ce04ef47
CW
162632010-08-01 Colin Watson <cjwatson@ubuntu.com>
16264
16265 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16266 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16267
ebf53056
RM
162682010-08-01 Robert Millan <rmh@gnu.org>
16269
16270 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16271
3710bb6b
RM
162722010-07-31 Robert Millan <rmh@gnu.org>
16273
16274 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16275
8072efeb
RM
162762010-07-31 Robert Millan <rmh@gnu.org>
16277
16278 * kern/emu/misc.c: Add missing license header.
16279
3169f4c7
RM
162802010-07-31 Robert Millan <rmh@gnu.org>
16281
16282 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16283
16284 * include/grub/util/libnvpair.h: Include `<config.h>'.
16285 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16286 declaring libnvpair prototypes ourselves.
16287 * include/grub/util/libzfs.h: Include `<config.h>'.
16288 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16289 declaring libzfs prototypes ourselves.
16290
16291 (libzfs_handle): Moved to ...
16292 * include/grub/util/misc.h (libzfs_handle): ... here.
16293 Include `<grub/util/libzfs.h>'.
16294
c9a00aee
RM
162952010-07-30 Robert Millan <rmh@gnu.org>
16296
16297 * include/grub/emu/misc.h: Add missing license header.
16298
a184f9c8
RM
162992010-07-30 Robert Millan <rmh@gnu.org>
16300
16301 Enable `grub-probe -t device' resolution on ZFS.
16302
16303 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16304 * include/grub/util/libnvpair.h: New file.
16305 * include/grub/util/libzfs.h: New file.
16306
16307 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16308 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16309 `<grub/util/libnvpair.h>'.
16310 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16311
16312 (find_mount_point_from_dir): New static function.
16313 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16314 function.
16315 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16316 find_root_device_from_libzfs() before ressorting to find_root_device().
16317
16318 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16319 prototype.
16320 * util/misc.c: Include `<grub/util/libzfs.h>'.
16321 (grub_util_init_libzfs): New function.
16322 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16323 [HAVE_LIBZFS] (fini_libzfs): New static function.
16324 (grub_util_init_libzfs): New function.
16325 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16326
f7790cdd
RM
163272010-07-30 Robert Millan <rmh@gnu.org>
16328
16329 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16330 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16331 `warn_unused_result' attribute.
16332 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16333 (grub_xasprintf, grub_xvasprintf): Likewise.
16334 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16335
0806b63c
RM
163362010-07-29 Robert Millan <rmh@gnu.org>
16337
16338 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16339 (probe): Handle `PRINT_FS_LABEL'.
16340 (main): Handle `-t fs_label'.
16341
9f841f5c
RM
163422010-07-29 Robert Millan <rmh@gnu.org>
16343
16344 * configure.ac: Remove grub-mkisofs checks.
16345
46371121
VS
163462010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16349 Reported by: Lennart Sorensen.
16350
163512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16354 prior to terminal_input/terminal_output separation. It's been over 1.5
16355 years and those versions weren't widely deployed.
16356
a9600892
CW
163572010-07-22 Colin Watson <cjwatson@ubuntu.com>
16358
16359 * disk/raid.c (insert_array): Don't count named arrays when looking
16360 for unused array numbers.
697e053c 16361 Reported and tested by: Michael Guntsche.
a9600892 16362
c03507df
CW
163632010-07-20 Colin Watson <cjwatson@ubuntu.com>
16364
16365 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16366 implementation of this so that grub-emu links again, with a note
16367 that this should support hotplugging in the future.
16368
b26f1c11
CW
163692010-07-20 Colin Watson <cjwatson@ubuntu.com>
16370
16371 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16372
efc9d7f1
CW
163732010-07-20 Colin Watson <cjwatson@ubuntu.com>
16374
16375 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16376 handle on failure.
16377 (grub_loopback_close): Remove empty function.
16378 (grub_loopback_dev): Remove close method.
16379
dd8ff5c9
CW
163802010-07-20 Colin Watson <cjwatson@ubuntu.com>
16381
16382 Disable EFI cursor when the EFI console becomes inactive.
16383
16384 * term/efi/console.c (grub_efi_console_init): New function.
16385 (grub_efi_console_fini): New function.
16386 (grub_console_term_output): Register init and fini methods.
16387
5e3bec67
VS
163882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16391 sh script.
16392
afaec079
VS
163932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 * disk/loopback.c (grub_loopback): Replace filename with file.
16396 (delete_loopback): Handle new semantics.
16397 (grub_cmd_loopback): Likewise.
16398 (grub_loopback_iterate): Likewise.
16399 (grub_loopback_close): Likewise.
16400
a6a11f3c
VS
164012010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16404 with -p "".
16405 Reported by: Tito Keitel.
16406
64a638b0
VS
164072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * docs/grub.texi (Naming convention): Document new naming convention.
16410
ab8ba957
VS
164112010-07-20 Vadim Solomin <vadic052@gmail.com>
164122010-07-20 Colin Watson <cjwatson@ubuntu.com>
16413
16414 Generate device.map in something closer to the old ordering.
16415
16416 * util/deviceiter.c (struct device): New declaration.
16417 (compare_file_names): Rename to ...
16418 (compare_devices): ... this. Sort by kernel name in preference to
16419 the stable by-id name, but keep the latter as a fallback comparison.
16420 Update header comment.
16421 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16422 of `struct device' rather than of plain file names.
16423
a29d6a4b
TF
164242010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16425
16426 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16427 on i386.
16428
39d824e8
VS
164292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16432 hardcoding size.
16433 (setv1table): Likewise.
16434
f058276b
FZ
164352010-07-20 Colin Watson <cjwatson@ubuntu.com>
16436
16437 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16438 removing the homehost if present.
16439 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16440 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16441 removing the homehost if present.
16442 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16443 if possible.
16444 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16445
16446 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16447 parameter. Set its pointer target to 0.
16448 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16449 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16450 `data_offset' value from the superblock for 1.x metadata.
16451 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16452 data on the device.
16453 (insert_array): Record the start sector of data on the device.
16454 (grub_raid_register): Pass start_sector parameters to
16455 grub_raid_list->detect and insert_array.
16456 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16457 member.
16458 (struct grub_raid): Add start_sector parameter to `detect'.
16459
16460 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16461 __attribute__ ((packed)), leaving a comment.
16462 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16463 (grub_mdraid_detect_09): ... here and ...
16464 (grub_mdraid_detect_1x): ... here.
16465
164662010-07-20 Peter Henn <peter.henn@web.de>
16467
16468 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16469 chunk size and disk size, which are already given as sector counts
16470 as distinct from the 0.90 units. Fetch the correct device number
16471 from the role table instead of using the table index.
16472
164732010-07-20 Felix Zielcke <fzielcke@z-51.de>
16474
16475 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16476 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16477 (WriteMostly1): New macro.
16478 Set array->name to NULL for metadata format 0.90. Add support for
16479 metadata 1.x. Fix some comments.
16480 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16481 few comments.
16482 * util/getroot.c (grub_util_get_grub_dev): Add support for
16483 /dev/md/name style devices.
16484
4b761da9
CW
164852010-07-20 Colin Watson <cjwatson@ubuntu.com>
16486
16487 * .bzrignore: Ignore 20_linux_xen.
16488
5771289a
CW
164892010-07-17 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * util/import_unicode.py: Remove unnecessary imports.
16492
5dab68df
AN
164932010-07-17 Aleš Nesrsta <starous@volny.cz>
16494
16495 Hotplugging and USB hub support.
16496
16497 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16498 (grub_ohci): Likewise.
16499 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16500 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16501 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16502 (GRUB_OHCI_CTRL_EDS): Likewise.
16503 (GRUB_OHCI_BULK_EDS): Likewise.
16504 (GRUB_OHCI_TDS): Likewise.
16505 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16506 (grub_ohci_ed_phys2virt): New function.
16507 (grub_ohci_virt_to_phys): Likewise.
16508 (grub_ohci_td_phys2virt): Likewise.
16509 (grub_ohci_td_virt2phys): Likewise.
16510 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16511 attachment.
16512 (grub_ohci_find_ed): New function.
16513 (grub_ohci_alloc_td): Likewise.
16514 (grub_ohci_free_td): Likewise.
16515 (grub_ohci_free_tds): Likewise.
16516 (grub_ohci_transfer): Use previously allocated memory.
16517 (grub_ohci_portstatus): Reset status changed bit.
16518 (grub_ohci_detect_dev): Supply status changed.
16519 (grub_ohci_fini_hw): Free memory.
16520 (grub_ohci_restore_hw): Reallocate memory.
16521 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16522 Reset status change.
16523 (grub_uhci_detect_dev): Supply status_change.
16524 * bus/usb/usb.c (attach_hooks): New var.
16525 (grub_usb_device_attach): New function.
16526 (grub_usb_register_attach_hook_class): Likewise.
16527 (grub_usb_unregister_attach_hook_class): Likewise.
16528 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16529 (grub_usb_add_hub): Reset connection changed bit.
16530 (attach_root_port): New function.
16531 (grub_usb_root_hub): Likewise.
16532 (poll_nonroot_hub): Likewise.
16533 (grub_usb_poll_devices): Likewise.
16534 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16535 * disk/usbms.c (grub_usbms_open): Use device hooks.
16536 (grub_usbms_iterate) :Poll devices.
16537 (grub_usbms_finddevs): Split into ...
16538 (grub_usbms_attach): ... this ...
16539 (grub_usbms_attach): ... and this.
16540 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16541 in detect_dev.
16542 (grub_usb_interface): New fields attached and detach_hook.
16543 (grub_usb_attach_hook_class): New type.
16544 (grub_usb_attach_desc): New struct.
16545 (grub_usb_register_attach_hook_class): New function.
16546 (grub_usb_unregister_attach_hook_class): Likewise.
16547 (grub_usb_poll_devices): Likewise.
16548 (grub_usb_device_attach): Likewise.
16549 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16550 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16551
3222efaf
VS
165522010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16555 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16556 delta determination style. Works with most NetBSD partitions too.
16557
139b714a
VS
165582010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16561 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16562
986aad56
VS
165632010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16566
99be513c
AB
165672010-07-14 Anton Blanchard <anton@samba.org>
16568
16569 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16570 ET_DYN files.
16571
18075f62
GS
165722010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16573
16574 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16575
8d9a5b15
GS
165762010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16577
16578 * kern/partition.c (grub_partition_check_containment): New function to
16579 check that a partition is physically contained in a parent. Since
16580 offsets are relative (and non-negative), this reduces to checking that
16581 the partition ends before its parent.
16582 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16583 (grub_partition_iterate): Likewise.
16584 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16585 comments.
16586 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16587 partitions that start before their parent, and add debug printfs.
16588
19563c25
CW
165892010-07-13 Colin Watson <cjwatson@ubuntu.com>
16590
16591 * Makefile.in (.SUFFIX): Spell correctly, as ...
16592 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16593 bare module name without `.mod', e.g. `test') tried to invoke a
16594 Modula-2 compiler.
16595
1a1f1e67
CW
165962010-07-13 Colin Watson <cjwatson@ubuntu.com>
16597
16598 * README: Point to the Info manual.
16599
811b0dca
JS
166002010-07-13 Jiro SEKIBA <jir@unicus.jp>
16601
16602 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16603 2nd superblock position from partition size.
16604
e4f4eafc
CW
166052010-07-10 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16608 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16609 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16610 outputs.
16611
4274c30f
VS
166122010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 Restructure SCSI .id handling.
16615 Reported and tested by: Aleš Nesrsta.
16616
16617 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16618 (grub_atapi_dev): Changed .name to "ata". New field .id.
16619 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16620 (grub_usbms_dev): New field .id.
16621 * disk/scsi.c (grub_scsi_iterate): Generate name.
16622 (grub_scsi_open): Parse name.
16623 * include/grub/scsi.h (grub_make_scsi_id): New function.
16624 (grub_scsi_dev): Change iterate and open to number instead of naming
16625 busses. All users updated.
16626 (grub_scsi): Remove name. Add .bus.
16627
5bc24388
VS
166282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * commands/help.c (grub_cmd_help): Fix a typo.
16631
249975ba
VS
166322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16635 Reported and tested by: Colin Watson.
16636
3eaac1a1
VS
166372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16640 in this context.
16641
becce1b1
VS
166422010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16645
f7bf0918
CW
166462010-07-07 Colin Watson <cjwatson@ubuntu.com>
16647
16648 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16649 indentation.
16650
0b0f9620
CW
166512010-07-06 Colin Watson <cjwatson@ubuntu.com>
16652
16653 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16654 and disk/raid6_recover.c.
16655 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16656 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16657
1e545469
CW
166582010-07-06 Colin Watson <cjwatson@ubuntu.com>
16659
16660 * term/gfxterm.c (repaint_schedulded): Rename to ...
16661 (repaint_scheduled): ... this. Update all callers.
16662 (repaint_was_schedulded): Rename to ...
16663 (repaint_was_scheduled): ... this. Update all callers.
16664
5357687a
CW
166652010-07-06 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16668 which we expect to be handled by upper layers.
16669
29d7e783
BC
166702010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16671
16672 * bus/usb/usbhub.c: #include time.h header.
16673
37582066
CW
166742010-07-06 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16677 entry_name also for entries without stat blocks (e.g. ".."); fixes
16678 corruption of the first entry in a directory.
16679
c8c06953
CW
166802010-07-06 Colin Watson <cjwatson@ubuntu.com>
16681
16682 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16683 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16684 doesn't work otherwise.
16685
e75056f1
CW
166862010-07-05 Colin Watson <cjwatson@ubuntu.com>
16687
16688 * docs/grub.texi (Features): Update list of supported file systems.
16689 (GNU/Linux): Update for GRUB 2.
16690 (Serial terminal): Remove mention of --disable-serial, which was a
16691 GRUB Legacy configure option. Update instructions to use
16692 `terminal_input' and `terminal_output' rather than `terminal'.
16693 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16694 configuration' and `Installing GRUB using grub-install'.
16695 (Menu entry editor): Update for GRUB 2.
16696 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16697 Document new -a, -u, and -v options.
16698 (initrd): New section.
16699 (initrd16): New section.
16700 (linux): New section.
16701 (linux16): New section.
16702 (search): The `var' argument to `--set' is optional.
16703 (GRUB only offers a rescue shell): Go into a little more detail on
16704 drive ordering.
16705
5cf69151
CW
167062010-07-05 Colin Watson <cjwatson@ubuntu.com>
16707
16708 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16709
e3f90044
CW
167102010-07-05 Colin Watson <cjwatson@ubuntu.com>
16711
16712 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16713 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16714
38d8f4f3
CW
167152010-07-05 Colin Watson <cjwatson@ubuntu.com>
16716
16717 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16718 install_prefix, in line with install_dos_part and install_bsd_part.
16719 Add new prefix variable, which is copied to install_prefix after
16720 comparing core.img in memory with the one read from disk in the
16721 no-embedding case, and use that rather than overwriting
16722 install_prefix immediately when installing to a partition.
16723 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16724 Bicakci.
16725
57ebd41e
GS
167262010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16727
16728 * configure.ac: Avoid == in test command, it's not portable.
16729 * util/grub.d/30_os-prober.in: Likewise.
16730
cb7f64b2
CW
167312010-07-04 Colin Watson <cjwatson@ubuntu.com>
16732
16733 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16734
6b654bb0
GS
167352010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16736
16737 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16738 multiple (top-level) partmaps.
16739
72a2026d
VS
167402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16743 Reported by: Tino Keitel.
72a2026d 16744
df3eb88f
VS
167452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 Bidi and diacritics support.
16748
16749 * Makefile.in (widthspec.bin): New target.
16750 (widthspec.h): Likewise.
16751 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16752 * autogen.sh: Generate unidata.c.
16753 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16754 * commands/ls.c (grub_ls_list_devices): Likewise.
16755 (grub_ls_list_files): Likewise.
16756 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16757 (grub_mini_cmd_lsmod): Likewise.
16758 * commands/read.c: Likewise.
16759 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16760 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16761 * lib/arg.c (grub_arg_show_help): Likewise.
16762 * lib/crypto.c (grub_password_get): Likewise.
16763 * normal/auth.c (grub_username_get): Likewise.
16764 * normal/misc.c (grub_normal_print_device_info): Likewise.
16765 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16766 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16767 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16768 (normal/charset.c_DEPENDENCIES): New variable.
16769 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16770 (pkglib_MODULES): Remove charset.mod.
16771 (charset_mod_SOURCES): Removed.
16772 (charset_mod_CFLAGS): Likewise.
16773 (charset_mod_LDFLAGS): Likewise.
16774 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16775 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16776 and term/tparm.c.
16777 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16778 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16779 (kernel_img_HEADERS): Add terminfo.h.
16780 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16781 Fill ->font. Reverse ascii bitmaps.
16782 (grub_font_get_xheight): New function.
16783 * font/font.c (grub_font_get_string_width): Moved from here ...
16784 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16785 * font/font.c (grub_font_draw_string): Moved from here ...
16786 * gfxmenu/font.c (grub_font_draw_string): ... here.
16787 * font/font.c (grub_font_dup_glyph): New function.
16788 (grub_font_blit_glyph): Likewise.
16789 (grub_font_blit_glyph_mirror): Likewise.
16790 (blit_comb): Likewise.
16791 (grub_font_construct_dry_run): Likewise.
16792 (grub_font_get_constructed_device_width): Likewise.
16793 (grub_font_construct_glyph): Likewise.
16794 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16795 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16796 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16797 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16798 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16799 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16800 (grub_font_get_xheight): New proto.
16801 (grub_font_get_constructed_device_width): Likewise.
16802 (grub_font_construct_glyph): Likewise.
16803 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16804 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16805 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16806 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16807 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16808 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16809 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16810 (grub_console_getcharwidth): Likewise.
16811 * include/grub/misc.h (grub_xputs): New proto.
16812 (grub_puts): Inlined.
16813 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16814 (grub_normal_get_line_counter): Removed.
16815 (grub_install_newline_hook): Likewise.
16816 (grub_normal_get_char_counter): New proto.
16817 (grub_normal_reset_more): Likewise.
16818 (grub_xputs_normal): Likewise.
16819 * include/grub/powerpc/ieee1275/console.h: Removed.
16820 * include/grub/sparc64/ieee1275/console.h: Likewise.
16821 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16822 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16823 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16824 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16825 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16826 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16827 (grub_term_input): Pass reference to self. All users updated.
16828 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16829 Pass reference to self. New fields normal_color, highlight_color and
16830 data. All users updated.
16831 (grub_putchar): Removed.
16832 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16833 (grub_unicode_estimate_width): New function.
16834 (grub_term_getcharwidth): Add defaults.
16835 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16836 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16837 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16838 (grub_cls): Remove EXPORT_FUNC.
16839 (grub_setcolorstate): Inline.
16840 (grub_newline_hook): Removed.
16841 * include/grub/terminfo.h: Rewritten. All users updated.
16842 * include/grub/unicode.h: New file.
16843 * include/grub/video.h (grub_video_signed_rect): New type.
16844 * kern/emu/console.c (grub_console_highlight_color): Removed.
16845 (grub_console_normal_color): Likewise.
16846 (grub_console_standard_color): Made static.
16847 (grub_ncurses_putchar): Remove mapping.
16848 (grub_ncurses_getcharwidth): Removed.
16849 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16850 (grub_ncurses_setcolor): Removed.
16851 (grub_ncurses_getcolor): Likewise.
16852 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16853 (grub_console_putchar): ... this.
16854 (grub_console_putchar): Handle argument difference.
16855 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16856 console_init_early and console_init_lately.
16857 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16858 * kern/misc.c (grub_puts): Removed.
16859 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16860 (grub_vsnprintf_real): Remove str = NULL support.
16861 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16862 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16863 * kern/term.c (grub_putcode): Renamed to ...
16864 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16865 (grub_putchar): Removed.
16866 (grub_xputs_dumb): New function.
16867 (grub_xputs): New variable.
16868 * lib/charset.c: Move from here ...
16869 * normal/charset.c: ... to here.
16870 (grub_ucs4_to_utf8): New function.
16871 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16872 (join_types): New variable.
16873 (unpack_join): New function.
16874 (bidi_types): New variable.
16875 (unpack_bidi): New function.
16876 (get_bidi_type): Likewise.
16877 (get_join_type): Likewise.
16878 (is_mirrored): Likewise.
16879 (grub_unicode_get_comb_type): Likewise.
16880 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16881 (is_type_after): Likewise.
16882 (grub_unicode_aglomerate_comb): Likewise.
16883 (bidi_line_wrap): Likewise.
16884 (grub_bidi_line_logical_to_visual): Likewise.
16885 (grub_bidi_logical_to_visual): Likewise.
16886 (grub_unicode_mirror_code): Likewise.
16887 (grub_unicode_shape_code): Likewise.
16888 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16889 Don't use grub_putchar.
16890 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16891 (grub_normal_reader_init): Likewise.
16892 (grub_xputs_saved): New variable.
16893 (GRUB_MOD_INIT): Set grub_xputs.
16894 (GRUB_MOD_FINI): Restore grub_xputs.
16895 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16896 (menu_init): Avoid printing gfxmenu error.
16897 (show_menu): Use grub_normal_get_char_counter.
16898 * normal/menu_entry.c (update_screen): Fix out-of-array.
16899 (complete): Avoid NULL dereferencing.
16900 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16901 * normal/menu_text.c (print_spaces): Removed.
16902 (grub_print_ucs4): Likewise.
16903 (grub_print_message_indented): Use grub_print_ucs4.
16904 (print_message): Use grub_putcode.
16905 (print_entry): Hanlde diacritics.
16906 * normal/term.c (term_state): New type.
16907 (grub_more_lines): Removed.
16908 (term_states): New variable.
16909 (grub_normal_line_counter): Renamed to ..
16910 (grub_normal_char_counter): ...this. All users updated.
16911 (grub_normal_get_line_counter): Renamed to ...
16912 (grub_normal_get_char_counter): ... this.
16913 (grub_normal_reset_more): New function.
16914 (process_newline): Removed.
16915 (print_more): New function.
16916 (grub_install_newline_hook): Removed.
16917 (map_code): New function.
16918 (grub_puts_terminal): Use grub_print_ucs4.
16919 (putglyph): New function.
16920 (putcode_real): Likewise.
16921 (grub_putcode): Use putcode_real.
16922 (get_maxwidth): New function.
16923 (get_startwidth): Likewise.
16924 (print_ucs4_terminal): Likewise.
16925 (find_term_state): Likewise.
16926 (put_glyphs_terminal): Likewise.
16927 (print_backlog): Likewise.
16928 (print_ucs4_real): Likewise.
16929 (grub_print_ucs4): Likewise.
16930 (grub_xputs_normal): Likewise.
16931 * term/efi/console.c (grub_console_putchar): Output diacritics.
16932 (grub_console_getcharwidth): Removed.
16933 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16934 * term/gfxterm.c (clear_char): Free chars.
16935 (scroll_up): Avoid leaking memory.
16936 (grub_gfxterm_putchar): Support diacritics.
16937 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16938 * term/i386/pc/console.c (grub_console_term_output): Declare as
16939 GRUB_TERM_CODE_TYPE_VGA.
16940 * term/i386/pc/vga.c (grub_vga_term): Declare as
16941 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16942 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16943 GRUB_TERM_CODE_TYPE_VGA.
16944 * term/i386/vga_common.c (map_char): Removed.
16945 (grub_console_putchar): Likewise.
16946 (grub_console_getcharwidth): Likewise.
16947 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16948 (colors): Reordered to match terminfo.
16949 (grub_ofconsole_normal_color): Removed.
16950 (grub_ofconsole_writeesc): Likewise.
16951 (grub_ofconsole_highlight_color): Likewise.
16952 (grub_ofconsole_getcharwidth): Likewise.
16953 (grub_ofconsole_setcolorstate): Likewise.
16954 (grub_ofconsole_setcolor): Likewise.
16955 (grub_ofconsole_getcolor): Likewise.
16956 (grub_ofconsole_readkey): Renamed to ...
16957 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16958 key.
16959 (grub_ofconsole_checkkey): Removed.
16960 (grub_ofconsole_getkey): Likewise.
16961 (grub_ofconsole_getxy): Likewise.
16962 (grub_ofconsole_gotoxy): Likewise.
16963 (grub_ofconsole_cls): Likewise.
16964 (grub_ofconsole_refresh): Likewise.
16965 (grub_ofconsole_terminfo_input): New struct.
16966 (grub_ofconsole_terminfo_output): Likewise.
16967 (grub_ofconsole_term_input): Use terminfo.
16968 (grub_ofconsole_term_output): Likewise.
16969 (grub_console_init): Split into ...
16970 (grub_console_init_early): ...this and ...
16971 (grub_console_init_lately): ...this. Use terminfo.
16972 (grub_ofconsole_putchar): Renamed to ...
16973 (put): ... this. Remove mapping.
16974 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16975 * term/serial.c: Simplify using terminfo.
16976 (xpos): Removed.
16977 (ypos): Likewise.
16978 (keep_track): Likewise.
16979 (registered): Likewise.
16980 (input_buf): Likewise.
16981 (npending): Likewise.
16982 (serial_translate_key_sequence): Likewise.
16983 (fill_input_buf): Likewise.
16984 (grub_serial_checkkey): Likewise.
16985 (grub_serial_getkey): Likewise.
16986 (grub_serial_getxy): Likewise.
16987 (grub_serial_gotoxy): Likewise.
16988 (grub_serial_putchar): Likewise.
16989 (grub_serial_cls): Likewise.
16990 (grub_serial_setcolorstate): Likewise.
16991 (grub_serial_setcursor): Likewise.
16992 (serial_hw_init): Use serial_hw_fetch.
16993 (grub_serial_terminfo_input): New variable.
16994 (grub_serial_terminfo_output): Likewise.
16995 (grub_serial_term_input): Use terminfo.
16996 (grub_serial_term_output): Likewise.
16997 * term/terminfo.c (putstr): Use put.
16998 (grub_terminfo_all_free): New function
16999 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17000 (grub_terminfo_output_register): New function.
17001 (grub_terminfo_output_unregister): Likewise.
17002 (grub_terminfo_getxy): Likewise.
17003 (grub_terminfo_readkey): Likewise.
17004 (grub_terminfo_checkkey): Likewise.
17005 (grub_terminfo_getkey): Likewise.
17006 (grub_terminfo_input_init): Likewise.
17007 (print_terminfo): Likewise.
17008 (grub_cmd_terminfo): Handle encoding.
17009 (grub_terminfo_gotoxy): Track position.
17010 (grub_terminfo_cls): Likewise.
17011 (grub_terminfo_putchar): Likewise.
17012 (grub_terminfo_setcolorstate): Handle colors
17013 (grub_terminfo_cursor_on): This ...
17014 (grub_terminfo_cursor_off): ... and this merged into ...
17015 (grub_terminfo_setcursor): ... this.
17016 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17017 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17018 * unicode/BidiMirroring.txt: Likewise.
17019 * unicode/UnicodeData.txt: Likewise.
17020 * unicode/COPYING: Likewise.
17021 * util/grub-editenv.c (grub_putchar): Removed.
17022 (grub_xputs_real): New function.
17023 (grub_xputs): New variable.
17024 * util/grub-fstest.c (grub_putchar): Removed.
17025 (grub_xputs_real): New function.
17026 (grub_xputs): New variable.
17027 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17028 (grub_xputs_real): New function.
17029 (grub_xputs): New variable.
17030 * util/grub-probe.c (grub_putchar): Removed.
17031 (grub_xputs_real): New function.
17032 (grub_xputs): New variable.
17033 * util/grub-script-check.c (grub_putchar): Removed.
17034 (grub_xputs_real): New function.
17035 (grub_xputs): New variable.
17036 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17037 (grub_xputs_real): New function.
17038 (grub_xputs): New variable.
17039 * util/import_unicode.py: New file.
17040 * util/grub-mkfont.c (ft_errmsgs): New array.
17041 (grub_glyph_info): Make bitmap a pointer.
17042 (file_formats): New type WIDTH_SPEC.
17043 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17044 (options): Add width-spec.
17045 (help): Likewise.
17046 (add_char): Renamed to ...
17047 (add_glyph): ... this.
17048 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17049 (glyph_replace): New type.
17050 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17051 (add_char): New function.
17052 (add_subst): Likewise.
17053 (process_cursive): Likewise.
17054 (add_font): Handle GSUB.
17055 (write_font_width_spec): New function.
17056 (main): Sort glyphs.
17057 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17058 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17059 * kern/term.c (grub_cls): Moved from here...
17060 * normal/term.c (grub_cls): ... here.
17061
50f0bcda
CW
170622010-07-02 Colin Watson <cjwatson@ubuntu.com>
17063
17064 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17065 suitable for using within the format argument of printf when
17066 converting grub_size_t.
17067 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17068 "x" to convert grub_size_t arguments.
17069
40372103
VS
170702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17073 too long captions.
17074 (list_get_minimal_size): Take selection box into account.
17075
942a10c7
VS
170762010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17079 NULL font.
17080
2bdb2892
CW
170812010-07-02 Colin Watson <cjwatson@ubuntu.com>
17082
17083 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17084 devices when iterating over /dev/disk/by-id; they will be handled
17085 later if appropriate, which they aren't always (e.g. LVM).
17086
e03ed6c1
CW
170872010-07-02 Colin Watson <cjwatson@ubuntu.com>
17088
17089 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17090 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17091 fails.
17092 (grub_halt): Likewise.
17093 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17094 reset-all fails.
17095 (grub_halt): Don't return, even if all of shut-down, power-off, and
17096 poweroff fail.
17097
47695765
CW
170982010-07-02 Colin Watson <cjwatson@ubuntu.com>
17099
17100 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17101 arguments, not three.
17102
507736c8
CW
171032010-07-02 Colin Watson <cjwatson@ubuntu.com>
17104
17105 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17106 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17107 LVM-on-RAID is handled correctly.
17108
e3c8cd37
CW
171092010-07-02 Colin Watson <cjwatson@ubuntu.com>
17110
17111 * docs/grub.texi (Changes from GRUB Legacy): New section.
17112 (Future): Fix typo.
17113
8d4a2fec
CW
171142010-07-02 Colin Watson <cjwatson@ubuntu.com>
17115
17116 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17117 grub.d/README accidentally ends up executable for one reason or
17118 another. Ignore it.
17119
1c4827be
VS
171202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17123 (gpt_partition_map_iterate): Support non-512B sectors.
17124
d9a0c941
VS
171252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17128 Tested by: Seth Goldberg.
17129
48f27e87
VS
171302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17133 Properly align mbi.
17134 Reported by: Seth Goldberg.
17135
b0c4f956
VS
171362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * util/grub-mkrescue.in: Avoid module duplication.
17139
105a2e8c
SF
171402010-07-01 Sean Finney <seanius@seanius.net>
17141
17142 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17143
5944958c
SF
171442010-07-01 Sean Finney <seanius@seanius.net>
17145
17146 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17147
171482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 * disk/lvm.c (grub_lvm_checkvalue): New function.
17151 (grub_lvm_check_flag): Likewise.
17152
b79889ba
RM
171532010-07-01 Robert Millan <rmh@gnu.org>
17154
17155 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17156 Support 'p' as partition separator on kernel of FreeBSD (used
17157 with GPT labels).
17158 (grub_util_biosdisk_get_grub_dev): Likewise.
17159
ec1d04f1
VS
171602010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 Yeeloong firmware port.
17163
17164 * boot/mips/yeeloong/fwstart.S: New file.
17165 * bus/cs5536.c (gpiodump): New const.
17166 (set_io_space): New function.
17167 (set_iod): Likewise.
17168 (set_p2d): Likewise.
17169 (grub_cs5536_init_geode): Likewise.
17170 * commands/mips/yeeloong/lsspd.c: New file.
17171 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17172 (serial_mod_SOURCES): New variable.
17173 (serial_mod_CFLAGS): Likewise.
17174 (serial_mod_LDFLAGS): Likewise.
17175 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17176 term/terminfo.c and term/tparm.c.
17177 (pkglib_IMAGES): Add fwstart.img.
17178 (fwstart_img_SOURCES): New variable.
17179 (fwstart_img_CFLAGS): Likewise.
17180 (fwstart_img_ASFLAGS): Likewise.
17181 (fwstart_img_LDFLAGS): Likewise.
17182 (fwstart_img_FORMAT): Likewise.
17183 (pkglib_MODULES): Add lsspd.mod.
17184 (lsspd_mod_SOURCES): New variable.
17185 (lsspd_mod_CFLAGS): Likewise.
17186 (lsspd_mod_LDFLAGS): Likewise.
17187 (pkglib_MODULES): Add halt.mod.
17188 (halt_mod_SOURCES): New variable.
17189 (halt_mod_CFLAGS): Likewise.
17190 (halt_mod_LDFLAGS): Likewise.
17191 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17192 (serial_mod_SOURCES): Removed.
17193 (serial_mod_CFLAGS): Likewise.
17194 (serial_mod_LDFLAGS): Likewise.
17195 * disk/ata.c (check_device): New function.
17196 (grub_ata_device_initialize): Use check_device.
17197 (grub_ata_iterate): Recheck devices.
17198 (grub_ata_open): Likewise.
17199 (grub_atapi_iterate): Likewise.
17200 (grub_atapi_open): Likewise.
17201 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17202 (GRUB_ATA_CH1_PORT1): Likewise.
17203 (GRUB_ATA_CH0_PORT2): Likewise.
17204 (GRUB_ATA_CH1_PORT2): Likewise.
17205 * include/grub/mips/loongson.h: New file.
17206 * include/grub/mips/yeeloong/ec.h: Likewise.
17207 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17208 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17209 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17210 * include/grub/misc.h (grub_halt): Declare as noreturn.
17211 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17212 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17213 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17214 (UART_ENABLE_DTRRTS): Likewise.
17215 (UART_ENABLE_MODEM): Removed.
17216 (UART_ENABLE_OUT2): New const.
17217 * include/grub/term.h (grub_term_register_input_active): New function.
17218 (grub_term_register_output_active): Likewise.
17219 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17220 argument.
17221 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17222 (init_pci): New function.
17223 (grub_machine_init): Execute platform init when firmware. Init serial.
17224 (grub_halt): Implement.
17225 (grub_exit): Likewise.
17226 (grub_reboot): Likewise.
17227 * term/serial.c (serial_hw_init): Update macros.
17228 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17229 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17230 (image_targets): New target mipsel-yeeloong-flash.
17231 (generate_image): Support IMAGE_YEELOONG_FLASH.
17232 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17233 (grub_video_sm712_setup): Init card.
17234 (grub_video_sm712_set_palette): Removed.
17235 * video/sm712_init.c: New file.
17236
ff4a70d2
CW
172372010-06-30 Colin Watson <cjwatson@ubuntu.com>
17238
17239 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17240 PATH when running help2man and then run it on the unadorned
17241 executable names, rather than passing $(builddir)/* paths to
17242 help2man. This avoids the build directory ending up in generated
17243 manual pages.
17244
1246efeb
CW
172452010-06-29 Colin Watson <cjwatson@ubuntu.com>
17246
17247 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17248 to avoid accidents when debugging with 'sh -x'.
17249 * util/grub-mkrescue.in: Likewise.
17250 * util/grub.d/00_header.in: Likewise.
17251 * util/grub.d/10_hurd.in: Likewise.
17252 * util/grub.d/10_kfreebsd.in: Likewise.
17253 * util/grub.d/10_linux.in: Likewise.
17254 * util/grub.d/10_netbsd.in: Likewise.
17255 * util/grub.d/10_windows.in: Likewise.
17256 * util/grub.d/20_linux_xen.in: Likewise.
17257 * util/grub.d/30_os-prober.in: Likewise.
17258 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17259
1ba9b889
CW
172602010-06-29 Colin Watson <cjwatson@ubuntu.com>
17261
17262 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17263 last character in the buffer.
17264 Reported by: Vladimir Serbinenko.
17265
dccaf99d
RM
172662010-06-29 Robert Millan <rmh@gnu.org>
17267
17268 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17269 (Command-line and menu entry commands): Document `badram' command.
17270
d500ed12
RM
172712010-06-28 Robert Millan <rmh@gnu.org>
17272
17273 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17274 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17275 command using ${GRUB_BADRAM} as parameter.
17276
20bc84a6
CW
172772010-06-28 Colin Watson <cjwatson@ubuntu.com>
17278
17279 * docs/grub.texi (Device map): New section.
17280 (Themes): New section (stub).
17281 * Makefile.in (docs/grub.info): The info documentation now builds
17282 without errors. Make sure it stays that way.
17283
4045dee1
VS
172842010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 Use normal parser for menu entries.
17287 Reported by: Thomas Frauendorfer
17288
17289 * include/grub/parser.h (grub_parser_execute): Don't export.
17290 * normal/menu.c (grub_menu_execute_entry_real): New function.
17291 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17292
bca58c7b
CW
172932010-06-28 Colin Watson <cjwatson@ubuntu.com>
17294
17295 * docs/grub.texi (Embedded configuration): New section (replacing
17296 old "Preset Menu" stub).
17297 (Images): New section.
17298 (configfile): Note that any menu entries defined in `file' are shown
17299 immediately.
17300
dec53e63
JT
173012010-06-28 Josh Triplett <josh@joshtriplett.org>
17302
17303 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17304
c06e40f7
CW
173052010-06-28 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * util/grub-install.in: Add --debug-image= option.
17308
cb88052b
CW
173092010-06-28 Colin Watson <cjwatson@ubuntu.com>
17310
17311 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17312 possible on Linux.
17313
17314 * util/deviceiter.c (check_device): Rename to ...
17315 (check_device_readable_unique): ... this. Update all callers.
17316 Maintain and check a list of which devices (by canonicalized name)
17317 have already been seen.
17318 (clear_seen_devices): New function.
17319 (compare_file_names) [__linux__]: New function.
17320 (grub_util_iterate_devices): Clear the list of seen devices on exit
17321 and (just in case) on entry.
17322 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17323 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17324 seen-devices list, superseded by general code in check_device.
17325
bbe34652
CW
173262010-06-28 Colin Watson <cjwatson@ubuntu.com>
17327
17328 * commands/cat.c (options): New variable.
17329 (grub_cmd_cat): Parse options. If the --dos option is given, print
17330 DOS-style "\r\n" line endings as simple newlines (Debian bug
17331 #586358).
17332 (GRUB_MOD_INIT): Use extcmd.
17333 (GRUB_MOD_FINI): Likewise.
17334 * docs/grub.texi (cat): Document --dos.
17335
412e09f3
VS
173362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 XEN with Linux grub-mkconfig support.
17339
17340 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17341 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17342 GRUB_CMDLINE_XEN_DEFAULT.
17343 * util/grub.d/20_linux_xen.in: New file.
17344
53f3ef38 173452010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17346
17347 Initialise VGA video on qemu ourselves.
17348
17349 * boot/i386/qemu/boot.S: Don't call 0xc000.
17350 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17351 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17352 (kernel_img_HEADERS): Add pci.h.
17353 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17354 * configure.ac: Force unifont on qemu and yeeloong.
17355 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17356 (grub_vga_palette_write): Use correct register.
17357 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17358 Call grub_qemu_init_cirrus.
17359 * kern/i386/qemu/init.c: New file.
17360 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17361
17362 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17363
c75be4fb
PR
173642010-06-26 Pavel Roskin <proski@gnu.org>
17365
17366 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17367 13.
17368
d8034603
CW
173692010-06-26 Colin Watson <cjwatson@ubuntu.com>
17370
17371 * docs/grub.texi (Simple configuration): Explain that
17372 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17373 set to `true' to disable their respective recovery entries, not
17374 merely set.
17375
3fa06487
CW
173762010-06-26 Colin Watson <cjwatson@ubuntu.com>
17377
17378 Make the `source' command slightly faster.
17379
17380 * normal/main.c (grub_normal_execute): Don't re-read list files when
17381 nested.
17382
e9b29642
CW
173832010-06-23 Colin Watson <cjwatson@ubuntu.com>
17384
17385 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17386 field position and mask size to red fields from mode_info, not
17387 green.
17388 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17389 Remove redundant tag->common.framebuffer_type assignment.
17390 Reported by: Seth Goldberg.
17391
e726542f
CW
173922010-06-23 Colin Watson <cjwatson@ubuntu.com>
17393
17394 Sync up other versions of the Linux loader with Robert Millan's
17395 change of 2010-01-09, "Make loader output a bit more user-friendly".
17396
17397 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17398 grub_dprintf().
17399 (grub_cmd_linux): Likewise.
17400 (grub_cmd_initrd): Likewise.
17401 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17402 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17403
d6e98a17
CW
174042010-06-21 Colin Watson <cjwatson@ubuntu.com>
17405
17406 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17407 larger than MEMORY_MAP_SIZE.
17408
14d3f08e
BC
174092010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17410
17411 Fix parallel build.
17412
17413 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17414 dependency.
17415 * script/parser.y: #include grub_script.tab.h header.
17416
4f9613a3
VS
174172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 Support >3GiB and <16MiB RAM in i386-qemu.
17420
17421 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17422 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17423 (grub_lower_mem): Removed.
17424 (grub_upper_mem): Likewise.
17425 (mem_size): Made static.
17426 (above_4g): New variable.
17427 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17428 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17429 support.
17430
05e51879
VS
174312010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Cirrus 5446 and Bochs video cards support.
17434
17435 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17436 video_bochs.mod
17437 (video_cirrus_mod_SOURCES): New variable.
17438 (video_cirrus_mod_CFLAGS): Likewise.
17439 (video_cirrus_mod_LDFLAGS): Likewise.
17440 (video_bochs_mod_SOURCES): Likewise.
17441 (video_bochs_mod_CFLAGS): Likewise.
17442 (video_bochs_mod_LDFLAGS): Likewise.
17443 * include/grub/vga.h: New file.
17444 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17445 (grub_video_fb_set_page_t): New type.
17446 (grub_video_fb_setup): New prototype.
17447 (grub_video_fb_swap_buffers): Likewise.
17448 (grub_video_fb_get_info_and_fini): Likewise.
17449 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17450 (CRTC_DATA_PORT): Likewise.
17451 (CRTC_CURSOR): Likewise.
17452 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17453 (CRTC_CURSOR_ADDR_LOW): Likewise.
17454 (CRTC_CURSOR_DISABLE): Likewise.
17455 (update_cursor): Use grub_vga_cr_write.
17456 (grub_vga_text_setcursor): Likewise.
17457 * video/bochs.c: New file.
17458 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17459 (palette): Likewise.
17460 (palette_size): Likewise.
17461 (framebuffer): New variable.
17462 (grub_video_fb_init): Use 'framebuffer'.
17463 (grub_video_fb_fini): Likewise.
17464 (grub_video_fb_get_info): Likewise.
17465 (grub_video_fb_get_palette): Likewise.
17466 (grub_video_fb_set_palette): Likewise.
17467 (grub_video_fb_set_viewport): Likewise.
17468 (grub_video_fb_get_viewport): Likewise.
17469 (grub_video_fb_map_color): Likewise.
17470 (grub_video_fb_map_rgb): Likewise.
17471 (grub_video_fb_map_rgba): Likewise.
17472 (grub_video_fb_unmap_color): Likewise.
17473 (grub_video_fb_unmap_color_int): Likewise.
17474 (grub_video_fb_fill_rect): Likewise.
17475 (grub_video_fb_blit_bitmap): Likewise.
17476 (grub_video_fb_blit_render_target): Likewise.
17477 (grub_video_fb_scroll): Likewise.
17478 (grub_video_fb_create_render_target): Likewise.
17479 (grub_video_fb_doublebuf_blit_init): Likewise.
17480 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17481 (doublebuf_pageflipping_update_screen): New function.
17482 (doublebuf_pageflipping_init): Likewise.
17483 (grub_video_fb_setup): Likewise.
17484 (grub_video_fb_swap_buffers): Likewise.
17485 (grub_video_fb_get_info_and_fini): Likewise.
17486 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17487 All users updated.
17488 (doublebuf_pageflipping_commit): Restructured into ...
17489 (doublebuf_pageflipping_set_page): ... this.
17490 (doublebuf_pageflipping_update_screen): Removed.
17491 (doublebuf_pageflipping_init): Likewise.
17492 (double_buffering_init): Likewise.
17493 (grub_video_vbe_setup): Use grub_video_fb_setup.
17494 (grub_video_vbe_swap_buffers): Removed.
17495 (grub_video_vbe_set_active_render_target): Likewise.
17496 (grub_video_vbe_get_active_render_target): Likewise.
17497 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17498 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17499 grub_video_fb_set_active_render_target and
17500 grub_video_fb_get_active_render_target.
17501 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17502 (SEQUENCER_DATA_PORT): Likewise.
17503 (MAP_MASK_REGISTER): Likewise.
17504 (CRTC_ADDR_PORT): Likewise.
17505 (CRTC_DATA_PORT): Likewise.
17506 (START_ADDR_HIGH_REGISTER): Likewise.
17507 (START_ADDR_LOW_REGISTER): Likewise.
17508 (GRAPHICS_ADDR_PORT): Likewise.
17509 (GRAPHICS_DATA_PORT): Likewise.
17510 (READ_MAP_REGISTER): Likewise.
17511 (INPUT_STATUS1_REGISTER): Likewise.
17512 (INPUT_STATUS1_VERTR_BIT): Likewise.
17513 (get_map_mask): Use grub_vga_sr_read.
17514 (set_map_mask): Use grub_vga_sr_write.
17515 (set_read_map): Use grub_vga_gr_write.
17516 (set_start_address): Use grub_vga_cr_write.
17517 * video/sm712.c (framebuffer): Remove leftover fields.
17518
4321c64a
CW
175192010-06-20 Colin Watson <cjwatson@ubuntu.com>
17520
17521 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17522 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17523 instead. Replace the gfxterm backend check with a check that
17524 ${GRUB_PREFIX}/video.lst is non-empty.
17525 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17526 again.
17527 (load_video): New generated function. Call it before loading
17528 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17529 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17530 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17531 * docs/grub.texi (Simple configuration): Document
17532 GRUB_VIDEO_BACKEND.
17533
175342010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 Use video functions in linux and xnu loaders.
17537
17538 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17539 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17540 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17541 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17542 loader/i386/pc/linux.c.
17543 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17544 (find_line_len): Removed.
17545 (find_framebuf): Likewise.
17546 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17547 * loader/i386/efi/xnu.c: Removed.
17548 * loader/i386/pc/xnu.c: Moved from here...
17549 * loader/i386/xnu.c: ...here.
17550
17551 Enable priorities in video drivers.
17552
17553 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17554 (grub_video_adapter): New field prio.
17555 (grub_video_register): Respect prio when inserting.
17556 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17557 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17558 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17559 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17560 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17561 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17562 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17563
17564 Fix SDL driver ID.
17565
17566 * include/grub/video.h (grub_video_driver_id_t): New value
17567 GRUB_VIDEO_DRIVER_SDL.
17568 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17569
7d24e434
CW
175702010-06-17 Colin Watson <cjwatson@ubuntu.com>
17571
17572 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17573 argument to printf.
17574 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17575
c88a83f6
CW
175762010-06-17 Colin Watson <cjwatson@ubuntu.com>
17577
17578 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17579 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17580
094dfb69
CW
175812010-06-17 Colin Watson <cjwatson@ubuntu.com>
17582
17583 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17584 directly, and recommend grub-install instead.
17585 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17586
2164da6b
CW
175872010-06-17 Colin Watson <cjwatson@ubuntu.com>
17588
17589 Fix i386-pc prefix handling with nested partitions (Debian bug
17590 #585068). Note that the case where the core image is booted using
17591 multiboot and relocated from its original location still requires
17592 more work.
17593
17594 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17595 with "(,", fill the boot drive in between those two characters, but
17596 expect that a full partition specification including partition map
17597 names will follow.
17598 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17599 specified, write a prefix without the drive name but including a
17600 full partition specification.
17601
044e2e60
CW
176022010-06-16 Colin Watson <cjwatson@ubuntu.com>
17603
17604 * util/grub-mkconfig.in: Ignore non-option arguments, for
17605 compatibility with older versions (before 2010-06-12) which did the
17606 same. In particular, this makes it easier to ship an update-grub
17607 wrapper which is compatible with that used with GRUB Legacy (Debian
17608 bug #586056).
17609
5591324f
GS
176102010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17611
17612 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17613 for manual page generation.
17614
662e24d5
GS
176152010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17616
17617 * po/POTFILES: Remove leftover commands/handler.c.
17618
8d70754e
CW
176192010-06-14 Colin Watson <cjwatson@ubuntu.com>
17620
17621 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17622 left this script non-functional.
17623
41160e2e
CW
176242010-06-14 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * docs/man/grub-emu.h2m: New file.
17627
b5309cc1
CW
176282010-06-13 Colin Watson <cjwatson@ubuntu.com>
17629
17630 * docs/grub.texi (Commands): Document reduced command set in rescue
17631 mode.
17632 (cpuid): New section.
17633
fcb2d090
GS
176342010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17635
17636 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17637 new partition naming style.
17638 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17639
96e5c556
BC
176402010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17641
17642 Add "-o grub.iso" like cmdline options support.
17643
17644 * util/grub-install.in: Improve cmdline option parsing.
17645 * util/grub-mkconfig.in: Likewise.
17646 * util/grub-mkrescue.in: Likewise.
17647 * util/grub-reboot.in: Likewise.
17648 * util/grub-set-default.in: Likewise.
17649 * util/i386/efi/grub-install.in: Likewise.
17650 * util/ieee1275/grub-install.in: Likewise.
17651 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17652
c16be99b
CW
176532010-06-12 Colin Watson <cjwatson@ubuntu.com>
17654
17655 * .bzrignore: Ignore 41_custom.
17656
ce08a9fb
TS
176572010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17658
17659 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17660
7beac90c
CW
176612010-06-12 Colin Watson <cjwatson@ubuntu.com>
17662
17663 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17664 prototype declarations.
17665
17666 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17667 generating fs, partmap, and video lists.
17668 * include/grub/fs.h (grub_fs_register): Omit prototype if
17669 GRUB_LST_GENERATOR is defined.
17670 * include/grub/partition.h (grub_partition_map_register): Likewise.
17671 * include/grub/video.h (grub_video_register): Likewise.
17672
1c8f0f8d
JM
176732010-06-12 Javier Martín <lordhabbit@gmail.com>
17674
17675 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17676
a6085973
TS
176772010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17678
17679 * util/grub-mkrescue.in: Support --xorriso argument.
17680
25c56d29
VS
176812010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17684 Suggested by: Thomas Schmitt.
17685
e03e4b24
VS
176862010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17689 Suggested by: Thomas Schmitt.
17690
57711df6
VS
176912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 custom.cfg support.
17694
17695 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17696 * util/grub.d/41_custom.in: New file.
17697
ee62c427
CW
176982010-06-12 Colin Watson <cjwatson@ubuntu.com>
17699
17700 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17701 been merged back into normal.
17702
283af07a
CW
177032010-06-11 Colin Watson <cjwatson@ubuntu.com>
17704
17705 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17706 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17707
56a0d956
CW
177082010-06-11 Colin Watson <cjwatson@ubuntu.com>
17709
17710 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17711 when generating manual pages.
17712 * docs/man/grub-bin2h.h2m: New file.
17713 * docs/man/grub-editenv.h2m: New file.
17714 * docs/man/grub-fstest.h2m: New file.
17715 * docs/man/grub-install.h2m: New file.
17716 * docs/man/grub-macho2img.h2m: New file.
17717 * docs/man/grub-mkconfig.h2m: New file.
17718 * docs/man/grub-mkdevicemap.h2m: New file.
17719 * docs/man/grub-mkfont.h2m: New file.
17720 * docs/man/grub-mkimage.h2m: New file.
17721 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17722 * docs/man/grub-mkrelpath.h2m: New file.
17723 * docs/man/grub-mkrescue.h2m: New file.
17724 * docs/man/grub-ofpathname.h2m: New file.
17725 * docs/man/grub-pe2elf.h2m: New file.
17726 * docs/man/grub-probe.h2m: New file.
17727 * docs/man/grub-reboot.h2m: New file.
17728 * docs/man/grub-script-check.h2m: New file.
17729 * docs/man/grub-set-default.h2m: New file.
17730 * docs/man/grub-setup.h2m: New file.
17731
3a37e322
VS
177322010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 Use FOR_* macros instead of *_iterate whenever possible.
17735
17736 * commands/handler.c: Removed.
17737 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17738 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17739 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17740 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17741 (grub_probe_SOURCES): Remove kern/parser.c.
17742 (util/grub-script-check.c_DEPENDENCIES): Removed.
17743 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17744 and grub_script_check_init.c.
17745 (grub_script_check_init.lst): Removed.
17746 (grub_script_check_init.h): Likewise.
17747 (grub_script_check_init.c): Likewise.
17748 (pkglib_MODULES): Remove handler.mod and sh.mod.
17749 (handler_mod_SOURCES): Removed.
17750 (handler_mod_CFLAGS): Likewise.
17751 (handler_mod_LDFLAGS): Likewise.
17752 (normal_mod_SOURCES): Remove normal/handler.c.
17753 Add script/main.c, script/script.c, script/execute.c,
17754 script/function.c, script/lexer.c, grub_script.tab.c
17755 and grub_script.yy.c.
17756 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17757 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17758 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17759 (grub_setup_SOURCES): Remove kern/parser.c.
17760 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17761 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17762 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17763 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17764 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17765 (grub_setup_SOURCES): Remove kern/parser.c.
17766 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17767 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17768 * include/grub/command.h (grub_command_iterate): Removed.
17769 (FOR_COMMANDS): New macro.
17770 * include/grub/dl.h (grub_dl): New member next.
17771 (grub_dl_iterate): Removed.
17772 (grub_dl_head): New variable declaration.
17773 (FOR_DL_MODULES): New macro.
17774 * include/grub/fs.h: Include list.h.
17775 (grub_fs): Make next first element.
17776 (grub_fs_list): New variable declaration.
17777 (grub_fs_register): Make inline.
17778 (grub_fs_unregister): Likewise.
17779 (grub_fs_iterate): Removed.
17780 (FOR_FILESYSTEMS): New macro.
17781 * include/grub/handler.h: Removed.
17782 * include/grub/list.h (grub_list_hook_t): Removed.
17783 (grub_list_test_t): Likewise.
17784 (grub_list_pop): Likewise.
17785 (grub_list_iterate): Likewise.
17786 (grub_list_insert): Likewise.
17787 (FOR_LIST_ELEMENTS): New macro.
17788 * include/grub/parser.h (grub_parser_class): Removed.
17789 (grub_parser_register): Likewise.
17790 (grub_parser_unregister): Likewise.
17791 (grub_parser_get_current): Likewise.
17792 (grub_parser_set_current): Likewise.
17793 (grub_register_rescue_parser): Likewise.
17794 (grub_rescue_parse_line): New function.
17795 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17796 * include/grub/script_sh.h (grub_script_function_list): New variable
17797 declaration.
17798 (FOR_SCRIPT_FUNCTIONS): New macro.
17799 (grub_script_function_iterate): Removed.
17800 (grub_normal_parse_line): New prototype.
17801 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17802 (FOR_DISABLED_TERM_INPUTS): Likewise.
17803 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17804 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17805 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17806 element.
17807 (grub_video_register): Inline.
17808 (grub_video_unregister): Likewise.
17809 (grub_video_adapter_list): New variable declaration.
17810 (grub_video_iterate): Removed.
17811 (FOR_VIDEO_ADAPTERS): New macro.
17812 * kern/dl.c (grub_dl_list): Removed. All users updated.
17813 (grub_dl_iterate): Removed.
17814 * kern/fs.c (grub_fs_list): Make global.
17815 (grub_fs_register): Removed.
17816 (grub_fs_unregister): Likewise.
17817 (grub_fs_iterate): Likewise.
17818 * kern/handler.c: Removed.
17819 * kern/list.c (grub_list_pop): Removed.
17820 (grub_list_iterate): Likewise.
17821 (grub_list_insert): Likewise.
17822 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17823 (grub_prio_list_insert): Don't use grub_list_insert.
17824 * kern/main.c (grub_register_rescue_parser): Don't call
17825 grub_register_rescue_parser.
17826 * kern/parser.c (grub_parser_class): Removed.
17827 (grub_parser_execute): Use grub_rescue_parse_line.
17828 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17829 (grub_rescue_parser): Removed.
17830 (grub_register_rescue_parser): Likewise.
17831 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17832 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17833 (grub_auth_check_authentication): Likewise.
17834 * normal/completion.c (iterate_command): Removed.
17835 (grub_normal_do_completion): Use FOR_COMMANDS.
17836 * normal/handler.c: Removed.
17837 * normal/main.c (read_config_file): Remove parser changing.
17838 (grub_normal_execute): Don't call read_handler_list.
17839 (grub_normal_read_line_real): Statically allocate prompt.
17840 (grub_cmdline_run): Use grub_normal_parse_line.
17841 (GRUB_MOD_FINI): Don't call free_handler_list.
17842 * normal/menu_entry.c (run): Likewise.
17843 * script/function.c (grub_script_function_list): Make global.
17844 (grub_script_function_iterate): Removed.
17845 * script/main.c (grub_normal_parse_line): Make global.
17846 (grub_sh_parser): Removed.
17847 (GRUB_MOD_INIT): Likewise.
17848 (GRUB_MOD_FINI): Likewise.
17849 * tests/lib/functional_test.c (grub_functional_test): Use
17850 FOR_LIST_ELEMENTS.
17851 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17852 (grub_test_run): Use FOR_LIST_ELEMENTS.
17853 * tests/lib/unit_test.c (main): Likewise.
17854 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17855 grub_list_pop.
17856 * util/grub-fstest.c (grub_term_input_class): Removed.
17857 (grub_term_output_class): Likewise.
17858 * util/grub-probe.c: Likewise.
17859 * util/i386/pc/grub-setup.c: Likewise.
17860 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17861 * util/grub-script-check.c (main): Don't call grub_init_all and
17862 grub_fini_all.
17863 * video/video.c (grub_video_adapter_list): Make global.
17864 (grub_video_register): Removed.
17865 (grub_video_unregister): Likewise.
17866 (grub_video_iterate): Likewise.
17867
6289c3a7
VS
178682010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17871 reported by Henrique Ferreiro.
17872
91460247
RM
178732010-06-09 Robert Millan <rmh@gnu.org>
17874
17875 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17876 ones, when both are available.
17877
0ea7c4f9
GS
178782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17879
17880 Make --version uniform and avoid hard-coded program name.
17881
17882 * util/grub-mkimage.c (main): Use `program_name' instead of
17883 hard-coded string.
17884 * util/i386/pc/grub-setup.c (main): Likewise.
17885 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17886 * util/grub-install.in: Save the basename of $0 in $self, and use the
17887 latter in informational messages. Use the same format for --version
17888 as the binary programs.
17889 * util/grub-mkconfig.in: Likewise.
17890 * util/grub-mkrescue.in: Likewise.
17891 * util/grub-reboot.in: Likewise.
17892 * util/grub-set-default.in: Likewise.
17893 * util/i386/efi/grub-install.in: Likewise.
17894 * util/ieee1275/grub-install.in: Likewise.
17895 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17896
e8a6f3b6
GS
178972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17898
17899 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17900 embedding area. Use <= instead of == when checking for non-emptiness.
17901
f4d095d7
GS
179022010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17903
17904 * configure.ac: Add `.' to the directories searched for unifont.
17905
50e532ca
CW
179062010-06-08 Colin Watson <cjwatson@ubuntu.com>
17907
17908 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17909 grub_script.yy.h.
17910
d39f3dec
CW
179112010-06-08 Colin Watson <cjwatson@ubuntu.com>
17912
17913 * docs/grub.texi (History): Expand to cover GRUB 2.
17914 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17915 commands, not `terminal'.
17916 (serial): Likewise.
17917 (terminal_input): New section.
17918 (terminal_output): New section.
17919 (uppermem): New section (stub).
17920 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17921
6ef0ddb4
CW
179222010-06-08 Colin Watson <cjwatson@ubuntu.com>
17923
17924 * docs/grub.texi (Security): Menu entries are unrestricted by
17925 default, not restricted to superusers as I had previously thought.
17926 Reword to account for this.
17927
e0f4c438
CW
179282010-06-07 Colin Watson <cjwatson@ubuntu.com>
17929
17930 * kern/emu/misc.c (device_mapper_null_log): New function.
17931 (grub_device_mapper_supported): New function.
17932 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17933 prototype.
17934 * kern/emu/hostdisk.c (find_partition_start): Check whether
17935 device-mapper is supported before trying to use it.
17936 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17937
da908200
CW
179382010-06-07 Colin Watson <cjwatson@ubuntu.com>
17939
17940 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17941 (File name syntax): Likewise.
17942 (help): --all is no longer supported in GRUB 2. Be more precise
17943 about pattern matching.
17944
fb55c3ac
CW
179452010-06-07 Colin Watson <cjwatson@ubuntu.com>
17946
17947 * normal/completion.c (grub_normal_do_completion): When completing
17948 arguments to "set" and the current word contains an equals sign,
17949 skip to after the equals sign before starting completion.
17950
258c2573
CW
179512010-06-07 Colin Watson <cjwatson@ubuntu.com>
17952
17953 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17954
ee75515e
CW
179552010-06-07 Colin Watson <cjwatson@ubuntu.com>
17956
17957 * docs/grub.texi (Network): New section.
17958 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17959 `(nd)' as in GRUB Legacy.
17960 (pxe_unload): New section.
17961
a6a700aa
CW
179622010-06-07 Colin Watson <cjwatson@ubuntu.com>
17963
17964 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17965 in the rescue shell, so recommend using `set' instead. Thanks,
17966 Jordan Uggla.
17967
4003dd38
CW
179682010-06-07 Colin Watson <cjwatson@ubuntu.com>
17969
17970 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17971 (password): New section.
17972 (password_pbkdf2): New section.
17973 (search): New section.
17974 (Security): New section.
17975 (Troubleshooting): New section, currently very incomplete.
17976 (Invoking grub-mkpasswd-pbkdf2): New section.
17977 (Internals): New section, currently very incomplete.
17978
e1cbcc40
CW
179792010-06-07 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * util/grub.d/00_header.in: Add some more quoting (of
17982 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17983 work again.
17984 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17985
db8fa1ad
CW
179862010-06-07 Colin Watson <cjwatson@ubuntu.com>
17987
17988 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17989 to `count', fixing variable shadowing that broke the -c option.
17990
179912010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17992
17993 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17994 in case they contain spaces.
17995
f28a9212
CW
179962010-06-04 Colin Watson <cjwatson@ubuntu.com>
17997
17998 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17999 "part_" to partmap module names, in line with grub-install.
18000 Reported by: Jindřich Makovička (Debian bug #584426).
18001
9cdfe32f
CW
180022010-06-04 Colin Watson <cjwatson@ubuntu.com>
18003
18004 * util/grub-mkimage.c: Make target-related error messages slightly
18005 more helpful; -O talks about "format". Explicitly point to the use
18006 of -O if no target is specified.
18007 Reported by: Didier Raboud (Debian bug #584415).
18008
795b593a
CW
180092010-06-03 Colin Watson <cjwatson@ubuntu.com>
18010
18011 * INSTALL: Document several build requirements for optional features
18012 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18013
9d9b5833
GS
180142010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18015
18016 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18017 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18018 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18019
0819fec8
CW
180202010-06-02 Colin Watson <cjwatson@ubuntu.com>
18021
18022 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18023 Thanks to Jordan Uggla for spotting this.
18024
49396b4f
VS
180252010-06-02 Aleš Nesrsta <starous@volny.cz>
18026
18027 Finally make USB usable.
18028
18029 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18030 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18031 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18032 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18033 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18034 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18035 (GRUB_OHCI_FSMPS): Likewise.
18036 (GRUB_OHCI_PERIODIC_START): Likewise.
18037 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18038 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18039 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18040 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18041 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18042 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18043 (grub_ohci_transaction): Likewise.
18044 (grub_ohci_transfer): Improve condition detection algorithms.
18045 Handle toggle property. Program the transactions correctly.
18046 Improve error handling. Various important fixups.
18047 (grub_ohci_portstatus): Put register writes in right order.
18048 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18049 (grub_uhci_transfer): Don't show "failed" message on success.
18050 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18051 array.
18052 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18053 determine its size.
18054 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18055 before initialization is completed. Use IN direction for empty
18056 transfers. Use last_trans and compute toggle.
18057 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18058 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18059 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18060 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18061 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18062 (grub_usb_device): Increase toggle to 256.
18063 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18064 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18065 GRUB_USBMS_SUBCLASS_SFF8070.
18066 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18067 (grub_scsi_inquiry): New member page and alloc_length.
18068 (grub_scsi_request_sense): New structure.
18069 (grub_scsi_request_sense_data): Likewise.
18070 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18071 control.
18072 * disk/scsi.c (grub_scsi_request_sense): New function.
18073 (grub_scsi_test_unit_ready): Likewise.
18074 (grub_scsi_inquiry): Fill new fields.
18075 (grub_scsi_read_capacity): Likewise.
18076 (grub_scsi_read10): Add request sense at the end.
18077 (grub_scsi_read12): Likewise.
18078 (grub_scsi_write10): Likewise.
18079 (grub_scsi_write12): Likewise.
18080 (grub_scsi_open): Add Test Unit Ready.
18081 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18082 Support additional subclasses. Con't clear halt yet. Activate the
18083 proper config. Calculate LUNs correctly.
18084 (grub_usbms_transfer): Various important fixups.
18085
180862010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18089 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18090 (grub_ohci_fini_hw): New function.
18091 (grub_ohci_restore_hw): Likewise.
18092 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18093 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18094 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18095
180962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 Dedicated DMA allocations.
18099
18100 * bus/pci.c (grub_memalign_dma32): New function
18101 (grub_dma_free): Likewise.
18102 (grub_dma_get_virt): Likewise.
18103 (grub_dma_get_phys): Likewise.
18104 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18105 (grub_ohci_pci_iter): Use dma32_alloc.
18106 (grub_ohci_transfer): Likewise.
18107 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18108 (grub_usb_bulk_readwrite): Likewise.
18109 * include/grub/pci.h: Add declarations.
18110
181112010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 CS5536 support.
18114
18115 * bus/cs5536.c: New file.
18116 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18117 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18118 (cs5536_mod_SOURCES): New variable.
18119 (cs5536_mod_CFLAGS): Likewise.
18120 (cs5536_mod_LDFLAGS): Likewise.
18121 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18122 machine/pci.h.
18123 (kernel_img_SOURCES): Add bus/cs5536.c.
18124 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18125 usb_keyboard.mod.
18126 (usb_mod_SOURCES): New variable.
18127 (usb_mod_CFLAGS): New variable.
18128 (usb_mod_LDFLAGS): New variable.
18129 (usbtest_mod_SOURCES): New variable.
18130 (usbtest_mod_CFLAGS): New variable.
18131 (usbtest_mod_LDFLAGS): New variable.
18132 (ohci_mod_SOURCES): New variable.
18133 (ohci_mod_CFLAGS): New variable.
18134 (ohci_mod_LDFLAGS): New variable.
18135 (usbms_mod_SOURCES): New variable.
18136 (usbms_mod_CFLAGS): New variable.
18137 (usbms_mod_LDFLAGS): New variable.
18138 (usb_keyboard_mod_SOURCES): New variable.
18139 (usb_keyboard_mod_CFLAGS): New variable.
18140 (usb_keyboard_mod_LDFLAGS): New variable.
18141 * include/grub/smbus.h: New file.
18142 * include/grub/cs5536.h: New file.
18143
0b35b2a9
CW
181442010-06-02 Colin Watson <cjwatson@ubuntu.com>
18145
18146 * util/grub.d/00_header.in: Add safety check to make sure that
18147 ${locale_dir} exists before trying to probe it.
18148
ca0afd5b
CW
181492010-06-02 Colin Watson <cjwatson@ubuntu.com>
18150
18151 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18152 per the GNU Coding Standards; this is now too obscure to be worth
18153 documenting.
18154 (QNX): Likewise.
18155 (chainloader): Remove cross-reference to `SCO UnixWare'.
18156
1c41aa78
CW
181572010-06-02 Colin Watson <cjwatson@ubuntu.com>
18158
18159 * docs/grub.texi (Chain-loading): New section.
18160 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18161 adjusted for GRUB 2.
18162 (SCO UnixWare): Likewise.
18163 (QNX): Likewise.
18164 (chainloader): Add reference to `Block list syntax'.
18165 (drivemap): New section.
18166 (parttool): New section.
18167
bb8ea0f5
CW
181682010-06-02 Colin Watson <cjwatson@ubuntu.com>
18169
18170 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18171 the grub shell'.
18172 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18173 (Installing GRUB using grub-install): Remove reference to the grub
18174 shell; mention `grub-mkimage' and `grub-setup' instead.
18175 (Invoking grub-install): Likewise.
18176 (Interface): Add reference to `Menu entry editor'.
18177 (serial): Remove `--device' option.
18178
288dd6ed
CW
181792010-06-02 Colin Watson <cjwatson@ubuntu.com>
18180
18181 * docs/grub.texi (Configuration): New section, documenting
18182 configuration file generation using grub-mkconfig. I've left a slot
18183 for documenting the full shell scripting format but have not yet
18184 started on writing that up.
18185 (Invoking grub-mkconfig): New section.
18186
34c9f0e9
CW
181872010-06-02 Colin Watson <cjwatson@ubuntu.com>
18188
18189 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18190 (GNU GRUB manual): Likewise.
18191 (General commands): Update description of `terminfo' for GRUB 2.
18192
9121567e
CW
181932010-06-02 Colin Watson <cjwatson@ubuntu.com>
18194
18195 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18196 (GRUB_MOD_INIT): Fix capitalisation.
18197 * docs/grub.texi (Command-line and menu entry commands): Document
18198 gettext and gptsync commands.
18199
ab631611
CW
182002010-06-02 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18203 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18204
bde4a9ac
CW
182052010-06-01 Colin Watson <cjwatson@ubuntu.com>
18206
18207 Add btrfs probing support, currently only in the single-device case.
18208
18209 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18210 function.
18211 (grub_guess_root_device): Call find_root_device_from_mountinfo
18212 before looking in /dev.
18213
b1d17e10
VS
182142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18217 GRUB_DISK_SIZE_UNKNOWN.
18218 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18219
dfbfe004
JS
182202010-05-31 Jiro SEKIBA <jir@unicus.jp>
18221
18222 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18223 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18224 corrupted or not synced properly.
18225
c2ffc8e9
VS
182262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18229 Reported by: Seth Goldberg.
18230
56293166
VS
182312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18234 addition of dest.
18235 Reported by: Seth Goldberg.
18236
7620e7de
VS
182372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18240 Reported by: Seth Goldberg.
18241
c837af3f
VS
182422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18245 64-bit address as signed on MIPS.
18246
c7c75cf4
CW
182472010-05-28 Colin Watson <cjwatson@ubuntu.com>
18248
18249 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18250 to the empty string.
18251
fa4b8490
BC
182522010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18253
18254 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18255
18256 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18257 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18258 * kern/misc.c (__enable_execute_stack): Disable on
18259 GRUB_MACHINE_EMU.
18260
a33075b9
CW
182612010-05-28 Colin Watson <cjwatson@ubuntu.com>
18262
18263 Make grub-probe work with symbolic links under /dev/mapper as well
18264 as with real block devices. The Linux world seems to be (at best)
18265 in transition here, and GRUB shouldn't get caught in the middle.
18266
18267 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18268 /dev/mapper.
18269
d8708134
CW
182702010-05-27 Colin Watson <cjwatson@ubuntu.com>
18271
18272 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18273 input files (in which case exit zero).
18274
db2102a0
CW
182752010-05-27 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18278 return NULL for various reasons even if it has a maximum-length
18279 buffer: for example, there might be a symlink loop, or the path
18280 might exceed PATH_MAX. If this happens, return NULL.
18281
5fdba519
RM
182822010-05-27 Robert Millan <rmh@gnu.org>
18283
18284 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18285 partmap module to handle cross-partmap setups.
18286 Reported by Orestes Mas. Gràcies!
18287
d1d368e4
CW
182882010-05-27 Colin Watson <cjwatson@ubuntu.com>
18289
18290 * util/grub-mkrescue.in: Initialise override_dir rather than
18291 assuming that it's unset or empty in the environment.
18292
95ac3c73
GS
182932010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18294
18295 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18296 variable index into p_index to suppress a warning with -Wshadow.
18297
7d8c0213
BC
182982010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18299
18300 * INSTALL: Added flex >= 2.5.35 requirement.
18301
db4d5813
VS
183022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18305
f24f4300
VS
183062010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 cmostest support.
18309
18310 * commands/i386/cmostest.c: New file.
18311 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18312 (cmostest_mod_SOURCES): New variable.
18313 (cmostest_mod_CFLAGS): Likewise.
18314 (cmostest_mod_LDFLAGS): Likewise.
18315 * conf/i386-pc.rmk: Likewise.
18316 * docs/grub.texi (Vendor power-on keys): New section.
18317 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18318 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18319 and GRUB_BUTTON_CMOS_ADDRESS.
18320 * util/grub.d/00_header.in: Handle powering-on by separate button.
18321
ad603f61
VS
183222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18325 Removed drawing_scrollbar argument. All users updated
18326 Fixes #29792.
18327 Reported by Jo Shields
18328
3ecb080a
VS
183292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18332 buffer since gfxterm handles double repaint.
18333
5f2316c1
VS
183342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18337 * term/gfxterm.c (real_scroll): Likewise.
18338
9a25f885
VS
183392010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18342 before calling BIOS.
18343
39fbb79a
VS
183442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 * include/grub/i18n.h: Always enable grub_gettext.
18347
228cfa97
VS
183482010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18351 partition naming style.
18352
21717c8f
CW
183532010-05-21 Colin Watson <cjwatson@ubuntu.com>
18354
18355 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18356 not the first option.
18357
c0f48e65
CW
183582010-05-20 Colin Watson <cjwatson@ubuntu.com>
18359
18360 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18361
96779aec
CW
183622010-05-20 Colin Watson <cjwatson@ubuntu.com>
18363
18364 * util/misc.c: Move inclusion of <limits.h> to ...
18365 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18366
fa9d256e
GS
183672010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18368
18369 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18370 Fix merge error in NetBSD code.
18371 (find_partition_start) [__NetBSD__]: Likewise.
18372
123b7a85
BC
183732010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18374
18375 Fix grub-mkrescue usage unit testing.
18376
18377 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18378
74276c0d
CF
183792010-05-18 Christian Franke <franke@computer.org>
18380
18381 * util/grub.d/10_windows.in: Use path names instead of
18382 drive letters to prevent warning from Cygwin 1.7.
18383 Add drivemap command to menuentry if needed.
18384
c4f7b523
ST
183852010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18386
18387 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18388 gnumach and gnumach.gz.
18389
95b97950
VS
183902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * include/grub/i18n.h (gettext): Inline instead of using #define.
18393 (grub_gettext): Likewise.
18394 (_): Likewise.
18395
01b8d2d7
VS
183962010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18399 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18400 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18401 (main): Add a slash after pkglibdirroot.
18402
654e1d1e
VS
184032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * util/grub-install.in: Add missing "in" keyword.
18406
26966aeb
VS
184072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18410 Reported by: Seth Goldberg.
18411
75006747
VS
184122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18415
74cbf5bd
CW
184162010-05-18 Colin Watson <cjwatson@ubuntu.com>
18417
18418 * configure.ac: Check for Linux device-mapper support.
18419
18420 * util/hostdisk.c (device_is_mapped): New function.
18421 (find_partition_start): New function, partly broken out from
18422 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18423 device-mapper support added.
18424 (linux_find_partition): Use find_partition_start.
18425 (convert_system_partition_to_system_disk): Add `st' argument.
18426 Support Linux /dev/mapper/* devices if device-mapper support is
18427 available; only DM-RAID devices are understood at present.
18428 (find_system_device): Add `st' argument. Pass it to
18429 convert_system_partition_to_system_disk.
18430 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18431 find_system_device and convert_system_partition_to_system_disk. Use
18432 find_partition_start.
18433
18434 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18435 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18436 * util/deviceiter.c [__linux__]: Define MINOR.
18437 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18438 * util/mkdevicemap.c (grub_putchar): New function.
18439 (grub_getkey): New function.
18440 (grub_refresh): New function.
18441 (main): Set debug=all if -v -v is used.
18442
355b51e9
CW
184432010-05-18 Colin Watson <cjwatson@ubuntu.com>
18444
18445 Fix build with non-GNU libcs.
18446
18447 * util/misc.c (canonicalize_file_name): Move to ...
18448 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18449 grub_make_system_path_relative_to_its_root.
18450
7fb5c25f
CW
184512010-05-18 Colin Watson <cjwatson@ubuntu.com>
18452
18453 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18454 we handle finding grub-mkimage. Default to finding grub-mkimage in
18455 ${bindir} with program_transform_name applied, and provide a
18456 --grub-mkimage option to override this.
18457
1d3293d6
VS
184582010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 Remove grub-mkisofs.
18461
18462 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18463 (grub_mkisofs_SOURCES): Removed.
18464 (grub_mkisofs_CFLAGS): Removed.
18465 * util/mkisofs/defaults.h: Removed.
18466 * util/mkisofs/eltorito.c: Likewise.
18467 * util/mkisofs/exclude.h: Likewise.
18468 * util/mkisofs/hash.c: Likewise.
18469 * util/mkisofs/include/: Likewise.
18470 * util/mkisofs/include/fctldefs.h: Likewise.
18471 * util/mkisofs/include/mconfig.h: Likewise.
18472 * util/mkisofs/include/prototyp.h: Likewise.
18473 * util/mkisofs/include/statdefs.h: Likewise.
18474 * util/mkisofs/iso9660.h: Likewise.
18475 * util/mkisofs/joliet.c: Likewise.
18476 * util/mkisofs/match.c: Likewise.
18477 * util/mkisofs/match.h: Likewise.
18478 * util/mkisofs/mkisofs.c: Likewise.
18479 * util/mkisofs/mkisofs.h: Likewise.
18480 * util/mkisofs/msdos_partition.h: Likewise.
18481 * util/mkisofs/multi.c: Likewise.
18482 * util/mkisofs/name.c: Likewise.
18483 * util/mkisofs/rock.c: Likewise.
18484 * util/mkisofs/tree.c: Likewise.
18485 * util/mkisofs/write.c: Likewise.
18486
5dde9afe
VS
184872010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 Unify grub-mkimage accross platforms.
18490
18491 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18492 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18493 (grub_mkelfimage_SOURCES): Removed.
18494 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18495 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18496 (bin_UTILITIES): Add grub-mkimage.
18497 (grub_mkimage_SOURCES): New variable.
18498 (kernel_img_HEADERS): Remove machine/kernel.h.
18499 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18500 (pkglib_PROGRAMS): Add kernel.img.
18501 (kernel_img_HEADERS): Add machine/kernel.h.
18502 (kernel_img_FORMAT): Removed.
18503 (bin_UTILITIES): Remove grub-mkimage.
18504 (grub_mkimage_SOURCES): Removed.
18505 (grub_mkimage_CFLAGS): Likewise.
18506 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18507 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18508 (pkglib_PROGRAMS): Add kernel.img.
18509 (bin_UTILITIES): Remove grub-mkimage.
18510 (grub_mkimage_SOURCES): Removed.
18511 (grub_mkimage_CFLAGS): Likewise.
18512 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18513 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18514 (pkglib_PROGRAMS): Add kernel.img.
18515 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18516 (pkglib_PROGRAMS): Add kernel.img.
18517 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18518 (grub_mkimage_SOURCES): Removed.
18519 (grub_mkimage_CFLAGS): Likewise.
18520 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18521 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18522 (pkglib_PROGRAMS): Add kernel.img.
18523 (bin_UTILITIES): Remove grub-mkimage.
18524 (grub_mkimage_SOURCES): Removed.
18525 (grub_mkimage_CFLAGS): Likewise.
18526 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18527 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18528 (grub_mkimage_SOURCES): Removed.
18529 (grub_mkimage_CFLAGS): Likewise.
18530 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18531 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18532 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18533 (grub_pe32_optional_header): ... this.
18534 (grub_pe64_optional_header): ... and this. All users updated.
18535 (GRUB_PE32_PE32_MAGIC): Split into ..
18536 (GRUB_PE32_PE32_MAGIC): .. this.
18537 (GRUB_PE32_PE64_MAGIC): .. and this.
18538 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18539 * include/grub/elf.h (PT_GNU_STACK): New definition.
18540 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18541 * include/grub/i386/efi/kernel.h: Likewise.
18542 * include/grub/i386/kernel.h: Likewise.
18543 * include/grub/i386/pc/kernel.h: Likewise.
18544 * include/grub/i386/qemu/boot.h: Likewise.
18545 * include/grub/mips/kernel.h: Likewise.
18546 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18547 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18548 * include/grub/powerpc/kernel.h: Likewise.
18549 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18550 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18551 * include/grub/sparc64/kernel.h: Likewise.
18552 * include/grub/x86_64/efi/kernel.h: Likewise.
18553 * include/grub/x86_64/kernel.h: Likewise.
18554 * include/grub/offsets.h: New file.
18555 * include/grub/kernel.h (grub_module_info): Split into ...
18556 (grub_module_info32): ... this.
18557 (grub_module_info64): ... and this.
18558 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18559 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18560 (grub_boot_blocklist): Moved from here ...
18561 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18562 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18563 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18564 * include/grub/types.h (grub_target_to_host16): Removed.
18565 (grub_target_to_host32): Likewise.
18566 (grub_target_to_host64): Likewise.
18567 (grub_host_to_target16): Likewise.
18568 (grub_host_to_target32): Likewise.
18569 (grub_host_to_target64): Likewise.
18570 (grub_host_to_target_addr): Likewise.
18571
18572 Support grub-mkrescue for efi, coreboot and qemu.
18573
18574 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18575 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18576 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18577 * util/grub-mkrawimage.c: Moved from here ...
18578 * util/grub-mkimage.c: ... here. All users updated.
18579 (ALIGN_ADDR): Use image_target.
18580 (TARGET_NO_FIELD): New const.
18581 (image_target_desc): New type.
18582 (image_targets): New array.
18583 (grub_target_to_host64): Use image_target.
18584 (grub_target_to_host32): Likewise.
18585 (grub_target_to_host16): Likewise.
18586 (grub_host_to_target64): Likewise.
18587 (grub_host_to_target32): Likewise.
18588 (grub_host_to_target16): Likewise.
18589 (grub_host_to_target_addr): Likewise.
18590 (generate_image): Handle multiimage.
18591 (main): Require -O parameter. All users updated.
18592 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18593 util/efi/grub-mkimage.c
18594 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18595 New option --rom-directory.
18596 Use xorriso.
18597 * util/i386/efi/grub-mkimage.c: Removed.
18598 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18599 (grub_target_to_host32): Likewise.
18600 (grub_target_to_host64): Likewise.
18601 (grub_host_to_target16): Likewise.
18602 (grub_host_to_target32): Likewise.
18603 (grub_host_to_target64): Likewise.
18604 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18605 (grub_target_to_host32): Likewise.
18606 (grub_target_to_host64): Likewise.
18607 (grub_host_to_target16): Likewise.
18608 (grub_host_to_target32): Likewise.
18609 (grub_host_to_target64): Likewise.
18610
f4fc97d0
BC
186112010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18612
18613 Source tree is reorganized for emu build.
18614
18615 * include/grub/util/console.h: Move from here...
18616 * include/grub/emu/console.h: ...to here.
18617 * include/grub/util/getroot.h: Move from here...
18618 * include/grub/emu/getroot.h: ...to here.
18619 * include/grub/util/hostdisk.h: Move from here...
18620 * include/grub/emu/hostdisk.h: ...to here.
18621 * util/console.c: Move from here...
18622 * kern/emu/console.c: ...to here.
18623 * util/getroot.c: Move from here...
18624 * kern/emu/getroot.c: ...to here.
18625 * util/grub-emu.c: Move from here...
18626 * kern/emu/main.c: ...to here.
18627 * util/hostdisk.c: Move from here...
18628 * kern/emu/hostdisk.c: ...to here.
18629 * util/hostfs.c: Move from here...
18630 * kern/emu/hostfs.c: ...to here.
18631 * util/mm.c: Move from here...
18632 * kern/emu/mm.c: ...to here.
18633 * util/pci.c: Move from here...
18634 * bus/emu/pci.c: ...to here.
18635 * util/sdl.c: Move from here...
18636 * video/emu/sdl.c: ...to here.
18637 * util/time.c: Move from here...
18638 * kern/emu/time.c: ...to here.
18639 * util/usb.c: Move from here...
18640 * bus/usb/emu/usb.c: ...to here.
18641
18642 * include/grub/emu/misc.h: New header for grub-emu functions.
18643 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18644
18645 * conf/any-emu.rmk: Rule updates for above renames.
18646 * conf/common.rmk: Likewise.
18647 * conf/i386-pc.rmk: Likewise.
18648 * conf/i386-qemu.rmk: Likewise.
18649 * conf/mips.rmk: Likewise.
18650 * conf/sparc64-ieee1275.rmk: Likewise.
18651 * conf/x86-efi.rmk: Likewise.
18652
18653 * disk/lvm.h: #include updates for above renames.
18654 * util/grub-mkrelpath.c: Likewise.
18655 * util/grub-probe.c: Likewise.
18656 * util/i386/pc/grub-setup.c: Likewise.
18657 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18658 * kern/emu/console.c: Likewise.
18659 * kern/emu/getroot.c: Likewise.
18660 * kern/emu/hostdisk.c: Likewise.
18661 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18662
18663 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18664 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18665 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18666 * util/misc.c: Remove grub-emu functions.
18667
cced9145
VS
186682010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 Fix gfxmenu crash.
18671 Reported by: Thorsten Grützmacher.
18672
18673 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18674 timeout hook.
18675 (circprog_set_property): Register and unregister timeout hook.
18676 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18677 (label_destroy): Free template. and unregister hook.
18678 (label_set_state): New function.
18679 (label_set_property): Handle templates and hooks.
18680 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18681 timeout hook.
18682 (progress_bar_set_property): Register and unregister timeout hook.
18683 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18684 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18685 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18686 (update_timeout_visit): Removed.
18687 (update_timeouts): New function.
18688 (redraw_timeouts): Likewise.
18689 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18690 (grub_gfxmenu_clear_timeout): Likewise.
18691 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18692 (grub_gfxmenu_timeout_notify): Likewise.
18693 (grub_gfxmenu_timeout_notifications): New external variable.
18694 (grub_gfxmenu_timeout_register): New function.
18695 (grub_gfxmenu_timeout_unregister): Likewise.
18696
c6e5caab
VS
186972010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 Transform (broken) vga terminal into (working) vga video driver.
18700
18701 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18702 video/i386/pc/vga.c.
18703 * include/grub/video.h (grub_video_driver_id):
18704 Add GRUB_VIDEO_DRIVER_VGA.
18705 * term/i386/pc/vga.c: Renamed to ...
18706 * video/i386/pc/vga.c: ...this
18707 (DEBUG_VGA): Removed.
18708 (CHAR_WIDTH): Likewise.
18709 (CHAR_HEIGHT): Likewise.
18710 (TEXT_WIDTH): Likewise.
18711 (TEXT_HEIGHT): Likewise.
18712 (DEFAULT_FG_COLOR): Likewise.
18713 (DEFAULT_BG_COLOR): Likewise.
18714 (colored_char): Likewise.
18715 (xpos): Likewise.
18716 (ypos): Likewise.
18717 (cursor_state): Likewise.
18718 (fg_color): Likewise.
18719 (bg_color): Likewise.
18720 (text_buf): Likewise.
18721 (page): Likewise.
18722 (font): Likewise.
18723 (framebuffer): New variable.
18724 (set_read_map): Disabled.
18725 (setup): New variable.
18726 (is_target): Likewise.
18727 (grub_vga_mod_init): Likewise.
18728 (grub_vga_mod_fini): Likewise.
18729 (check_vga_mem): Likewise.
18730 (write_char): Likewise.
18731 (write_cursor): Likewise.
18732 (scroll_up): Likewise.
18733 (grub_vga_putchar): Likewise.
18734 (grub_vga_getcharwidth): Likewise.
18735 (grub_vga_getwh): Likewise.
18736 (grub_vga_getxy): Likewise.
18737 (grub_vga_gotoxy): Likewise.
18738 (grub_vga_cls): Likewise.
18739 (grub_vga_setcolorstate): Likewise.
18740 (grub_vga_setcursor): Likewise.
18741 (grub_video_vga_init): New function.
18742 (grub_video_vga_setup): Likewise.
18743 (grub_video_vga_fini): Likewise.
18744 (update_target): Likewise.
18745 (grub_video_vga_blit_bitmap): Likewise.
18746 (grub_video_vga_blit_render_target): Likewise.
18747 (grub_video_vga_set_active_render_target): Likewise.
18748 (grub_video_vga_get_active_render_target): Likewise.
18749 (grub_video_vga_swap_buffers): Likewise.
18750 (grub_video_vga_set_palette): Likewise.
18751 (grub_video_vga_get_info_and_fini): Likewise.
18752 (grub_vga_term): Removed.
18753 (grub_video_vga_adapter): New variable.
18754 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18755 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18756
2bf61a98
VS
187572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * video/readers/jpeg.c: Indented.
18760
09ddcd11
VS
187612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 Various jpeg cleanups.
18764
18765 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18766 (grub_jpeg_decode_quan_table): Use sizeof.
18767 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18768
e5507505
PH
187692010-05-05 Peter Hurley <No e-mail available> (tiny change)
18770
18771 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18772 tables. Ignore non-last ac bit.
18773 (grub_jpeg_decode_quan_table): Likewise.
18774
7e720a9b
VS
187752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18778 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18779 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18780 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18781 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18782 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18783
a7fc080b
VS
187842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18787 error.
18788
2bf6012d
VS
187892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18792
265d68cd
VS
187932010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18796 condition.
18797
187982010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18799
18800 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18801 part.
18802
265d68cd 188032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18804
18805 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18806 pointers.
18807
265d68cd 188082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18809
18810 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18811
d1b61374
CF
188122010-05-01 Christian Franke <franke@computer.org>
18813
18814 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18815 Remove broken Cygwin path conversion.
18816 * util/misc.c: [__CYGWIN__] Add include and define.
18817 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18818 for Cygwin 1.7.
18819 (make_system_path_relative_to_its_root): Simplify loop, replace early
18820 return by break.
18821 [__CYGWIN__] Add conversion to win32 path.
18822 Include "/" case in trailing slash removal.
18823
3558c6e9
VS
188242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18827 Reported by: Seth Goldberg
18828
f5f3ff93
VS
188292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * commands/help.c (grub_cmd_help): Fix a typo.
18832 Reported by: Seth Goldberg
18833
d8b5cd40
VS
188342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18837 name and add N_.
18838 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18839 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18840 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18841 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18842 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18843 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18844 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18845 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18846 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18847 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18848 * normal/context.c (GRUB_MOD_INIT): Likewise.
18849 * normal/main.c (GRUB_MOD_INIT): Likewise.
18850 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18851 * term/serial.c (GRUB_MOD_INIT): Likewise.
18852 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18853
88c14915
VS
188542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18857 extra == 0.
18858
165134bc
VS
188592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * commands/iorw.c: New file.
18862 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18863 (iorw_mod_SOURCES): New variable.
18864 (iorw_mod_CFLAGS): Likewise.
18865 (iorw_mod_LDFLAGS): Likewise.
18866
c5ac9b32
VS
188672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 Hotkey support
18870
18871 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18872 * normal/main.c (hotkey_aliases): New variable.
18873 (grub_normal_add_menu_entry): Parse "--hotkey".
18874 * normal/menu_text.c (run_menu): Handle hotkeys.
18875
ce60689c
VS
188762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 * kern/i386/coreboot/init.c (grub_machine_init): Call
18879 grub_machine_mmap_init on qemu.
18880
0359d006
VS
188812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * boot/i386/qemu/boot.S: Add a missing .code16.
18884
7819a456
VS
188852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 Use LBIO on coreboot.
18888
18889 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18890 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18891 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18892 New declaration.
18893 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18894 grub_machine_mmap_init on coreboot.
18895 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18896 GRUB_LINUXBIOS_MEMBER_LINK.
18897 (grub_machine_mmap_iterate): Fix declaration.
18898 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18899
7210dca9
VS
189002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 Split coreboot and multiboot ports.
18903
18904 * conf/i386-multiboot.rmk: New file.
18905 * configure.ac: Add multiboot port.
18906 * include/grub/i386/multiboot/boot.h: New file.
18907 * include/grub/i386/multiboot/console.h: Likewise.
18908 * include/grub/i386/multiboot/init.h: Likewise.
18909 * include/grub/i386/multiboot/kernel.h: Likewise.
18910 * include/grub/i386/multiboot/loader.h: Likewise.
18911 * include/grub/i386/multiboot/memory.h: Likewise.
18912 * include/grub/i386/multiboot/serial.h: Likewise.
18913 * include/grub/i386/multiboot/time.h: Likewise.
18914 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18915 * loader/multiboot.c: Likewise.
18916 * loader/multiboot_mbi2.c: Likewise.
18917 * util/grub-mkrescue.in: Generate multiboot rescue.
18918
6f8aaf68
VS
189192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18920
3080f7a7
VS
18921 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18922
189232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18926
18927 * commands/terminal.c (abstract_terminal): New struct.
18928 (handle_command): New function. Based on grub_cmd_terminal_input.
18929 (grub_cmd_terminal_input): Use handle_command.
18930 (grub_cmd_terminal_output): Use handle_command.
18931
a8ebb841
BC
189322010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18933
18934 Fix comment handling.
18935
18936 * tests/grub_script_comments.in: New testcase.
18937 * conf/tests.rmk: Rules for new testcase.
18938 * script/yylex.l: Updated flex rules.
18939
bb06ba08
ST
189402010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18941
18942 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18943 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18944 if argc is 1.
bb06ba08 18945
cc9d2425
VS
189462010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18949 autogen issues.
18950
460d8402
CF
189512010-04-26 Christian Franke <franke@computer.org>
18952
18953 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18954 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18955 (grub_get_prefix): Remove function.
18956 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18957 make_system_path_relative_to_its_root ().
18958 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18959
553c01f9
CF
189602010-04-24 Christian Franke <franke@computer.org>
18961
18962 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18963 (kernel_img_LDFLAGS): Remove -static-libgcc.
18964
2aec1692
CF
189652010-04-24 Christian Franke <franke@computer.org>
18966
18967 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18968 and CHECK_END_SYMBOL if grub-emu is built.
18969 Unset TARGET_OBJ2ELF if grub-emu is built
18970 without module support.
18971
f67dc308
JS
189722010-04-24 Jiro SEKIBA <jir@unicus.jp>
18973
18974 Nilfs2 support.
18975
18976 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18977 (grub_fstest_SOURCES): Likewise.
18978 (pkglib_MODULES): Add nilfs2.mod.
18979 (nilfs2_mod_SOURCES): New variable.
18980 (nilfs2_mod_CFLAGS): Likewise.
18981 (nilfs2_mod_LDFLAGS): Likewise.
18982 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18983 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18984 * fs/nilfs2.c: New file.
18985
4ba8d354
VS
189862010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18989 is not supported.
18990
0d2c20c6
GS
189912010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18992
18993 Add grub-mkconfig support for NetBSD.
18994
18995 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18996 * util/grub-mkconfig.in: export new NetBSD specific variables.
18997 * po/POTFILES-shell: added 10_netbsd.in.
18998 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18999
bc4a2d83
BC
190002010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19001
19002 Fix emu build with grub-emu-pci and grub-emu-modules.
19003
19004 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19005 functions.
19006 * include/grub/libpciaccess.h: New file.
19007 * conf/any-emu.rmk: Update kernel headers for emu build.
19008
f48c87aa
VS
190092010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19012
18959385
VS
190132010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19016
0037de3f
VS
190172010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19020 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19021 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19022 util/ieee1275/ofpath.c.
19023 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19024 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19025 * include/grub/sparc64/ieee1275/boot.h
19026 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19027 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19028 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19029 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19030 const char *.
19031 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19032 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19033 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19034 install.
19035
38e55e90
GS
190362010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19037
19038 * util/grub-mkconfig.in: Corrected two == equality tests.
19039 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19040 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19041 expect a number appended to it.
19042 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19043 expects a number appended to it.
19044
a9e6ff28
VS
190452010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19048
0b830b8f
VS
190492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * util/hostdisk.c (make_device_name): Change to new partition naming.
19052
0973daeb
VS
190532010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19056
460d8402 190572010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19058
19059 * Makefile.in: Add missing localedir setting.
19060
0b456309
CW
190612010-04-14 Colin Watson <cjwatson@ubuntu.com>
19062
19063 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19064 mistake in r2156. Noticed by Anthony Fok.
19065
19066 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19067 @localedir@.
19068 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19069
08f46d62
BC
190702010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19071
19072 Fix a spurious, uninitialized variable warning.
19073
19074 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19075 Initialize variable, shdr.
19076 (grub_freebsd_load_elfmodule): Likewise.
19077 (grub_freebsd_load_elf_meta): Likewise.
19078
8c4a72d4
BC
190792010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19080
19081 Fix for escaped dollar in double quoted strings.
19082
19083 * script/yylex.l: Updated flex rules.
19084 * conf/tests.rmk: Rule for new testcase.
19085 * tests/grub_script_dollar.in: New testcase.
19086
ce44826e
CPE
190872010-04-13 Carles Pina i Estany <carles@pina.cat>
190882010-04-13 Colin Watson <cjwatson@ubuntu.com>
19089
19090 Enclose all translated strings in grub.cfg in single quotes, and
19091 escape them appropriately (Ubuntu bug #552921).
19092
19093 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19094 * util/grub.d/10_hurd.in: Use it.
19095 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19096 * util/grub.d/10_linux.in (linux_entry): Likewise.
19097
4b0cd8f8
VS
190982010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 Fix cygwin compilation.
19101
19102 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19103 * include/grub/misc.h (__register_frame_info)
19104 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19105 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19106 * kern/misc.c (__register_frame_info)
19107 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19108 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19109
01fcf061
VS
191102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19113
5d04b11e
VS
191142010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 Unify libgcc processing.
19117
19118 * Makefile.in (kernel_img_LDFLAGS): New variable.
19119 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19120 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19121 overwriting.
19122 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19123 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19124 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19125 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19126 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19127 overwriting. Remove -lgcc and -static-libgcc
19128 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19129 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19130 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19131 (kernel_img_LDFLAGS): Append instead of overwriting.
19132 Remove -lgcc and -static-libgcc
19133 * conf/sparc64-ieee1275.rmk: Likewise.
19134 * include/grub/powerpc/libgcc.h: Move to ...
19135 * include/grub/libgcc.h: .. this.
19136 * include/grub/libgcc.h: Don't export most of the function on x86.
19137 (__bswapsi2): New export.
19138 (__bswapdi2): Likewise.
19139 * include/grub/mips/libgcc.h: Removed.
19140 * include/grub/sparc64/libgcc.h: Likewise.
19141
b7f3ac29
VS
191422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19145 disk_info_msg (conflicts with gettexting into languages with cases).
19146
2c7031b1
GS
191472010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19148
19149 Add grub-probe support for NetBSD.
19150
19151 * util/getroot.c (find_root_device): Convert block device to
19152 character device on NetBSD.
19153 * util/probe.c (probe): Require character device on NetBSD.
19154 * util/hostdisk.c: NetBSD specific headers.
19155 (configure_device_driver): new function to tune device driver
19156 parameters (currently only for NetBSD floppy driver).
19157 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19158 via disklabel ioctl).
19159 (open_device): call configure_device_driver on NetBSD.
19160 (convert_system_partition_to_system_disk): NetBSD specific code.
19161 (device_is_wholedisk): Likewise.
19162 (grub_util_biosdisk_get_grub_dev): Likewise.
19163 (make_device_name): Fixed a typo in bsd_part_str.
19164 * configure.ac: check for opendisk() and getrawpartition() on
19165 NetBSD and set LIBUTIL.
19166 * Makefile.in: add LIBUTIL to LIBS.
19167
f516290c
BC
191682010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19169
19170 Documentation fix.
19171
19172 * util/grub-script-check.c: Better help message.
19173
d8dcc0df
BC
191742010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19175
19176 Fix FreeBSD build.
19177
19178 * configure.ac: Flex version check.
19179 * conf/common.rmk: Add -Wno-error to sh.mod.
19180 * script/yylex.l: Remove all #pragma.
19181
6734334a
VS
191822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19185 prototype.
19186 Reported by: Seth Goldberg.
19187
daea6abd
VS
191882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19191 Rename "module" to "module2".
19192 Reported by: Seth Goldberg.
19193
f2fd9d2b
VS
191942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19197 EXPORT_FUNC.
19198 Reported by: Seth Goldberg.
19199
be124579
VS
192002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 * lib/posix_wrap/locale.h: Add missing file.
19203 Reported by: Seth Goldberg.
19204
ef5da797
VS
192052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 grub-emu module load support.
19208
19209 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19210 NO_DYNAMIC_MODULES switched to this.
19211 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19212 (CFLAGS): Likewise.
19213 * conf/any-emu.rmk: Generate symlist.
19214 (kernel_img_HEADERS): Add util/datetime.h.
19215 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19216 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19217 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19218 kern/$(target_cpu)/cache.S.
19219 * configure.ac (grub-emu-modules): New option.
19220 * genmk.rb: Handle multiple source lists.
19221 * include/grub/sdl.h: New file.
19222 * include/grub/libusb.h: Likewise.
19223 * util/grub-emu.c (main): Hanle (host) root.
19224 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19225 GRUB_ERR_UNKNOWN_DEVICE.
19226 * util/misc.c: Move mm functions to ...
19227 * util/mm.c: ... here. All users updated.
19228
47822096
VS
192292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19230
19231 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19232 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19233 missing files.
19234 (maintainer-clean): Remove libgcrypt-grub.
19235
5d7e7445
VS
192362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19239
25f4e252
EC
192402010-04-09 EFI Coder <eficoder@hotmail.com>
19241
19242 * normal/menu_text.c (print_message): Clean up the message and show
19243 the Fn information when on EFI
19244 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19245
027de555
VS
192462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19249 All users updated.
19250 * normal/crypto.c (read_crypto_list): Likewise.
19251 * normal/dyncmd.c (read_command_list): Likewise.
19252 * normal/term.c (read_terminal_list): Likewise.
19253 * normal/main.c (read_lists): Use explicit prefix.
19254 (read_lists_hook): Use read_lists.
19255 (grub_normal_execute): Likewise.
19256
47779711
VS
192572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19260 Reported by: Thomas Schmitt.
19261 Add -no-emul-boot to grub-mkisofs parameters.
19262
1118c32e
VS
192632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * font/font.c: Indented.
19266
7d652447
BC
192672010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19268
19269 Elif support to GRUB script (by Deepak Vankadaru).
19270
19271 * tests/grub_script_if.in: New testcase.
19272 * conf/tests.rmk: Rule for new testcase.
19273 * script/parser.y: Grammar rules for elif.
19274
34bb22df
BC
192752010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19276
19277 While and until loops support to GRUB script.
19278
19279 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19280 (grub_script_create_cmdwhile): New function prototype.
19281 (grub_script_execute_cmdwhile): New function prototype.
19282 * script/execute.c (grub_script_execute_cmdwhile): New function.
19283 * script/parser.y (command): New commands.
19284 (whilecmd): New grammar rule.
19285 (untilcmd): New grammar rule.
19286 * script/script.c (grub_script_create_cmdwhile): New function.
19287 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19288 function.
19289
19290 * tests/grub_script_while1.in: New testcase.
19291 * conf/tests.rmk: Rule for new testcase.
19292
e215d8e0
VS
192932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19296 as *.jpg.
19297
d7c43ba1
MV
192982010-04-09 Mario Vazquez <mariovazq@gmail.com>
19299
19300 GRUB_BACKGROUND support.
19301
19302 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19303 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19304
d64795c0
VS
193052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19308 Idea by: Mario Vazquez
d64795c0
VS
19309
19310 * util/grub.d/00_header.in: Load pf2 and image modules.
19311
f267f83a
VS
193122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 grub-mkconfig multiple terminal support.
19315
19316 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19317 * util/grub.d/00_header.in: Likewise.
19318
b7841ceb
VS
193192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19322 we use cd $(srcdir).
19323
df60998c
CW
193242010-04-08 Colin Watson <cjwatson@ubuntu.com>
19325
19326 * util/grub.d/10_linux.in: Only use the first word of
19327 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19328 spaces in GRUB_DISTRIBUTOR.
19329 * util/grub.d/10_kfreebsd.in: Likewise.
19330 * util/grub.d/10_hurd.in: Likewise.
19331
fa09c82e
BC
193322010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19333
14e18ae3 19334 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19335
19336 * tests/util/grub-shell.in: Remove -serial stdio option.
19337
daf892b3
BC
193382010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 POSIX header file wrappers.
19341
19342 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19343 equivalents.
19344 * lib/posix_wrap/ctype.h: Likewise.
19345 * lib/posix_wrap/errno.h: Likewise.
19346 * lib/posix_wrap/langinfo.h: Likewise.
19347 * lib/posix_wrap/limits.h: Likewise.
19348 * lib/posix_wrap/localcharset.h: Likewise.
19349 * lib/posix_wrap/stdint.h: Likewise.
19350 * lib/posix_wrap/stdio.h: Likewise.
19351 * lib/posix_wrap/stdlib.h: Likewise.
19352 * lib/posix_wrap/string.h: Likewise.
19353 * lib/posix_wrap/sys/types.h: Likewise.
19354 * lib/posix_wrap/unistd.h: Likewise.
19355 * lib/posix_wrap/wchar.h: Likewise.
19356 * lib/posix_wrap/wctype.h: Likewise.
19357 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19358 (grub_script.yy.h): Likewise.
19359 * script/yylex.l: Remove POSIX emulation #defines.
19360 * Makefile.in (POSIX_CFLAGS): New variable.
19361 (GNULIB_UTIL_CFLAGS): Likewise.
19362
19363 Regexp support.
19364
19365 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19366 (regexp_mod_SOURCES): New variable.
19367 (regexp_mod_CFLAGS): Likewise.
19368 (regexp_mod_LDFLAGS): Likewise.
19369 * commands/regexp.c: New file.
19370 * gnulib/regcomp.c: New file. Imported from gnulib.
19371 * gnulib/regex.c: Likewise.
19372 * gnulib/regex_internal.c: Likewise.
19373 * gnulib/regex_internal.h: Likewise.
19374 * gnulib/regexec.c: Likewise.
19375 * gnulib/regex.h: Likewise.
19376
974ac4f7
VS
193772010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19380 unsupported video mode types.
19381
2622c3ff
VS
193822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19385
064cb524
VS
193862010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19389 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19390
a8c3b552
VS
193912010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 Remove unused grub_vga_get_font.
19394
19395 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19396 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19397
187bbe3d
GS
193982010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19399
19400 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19401 * include/grub/misc.h: Likewise.
19402
b9396631
GS
194032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19404
19405 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19406 for which failure is fatal.
19407
50479feb
GS
194082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19409
19410 * util/grub-install.in: Use mkdir -p to create grub directory.
19411 * util/i386/efi/grub-install.in: Likewise.
19412 * util/ieee1275/grub-install.in: Likewise.
19413
b1654fdf
GS
194142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19415
19416 * Makefile.in (LEX): new variable.
19417
bd5a6415
GS
194182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19419
19420 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19421 `=' and added double quotes on operands of this equality test.
19422
3db3a82b
VS
194232010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 * Makefile.in (uninstall): Remove a leftover debug echo.
19426 Reported by: Grégoire Sutre
19427
38023412
VS
194282010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 MIPS multiboot2 support.
19431
19432 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19433 (multiboot2_mod_SOURCES): New variable.
19434 (multiboot2_mod_CFLAGS): Likewise.
19435 (multiboot2_mod_LDFLAGS): Likewise.
19436 (multiboot2_mod_ASFLAGS): Likewise.
19437 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19438 definition.
19439 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19440 (MULTIBOOT_MBI_REGISTER): Likewise.
19441 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19442 (MULTIBOOT_ELF32_MACHINE): Likewise.
19443 (MULTIBOOT_ELF64_MACHINE): Likewise.
19444 * include/grub/mips/multiboot.h: New file.
19445 * include/grub/video.h (grub_video_driver_id): New type
19446 GRUB_VIDEO_DRIVER_SM712.
19447 (grub_video_get_info_and_fini): Export.
19448 (grub_video_get_palette): Likewise.
19449 (grub_video_get_driver_id): Likewise.
19450 * include/multiboot2.h: Resynced with spec.
19451 * loader/i386/multiboot.c: Moved from here ...
19452 * loader/multiboot.c: ... here. All users updated.
19453 (grub_multiboot_boot): Use platform-specific macros.
19454 * loader/i386/multiboot_elfxx.c: Moved from here ...
19455 * loader/multiboot_elfxx.c: ... here. All users updated.
19456 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19457 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19458 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19459
47674667
VS
194602010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 Import gnulib argp module.
19463
19464 * gnulib/argp-ba.c: New file.
19465 * gnulib/argp-eexst.c: Likewise.
19466 * gnulib/argp-fmtstream.c: Likewise.
19467 * gnulib/argp-fmtstream.h: Likewise.
19468 * gnulib/argp-fs-xinl.c: Likewise.
19469 * gnulib/argp-help.c: Likewise.
19470 * gnulib/argp-namefrob.h: Likewise.
19471 * gnulib/argp-parse.c: Likewise.
19472 * gnulib/argp-pin.c: Likewise.
19473 * gnulib/argp-pv.c: Likewise.
19474 * gnulib/argp-pvh.c: Likewise.
19475 * gnulib/argp-version-etc.c: Likewise.
19476 * gnulib/argp-version-etc.h: Likewise.
19477 * gnulib/argp-xinl.c: Likewise.
19478 * gnulib/argp.h: Likewise.
19479
495442ed
VS
194802010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * kern/device.c (grub_device_iterate): Clear errors after failed
19483 opening device.
19484
f9fd65df
VS
194852010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19488 returned by firmware.
19489
af09641e
VS
194902010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19493 compilation on coreboot and qemu
19494
016883a5
VS
194952010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 * include/multiboot2.h: Resync with spec.
19498
f97e1f7d
VS
194992010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 Multiboot2 tag support
19502
19503 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19504 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19505 Remove loader/multiboot_loader.c.
19506 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19507 (grub_multiboot2_real_boot): Likewise.
19508 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19509 (grub_get_multiboot_mmap_count): New proto.
19510 (grub_fill_multiboot_mmap): Likewise.
19511 (grub_multiboot_set_video_mode): Likewise.
19512 (grub_multiboot_set_console): Likewise.
19513 (grub_multiboot_load): Likewise.
19514 (grub_multiboot_load_elf): Likewise.
19515 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19516 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19517 * include/multiboot.h: Resynced with specification.
19518 * include/multiboot2.h: Resynced with specification.
19519 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19520 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19521 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19522 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19523 users updated.
19524 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19525 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19526 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19527 Removed.
19528 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19529 Moved from here...
19530 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19531 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19532 Moved from here...
19533 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19534 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19535 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19536 All users updated.
19537 * loader/i386/multiboot_mbi2.c: New file.
19538
3506b90b
VS
195392010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 Resync with gnulib.
19542
19543 * Makefile.in (GNULIB_CFLAGS): New variable.
19544 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19545 (grub_script_check_CFLAGS): New variable.
19546 * gnulib/alloca.h: Resync with gnulib.
19547 * gnulib/error.c: Likewise.
19548 * gnulib/error.h: Likewise.
19549 * gnulib/fnmatch.c: Likewise.
19550 * gnulib/fnmatch_loop.c: Likewise.
19551 * gnulib/getdelim.c: Likewise.
19552 * gnulib/getline.c: Likewise.
19553 * gnulib/getopt.c: Likewise.
19554 * gnulib/getopt1.c: Likewise.
19555 * gnulib/getopt_int.h: Likewise.
19556 * gnulib/gettext.h: Likewise.
19557 * gnulib/progname.c: Likewise.
19558 * gnulib/progname.h: Likewise.
19559
394a3120
GS
195602010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19561
19562 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19563 which is the case with --disabled-nls.
19564
19565 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19566 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19567 * util/misc.c: Likewise.
19568 * util/mkisofs/mkisofs.c: Likewise.
19569 * util/mkisofs/mkisofs.h: Likewise.
19570
969d1c78
VS
195712010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 Simplify Apple CC support.
19574
19575 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19576 Add 0 byte at the end not to have a symbol with empty target.
19577 * mmap/i386/pc/mmap_helper.S: Likewise.
19578 * genmk.rb: Ignore errors 2030 and 2050.
19579 * kern/i386/pc/startup.S: Use LOCAL when possible.
19580
8d2977bb
BC
195812010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19582
19583 Testcase and the fix for final semicolon on cmdline.
19584
19585 * tests/grub_script_final_semicolon.in: New testcase.
19586 * conf/tests.rmk: Rules for the new testcase.
19587 * script/parser.y: Grammar fix.
19588
a7bd6915
BC
195892010-03-26 BVK Chaitanya <bvk@localhost>
19590
19591 Blank lines testcase for GRUB script.
19592
19593 * tests/grub_script_blanklines.in: New testcase.
19594 * conf/tests.rmk: Rules for the new testcase.
19595
e4ff6628
VS
195962010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 Don't use __FILE__.
19599
19600 * genmk.rb: Add -DGRUB_FILE to all C targets.
19601 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19602 * include/grub/list.h: Likewise.
19603 * include/grub/misc.h: Likewise.
19604 * include/grub/mm.h: Likewise.
19605 * include/grub/test.h: Likewise.
19606 * kern/mm.c: Likewise.
19607 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19608
6a5cf6b6
VS
196092010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Sunpc partitions support.
19612
19613 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19614 (grub_fstest_SOURCES): Likewise.
19615 (pkglib_MODULES): Add part_sunpc.mod.
19616 (part_sunpc_mod_SOURCES): New variable.
19617 (part_sunpc_mod_CFLAGS): Likewise.
19618 (part_sunpc_mod_LDFLAGS): Likewise.
19619 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19620 * partmap/sunpc.c: New file.
19621
746d9045
BC
196222010-03-26 BVK Chaitanya <bvk@localhost>
19623
19624 For loop support to GRUB script.
19625
19626 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19627 (grub_script_create_cmdfor): New function prototype.
19628 (grub_script_execute_cmdfor): New function prototype.
19629 * script/execute.c (grub_script_execute_cmdfor): New function.
19630 * script/parser.y (command): New for command.
19631 (forcmd): New grammar rule.
19632 * script/script.c (grub_script_create_cmdfor): New function.
19633 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19634 function.
19635 * tests/grub_script_for1.in: New testcase.
19636 * conf/tests.rmk: Rules for new testcase.
19637
18486b18
VS
196382010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 Nested partitions
19641
19642 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19643 'partition' is NULL, grub_partition_get_start already does that.
19644 * commands/loadenv.c (check_blocklists): Likewise.
19645 (write_blocklists): Likewise.
19646 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19647 (grub_fstest_SOURCES): Likewise.
19648 (pkglib_MODULES): Add part_bsd.mod.
19649 (part_bsd_mod_SOURCES): New variable.
19650 (part_bsd_mod_CFLAGS): Likewise.
19651 (part_bsd_mod_LDFLAGS): Likewise.
19652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19653 (grub_emu_SOURCES): Likewise.
19654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19655 * include/grub/bsdlabel.h: New file.
19656 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19657 'get_name'.
19658 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19659 (grub_partition_map_list): New variable.
19660 (grub_partition_map_register): Inline.
19661 (grub_partition_map_unregister): Likewise.
19662 (FOR_PARTITION_MAPS): New macro.
19663 (grub_partition_map_iterate): Removed.
19664 (grub_partition_get_start): Handle nested partitions.
19665 * include/grub/msdos_partition.h: Remove bsd-related entries.
19666 (grub_pc_partition): Remove.
19667 * kern/disk.c (grub_disk_close): Free partition data.
19668 (grub_disk_adjust_range): Handle nested partitions.
19669 * kern/partition.c (grub_partition_map_probe): New function.
19670 (grub_partition_probe): Parse name to number, handle subpartitions.
19671 (get_partmap): New function.
19672 (grub_partition_iterate): Handle subpartitions.
19673 (grub_partition_get_name): Likewise.
19674 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19675 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19676 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19677 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19678 Set 'number'.
19679 (acorn_partition_map_probe): Remove.
19680 (acorn_partition_map_get_name): Likewise.
19681 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19682 Set 'number'.
19683 Set 'index' to 0 since there can be only one partition entry per sector.
19684 (amiga_partition_map_probe): Remove.
19685 (amiga_partition_map_get_name): Likewise.
19686 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19687 Set 'number'.
19688 Set 'offset' and 'index' to real positions of partitions.
19689 (apple_partition_map_probe): Remove.
19690 (apple_partition_map_get_name): Likewise.
19691 * partmap/bsdlabel.c: New file.
19692 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19693 Set 'number'.
19694 Allocate 'data' so it can be correctly freed.
19695 Set 'index' to offset inside sector.
19696 (gpt_partition_map_probe): Remove.
19697 (gpt_partition_map_get_name): Likewise.
19698 * partmap/msdos.c (grub_partition_parse): Remove.
19699 (pc_partition_map_iterate): Don't force raw access.
19700 Set 'number'.
19701 Make 'ext_offset' a local variable.
19702 (pc_partition_map_probe): Remove.
19703 (pc_partition_map_get_name): Remove.
19704 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19705 Set 'number'.
19706 (sun_partition_map_probe): Remove.
19707 (sun_partition_map_get_name): Likewise.
19708 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19709 (grub_pcpart_type): Likewise.
19710 * util/hostdisk.c (open_device): Handle new numbering scheme.
19711 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19712 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19713 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19714 * util/grub-install.in: Insert all subpartition modules.
19715 * util/ieee1275/grub-install.in: Likewise.
19716
a3940f88
AG
197172010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19718
19719 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19720 grammar.
19721
21b99926 197222010-03-24 Colin Watson <cjwatson@ubuntu.com>
19723
19724 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19725
bed1d352
CW
197262010-03-21 Colin Watson <cjwatson@ubuntu.com>
19727
19728 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19729 match where 'make install' puts them.
19730 * util/i386/efi/grub-install.in: Likewise.
19731
c9f58427
CW
197322010-03-19 Colin Watson <cjwatson@ubuntu.com>
19733
19734 * .bzrignore: Add gentrigtables, grub-script-check,
19735 grub_script_check_init.c, grub_script_check_init.h, and
19736 trigtables.c.
19737
f84afb27
VS
197382010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * kern/parser.c: Indented.
19741
ed0e3d30
VS
197422010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19745
0ea81d98
VS
197462010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19749 alpha_mask_size == 0 case.
19750
0cdc2a09
BC
197512010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19752
19753 GRUB shell lexer and parser improvements.
19754
19755 * conf/any-emu.rmk: Build rule updates.
19756 * conf/common.rmk: Likewise.
19757 * conf/i386-coreboot.rmk: Likewise.
19758 * conf/i386-efi.rmk: Likewise.
19759 * conf/i386-ieee1275.rmk: Likewise.
19760 * conf/i386-pc.rmk: Likewise.
19761 * conf/powerpc-ieee1275.rmk: Likewise.
19762 * conf/x86_64-efi.rmk: Likewise.
19763
19764 * configure.ac: Configure check for flex.
19765
19766 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19767 types.
19768 (grub_lexer_param): Struct member updates.
19769 (grub_parser_param): Likewise.
19770 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19771 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19772 (grub_script_lexer_init): Prototype update.
19773 (grub_script_lexer_record_start): Likewise.
19774 (grub_script_lexer_record_stop): Likewise.
19775 (grub_script_lexer_yywrap): New function prototype.
19776 (grub_script_lexer_fini): Likewise.
19777 (grub_script_execute_argument_to_string): Removed by...
19778 (grub_script_execute_argument_to_argv): ...better version.
19779
19780 * script/execute.c (ROUND_UPTO): New macro.
19781 (grub_script_execute_cmdline): Out of memory fixes.
19782 (grub_script_execute_menuentry): Likewise.
19783 (grub_script_execute_argument_to_string): Removed. Update all
19784 users by...
19785 (grub_script_execute_argument_to_argv): ...better version.
19786 * script/function.c (grub_script_function_create): Use
19787 grub_script_execute_argument_to_argv instead of
19788 grub_script_execute_argument_to_string.
19789
19790 * script/lexer.c (check_varstate): Removed.
19791 (check_textstate): Removed.
19792 (grub_script_lexer_record_start): Likewise.
19793 (grub_script_lexer_record_stop): Likewise.
19794 (recordchar): Replaced with...
19795 (grub_script_lexer_record): ...new function.
19796 (nextchar): Removed.
19797 (grub_script_lexer_init): Rewritten.
19798 (grub_script_yylex): Rewritten.
19799 (append_newline): New function.
19800 (grub_script_lexer_yywrap): New function.
19801 (grub_script_lexer_fini): New function.
19802 (grub_script_yyerror): Sets error flag.
19803
19804 * script/yylex.l: New file.
19805 (grub_lexer_yyfree): Wrapper for flex yyffre.
19806 (grub_lexer_yyalloc): Likewise.
19807 (grub_lexer_yyrealloc): Likewise.
19808 * script/parser.y: Refactored.
19809
19810 * script/script.c (grub_script_arg_add): Out of memory fixes.
19811 (grub_script_add_arglist): Likewise.
19812 (grub_script_create_cmdline): Likewise.
19813 (grub_script_create_cmdmenu): Likewise.
19814 (grub_script_add_cmd): Likewise.
19815 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19816 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19817 unnecessary code.
19818
19819 * tests/grub_script_echo1.in: New testcase.
19820 * tests/grub_script_vars1.in: New testcase.
19821 * tests/grub_script_echo_keywords.in: New testcase.
19822
1d63a066
VS
198232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 Remove some redundancy in build system.
19826
19827 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19828 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19829 (TARGET_LDFLAGS): Add -nostdlib.
19830 (TARGET_IMG_LDFLAGS): Likewise.
19831 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19832 anything since mmap isn't available.
19833 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19834 Add util/time.c.
19835 (pkglib_MODULES): Remove reboot.mod.
19836 (reboot_mod_SOURCES): Removed.
19837 (reboot_mod_CFLAGS): Likewise.
19838 (reboot_mod_LDFLAGS): Likewise.
19839 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19840 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19841 (DEFSYMFILES): Add kernel_syms.lst.
19842 (kernel_img_HEADERS): Add common headers.
19843 (symlist.c): New target.
19844 (kernel_syms.lst): Likewise.
19845 (pkglib_MODULES): Add memdisk.mod.
19846 (memdisk_mod_SOURCES): New variable.
19847 (memdisk_mod_CFLAGS): Likewise.
19848 (memdisk_mod_LDFLAGS): Likewise.
19849 (pkglib_MODULES): Add reboot.mod.
19850 (reboot_mod_SOURCES): New variable.
19851 (reboot_mod_CFLAGS): Likewise.
19852 (reboot_mod_LDFLAGS): Likewise.
19853 (pkglib_MODULES): Add date.mod.
19854 (date_mod_SOURCES): New variable.
19855 (date_mod_CFLAGS): Likewise.
19856 (date_mod_LDFLAGS): Likewise.
19857 (pkglib_MODULES): Add datehook.mod.
19858 (datehook_mod_SOURCES): New variable.
19859 (datehook_mod_CFLAGS): Likewise.
19860 (datehook_mod_LDFLAGS): Likewise.
19861 (pkglib_MODULES): Add lsmmap.mod.
19862 (lsmmap_mod_SOURCES): New variable.
19863 (lsmmap_mod_CFLAGS): Likewise.
19864 (lsmmap_mod_LDFLAGS): Likewise.
19865 (pkglib_MODULES): Add boot.mod.
19866 (boot_mod_SOURCES): New variable.
19867 (boot_mod_CFLAGS): Likewise.
19868 (boot_mod_LDFLAGS): Likewise.
19869 * conf/i386-coreboot.rmk: Removed redundant parts.
19870 * conf/i386-ieee1275.rmk: Likewise.
19871 * conf/i386-pc.rmk: Likewise.
19872 * conf/mips-yeeloong.rmk: Likewise.
19873 * conf/mips.rmk: Likewise.
19874 * conf/powerpc-ieee1275.rmk: Likewise.
19875 * conf/sparc64-ieee1275.rmk: Likewise.
19876 * conf/x86_64-efi.rmk: Likewise.
19877 * conf/i386-coreboot.rmk: Moved qemu parts ..
19878 * conf/i386-qemu.rmk: ... here
19879 * conf/i386-efi.rmk: Moved common parts to...
19880 * conf/x86-efi.rmk: ... here.
19881 * conf/i386.rmk: Added modules common to all x86 variants.
19882 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19883 * disk/memdisk.c: Remove grub/machine/kernel.h.
19884 * gensymlist.sh.in: Include symbol.h.
19885 * hook/datehook.c: Correct module name.
19886 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19887 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19888 * include/grub/i386/efi/serial.h: New file.
19889 * include/grub/x86_64/efi/serial.h: Likewise.
19890 * util/time.c: Likewise.
19891 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19892
463ac55f
CK
198932010-03-14 Colin King <colin.king@ubuntu.com>
198942010-03-14 Colin Watson <cjwatson@ubuntu.com>
19895
19896 Shrink the pre-partition-table part of boot.img by eight bytes.
19897
19898 * boot/i386/pc/boot.S (ERR): New macro.
19899 (chs_mode): Use ERR.
19900 (geometry_error): Likewise.
19901 (hd_probe_error): Remove. This is only used once, so we wrwite
19902 it inline instead.
19903 (read_error): Instead of printing read_error_string, just set up
19904 %si and fall through to ...
19905 (error_message): ... this new function, also used by ERR.
19906
08e46ede
CW
199072010-03-14 Colin Watson <cjwatson@ubuntu.com>
19908
19909 Speed up consecutive hostdisk operations on the same device.
19910
19911 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19912 (grub_util_biosdisk_open): Initialise disk->data.
19913 (struct linux_partition_cache): New structure.
19914 (linux_find_partition): Cache partition start positions; these are
19915 expensive to compute on every read and write.
19916 (open_device): Cache open file descriptor in disk->data, so that we
19917 don't have to reopen it and flush the buffer cache for consecutive
19918 operations on the same device.
19919 (grub_util_biosdisk_close): New function.
19920 (grub_util_biosdisk_dev): Set `close' member.
19921
19922 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19923 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19924 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19925 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19926 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19927
4a6d2d06
VS
199282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Compile parts of grub-emu as modules.
19931
19932 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19933 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19934 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19935 (all-local): Add $(GRUB_EMU).
19936 (install-local): Install $(GRUB_EMU).
19937 (uninstall): Uninstall $(GRUB_EMU).
19938 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19939 * kern/dl.c: Likewise.
19940 * commands/sleep.c: Not include machine/time.h.
19941 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19942 (COMMON_CFLAGS): Likewise.
19943 (sbin_UTILITIES): Remove grub-emu.
19944 (grub_emu_SOURCES): Removed.
19945 (kernel_img_RELOCATABLE): New variable.
19946 (pkglib_PROGRAMS): Add kernel.img.
19947 (kernel_img_SOURCES): New variable
19948 (kernel_img_CFLAGS): Likewise.
19949 (kernel_img_LDFLAGS): Likewise.
19950 (TARGET_NO_STRIP): Likewise.
19951 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19952 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19953 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19954 (grub-emu): New target.
19955 (GRUB_EMU): New variable.
19956 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19957 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19958 * loader/xnu.c: Likewise.
19959 * include/grub/pci.h: Likewise.
19960 * genemuinit.sh: New file.
19961 * genemuinitheader.sh: Likewise.
19962 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19963 Support TARGET_NO_DYNAMIC_MODULES.
19964 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19965 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19966 * disk/loopback.c: Likewise.
19967 * font/font_cmd.c: Likewise.
19968 * partmap/acorn.c: Likewise.
19969 * partmap/amiga.c: Likewise.
19970 * partmap/apple.c: Likewise.
19971 * partmap/gpt.c: Likewise.
19972 * partmap/msdos.c: Likewise.
19973 * partmap/sun.c: Likewise.
19974 * parttool/msdospart.c: Likewise.
19975 * term/gfxterm.c: Likewise.
19976 * video/bitmap.c: Likewise.
19977 * video/readers/jpeg.c: Likewise.
19978 * video/readers/png.c: Likewise.
19979 * video/readers/tga.c: Likewise.
19980 * video/video.c: Likewise.
19981 * util/grub-emu.c (read_command_list): Removed.
19982 (main): Don't call util_init_nls.
19983 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19984 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19985
91fdd2ed
VS
199862010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19989 date.mod, datehook.mod.
19990 (datetime_mod_SOURCES): New variable.
19991 (datetime_mod_CFLAGS): Likewise.
19992 (datetime_mod_LDFLAGS): Likewise.
19993 (date_mod_SOURCES): Likewise.
19994 (date_mod_CFLAGS): Likewise.
19995 (date_mod_LDFLAGS): Likewise.
19996 (datehook_mod_SOURCES): Likewise.
19997 (datehook_mod_CFLAGS): Likewise.
19998 (datehook_mod_LDFLAGS): Likewise.
19999 * conf/sparc64-ieee1275.rmk: Likewise.
20000 * lib/ieee1275/datetime.c: New file.
20001
873ccae6
VS
200022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20005 (ieee1275_fb_mod_SOURCES): New variable.
20006 (ieee1275_fb_mod_CFLAGS): Likewise.
20007 (ieee1275_fb_mod_LDFLAGS): Likewise.
20008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20009 New proto.
20010 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20011 (HEAP_MAX_ADDR): Likewise.
20012 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20013 type.
20014 Correct stop condition.
20015 (grub_ieee1275_devices_iterate): New function.
20016 * video/ieee1275.c: New file.
20017
601c97c0
VS
200182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20021
20022 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20023 as scratch.
20024 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20025 SCRATCH_PAD_DISKBOOT as scratch.
20026 (bootit): Pass Openfirmware pointer in %o4.
20027 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20028 of 0x200000.
20029 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20030 with util/grub-mkrawimage.c.
20031 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20032 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20033 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20034 (grub_aout_load) [GRUB_UTIL]: Likewise.
20035 * include/grub/kernel.h (grub_modules_get_end): New proto.
20036 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20037 (SCRATCH_PAD_BOOT): New definition.
20038 (SCRATCH_PAD_DISKBOOT): Likewise.
20039 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20040 * include/grub/sparc64/ieee1275/ieee1275.h
20041 (grub_ieee1275_original_stack): New variable
20042 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20043 New definition
20044 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20045 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20046 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20047 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20048 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20049 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20050 (grub_platform_image_format_t): New type.
20051 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20052 * kern/main.c (grub_modules_get_end)
20053 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20054 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20055 (codestart): Switch stacks.
20056 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20057 variable.
20058 (grub_heap_init): Use grub_modules_get_end.
20059 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20060 stack.
20061 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20062 (main): Likewise.
20063 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20064
d68b491e
TG
200652010-03-14 Thorsten Glaser <tg@mirbsd.org>
20066
20067 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20068
4e02ed50
MK
200692010-03-08 Matt Kraai <kraai@ftbfs.org>
20070
20071 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20072 bug #559005).
20073
1f15fc1e
VS
200742010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * genmoddep.awk: Output all missing symbols and not only first.
20077
fce5d8ff
VS
200782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20079
20080 * NEWS: Put the date of 1.98 release.
20081
d1e8a02f
VS
200822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20083
20084 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20085 ft2build.h.
20086
696fd607
VS
200872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20090 completition in the middle of string.
20091
33e2e6f3
VS
200922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * util/grub-mkrescue.in: Use mktemp with explicit template.
20095
b1f6d291
VS
200962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20099
2ac227c7
VS
201002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20103 right pointer.
20104
8f9a632b
VS
201052010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 Fix FreeBSD compilation.
20108
20109 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20110 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20111
60b03859
VS
201122010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20115
48a5a769
VS
201162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20119
3ab4bd77
VS
201202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20123
d116e0d8
RM
201242010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20125
20126 Support relative image path in theme file.
20127
20128 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20129 (image_set_property): Handle theme_dir and relative path.
20130
c7ef54aa
VS
201312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 * configure.ac: Alias amd64 to x86_64.
20134
fcee14ed
VS
201352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 * NEWS: mention multiboot on EFI.
20138
d0780363
VS
201392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 * kern/main.c (grub_load_modules): Handle errors from init functions of
20142 embeded modules.
20143
41168ea4
VS
201442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * normal/autofs.c (autoload_fs_module): Handle errors.
20147
b54d93ac
VS
201482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 Disable linux.mod on qemu-mips since it's not functional and leads
20151 to compilation failure.
20152
20153 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20154 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20155 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20156 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20157 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20158 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20159 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20160 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20161 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20162 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20163 Reported by: BVK Chaitanya
20164
fc8345da
JU
201652010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20166
20167 * INSTALL: Add gettext as a dependency and add qemu to a new section
20168 "Prerequisites for make-check".
20169
4760f979
CF
201702010-03-04 Christian Franke <franke@computer.org>
20171
20172 * util/grub-pe2elf.c: Add missing include "progname.h".
20173
f209b5b2
VS
201742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * normal/crypto.c (read_crypto_list): Fix a typo.
20177 Reported by: Seth Goldberg.
20178
b4b7be98
VS
201792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20182 Reported by: Seth Goldberg.
b4b7be98 20183
c0ee0385
VS
201842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20187 ascii.bitmaps.
20188
a8efbf64
VS
201892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20192 Reported by: Seth Goldberg.
a8efbf64 20193
08dcd913
VS
201942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 * util/i386/efi/grub-install.in: Copy gettext files.
20197
c4d0b332
VS
201982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20201
c6f2fe52
VS
202022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 Wait for user entry basing on presence of output rather than on errors.
20205
20206 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20207 (grub_install_newline_hook): Likewise.
20208 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20209 * normal/menu.c (show_menu): Check line_counter to determine presence
20210 of output.
20211 * normal/term.c (grub_normal_line_counter): New variable.
20212 (grub_normal_get_line_counter): New function.
20213 (grub_install_newline_hook): Likewise.
20214
5382b1e4
VS
202152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20218
5519963b
VS
202192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20220
20221 * configure.ac: Update version to 1.98.
20222
72b28631
VS
202232010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * util/grub.d/10_linux.in (linux_entry): Don't default to
20226 gfxpayload=keep if Linux doesn't support video handover.
20227
c140a180
VS
202282010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 Don't compile video modules on yeeloong since video subsystem is part
20231 of kernel.
20232
20233 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20234 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20235 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20236 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20237 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20238 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20239 * include/grub/bitmap_scale.h: Likewise.
20240 * include/grub/bufio.h: Likewise.
20241 * include/grub/font.h: Likewise.
20242 * include/grub/gfxterm.h: Likewise.
20243 * include/grub/video.h: Likewise.
20244 * include/grub/vbe.h: Don't include video_fb.h.
20245 * video/i386/pc/vbe.c: Include video_fb.h.
20246 * commands/i386/pc/vbetest.c: Include video.h.
20247
a0ca21c2
CW
202482010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20249
20250 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20251 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20252 default entry if GRUB_SAVEDEFAULT=true. This allows using
20253 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20254 saving a new default on every boot.
20255
4a8a763c
VS
202562010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20259 * normal/term.c (read_terminal_list): Likewise.
20260 * normal/main.c (grub_normal_init_page): Likewise.
20261 (grub_normal_read_line_real): Likewise.
20262
607ffde2
VS
202632010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20266 memory leak.
20267 Reported by: Seth Goldberg.
20268
2b8fa975
CW
202692010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20270
20271 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20272 duplicate declaration of `start'.
20273
618307dd
VS
202742010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20277 filename.
20278 Reported by: Georgy Buranov
20279
7dd05b96 202802010-02-20 Carles Pina i Estany <carles@pina.cat>
20281
20282 * util/grub-mkrawimage.c (usage): Change string formatting to
20283 improve gettext.
20284
d1484a42
MRA
202852010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20286
20287 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20288 backspace keys.
20289
42b1d186
VS
202902010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20293 Reported by: Michael Suchanek.
20294
202952010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20296
20297 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20298 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20299
d9f31a41
VS
203002010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 Remove any reference to non-free fonts.
20303
20304 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20305 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20306 uses non-free components.
20307 * font/font.c (grub_font_get_name): Remove example name.
20308 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20309 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20310 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20311 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20312
2793c71e
GB
203132010-02-16 Georgy Buranov <gburanov@gmail.com>
20314
20315 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20316
402e3779
VS
203172010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20320 Double divisor.
20321 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20322 features.
20323 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20324
0dd1e0dd
VS
203252010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20328
6fa7cfce
ST
203292010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20330
20331 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20332 * docs/grub.texi (Command-line and menu entry commands): Document play
20333 command.
20334
37c8483b
ST
203352010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20336
20337 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20338 parse arguments as inline tempo and notes. Move code for playing notes
20339 to...
20340 (play): ... new function.
20341
14da0fb7
ST
203422010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20343
20344 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20345 grub_uint16_t instead of short.
20346 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20347 disk from little endian to cpu endianness.
20348
04459e70
ST
203492010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20350
20351 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20352 GRUB_TICKS_PER_SECOND instead of 120.
20353
a0876943
VS
203542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20357 escape sequence after \e.
20358
e29f95dc
VS
203592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20362 non-ASCII characters.
20363
d27859b2
VS
203642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20367 set root in single quotes to prevent \, from being unescaped.
20368
bc028f2f
VS
203692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 Prevent unknown commands from stopping menuentry execution.
20372
20373 * script/execute.c (grub_script_execute_cmdline): Print error after
20374 unknown command.
20375
095f5f82
VS
203762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20379 Reported by: Pavel Pisa.
20380
8c717950
VS
203812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20384
904935c3
VS
203852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 Merge grub_ieee1275_map_physical into grub_map and rename to
20388 grub_ieee1275_map
20389
20390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20391 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20392 Remove.
20393 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20394 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20395 necessary.
20396 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20397
5b59a4e3
VS
203982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20401 opening and not after.
20402
69e137e8
VS
204032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20406 constants.
20407
2c0fcc36
VS
204082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20411 (alloc_phys): Use ALIGN_UP instead of align_addr.
20412
8c6052ce
VS
204132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20416
17cec782
VS
204172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20420
e0128bbd
VS
204212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20424 verbose dprintf.
20425
ca62070b
VS
204262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 Fix over-4GiB seek on sparc64.
20429
20430 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20431 Replace pos_i and pos_lo with pos. All users updated.
20432 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20433 New constant.
20434 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20435 Likewise.
20436 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20437 and pos_lo.
20438
bdca2607
VS
204392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 * util/grub-mkrawimage.c (main): Call set_program_name.
20442
da278c4d
VS
204432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 Properly align 64-bit targets.
20446
20447 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20448 (generate_image): Use ALIGN_ADDR.
20449
b274d734
VS
204502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20451
20452 Properly create cross-endian images.
20453
20454 * include/grub/types.h (grub_host_to_target_addr): New macro
20455 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20456
82da2062
VS
204572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20460
7cae4377
VS
204612010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20464
20465 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20466 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20467 (grub_linux_boot): Divide by 64K when on VESA.
20468
65a533e7
VS
204692010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 Support GRUB_GFXPAYLOAD_LINUX.
20472
20473 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20474 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20475
dd01d397
VS
204762010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20479 to show messages instead of discarding them.
20480 Process errors after executing command and not before. Keep old method
20481 too as precaution.
20482
660960d6
VS
204832010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * configure.ac: Check for ft2build.h.
20486
62509f04
VS
204872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20490
473df63d
VS
204912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 * genkernsyms.sh.in: Use TARGET_CC.
20494
c98d2a13
CW
204952010-02-07 Colin Watson <cjwatson@ubuntu.com>
20496
20497 * NEWS: Update.
20498
6e14234c
VS
204992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20502 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20503 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20504
b255e9cf
YB
205052010-02-07 Yves Blusseau <blusseau@zetam.org>
20506
6e14234c 20507 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20508
98e6959d
VS
205092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20510
20511 Fix warnings in grub-emu when compiling with maximum warning options.
20512
20513 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20514 (grub_arch_modules_addr): Return 0 and not NULL.
20515 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20516 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20517 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20518 of disk to dsk to avoid shadowing.
74e4934e
VS
20519 (find_free_slot): Fix prototype.
20520 * util/getroot.c (grub_util_is_dmraid): Make static.
20521 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20522 Add missing prototype.
20523 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20524
74e31b5c
VS
205252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20528 appropriately.
20529
6b2ad14b
VS
205302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20533 code out.
20534
8f891adc
VS
205352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20538 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20539 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20540 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20541 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20542 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20543
74b45184
VS
205442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20545
20546 * include/grub/err.h (grub_err_printf): Don't export.
20547
a4bced77
VS
205482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20551
007d0695
VS
205522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20553
20554 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20555 * kern/misc.c (grub_gettext_dummy): Make static.
20556
b6c0d9c2
VS
205572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20560 by non-valid ones.
20561 * kern/term.c (grub_putchar): Likewise.
20562
f51a90d0
VS
205632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20566 buggy hook call and memory leak.
20567
6846cec5
VS
205682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20571
468d69fe
VS
205722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20575
51906b8c
VS
205762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20579 modevar.
20580 Return grub_errno on allocation error.
20581
09706ce5
VS
205822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20585
911df80c
YB
205862010-02-06 Yves Blusseau <blusseau@zetam.org>
20587
20588 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20589 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20590
3746a6bc
VS
205912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20594 non-pxe disk.
20595 (grub_pxefs_open): Likewise.
20596
09706ce5
VS
205972010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20598
20599 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20600 * util/grub.d/10_kfreebsd.in: Likewise.
20601 * util/grub.d/10_linux.in: Likewise.
20602
7cc192d9
VS
206032010-02-06 Colin D Bennett <colin@gibibit.com>
20604
20605 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20606 (gfxmenu_mod_SOURCES): New variable.
20607 (gfxmenu_mod_CFLAGS): Likewise.
20608 (gfxmenu_mod_LDFLAGS): Likewise.
20609 * include/grub/term.h (grub_term_set_current_output): Declare
20610 argument as const.
20611 * docs/gfxmenu-theme-example.txt: New file.
20612 * gfxmenu/gfxmenu.c: Likewise.
20613 * gfxmenu/gui_box.c: Likewise.
20614 * gfxmenu/gui_canvas.c: Likewise.
20615 * gfxmenu/gui_circular_progress.c: Likewise.
20616 * gfxmenu/gui_image.c: Likewise.
20617 * gfxmenu/gui_label.c: Likewise.
20618 * gfxmenu/gui_list.c: Likewise.
20619 * gfxmenu/gui_progress_bar.c: Likewise.
20620 * gfxmenu/gui_string_util.c: Likewise.
20621 * gfxmenu/gui_util.c: Likewise.
20622 * gfxmenu/icon_manager.c: Likewise.
20623 * gfxmenu/model.c: Likewise.
20624 * gfxmenu/named_colors.c: Likewise.
20625 * gfxmenu/theme_loader.c: Likewise.
20626 * gfxmenu/view.c: Likewise.
20627 * gfxmenu/widget-box.c: Likewise.
20628 * include/grub/gfxmenu_model.h: Likewise.
20629 * include/grub/gfxmenu_view.h: Likewise.
20630 * include/grub/gfxwidgets.h: Likewise.
20631 * include/grub/gui.h: Likewise.
20632 * include/grub/gui_string_util.h: Likewise.
20633 * include/grub/icon_manager.h: Likewise.
20634
206352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 Agglomerate scrolling in gfxterm.
20638
20639 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20640 (grub_virtual_screen_setup): Initialise 'total_screen'.
20641 (write_char): Split to ...
20642 (paint_char): ... this ...
20643 (write_char): ... and this.
20644 (paint_char): Handle delayed scrolling.
20645 (draw_cursor): Likewise.
20646 (scroll_up): Split to ...
20647 (real_scroll): ... this ...
20648 (scroll_up): ... and this.
20649 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20650 characters.
20651 (grub_gfxterm_refresh): Call real_scroll.
20652
206532010-02-06 Colin D Bennett <colin@gibibit.com>
20654
20655 * include/grub/misc.h (grub_iscntrl): New inline function.
20656 (grub_isalnum): Likewise.
20657 (grub_strtol): Likewise.
20658
206592010-02-06 Colin D Bennett <colin@gibibit.com>
20660
20661 * normal/menu_text.c (get_entry_number): Move from here ...
20662 * normal/menu.c (get_entry_number): ... moved here.
20663 * include/grub/menu.h (grub_menu_get_default_entry_index):
20664 New prototype.
20665 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20666 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20667 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20668 (grub_menu_viewer_should_return): Likewise.
20669 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20670 * normal/menu_text.c (run_menu): Enable menu switching.
20671 * normal/menu_viewer.c (should_return): New variable.
20672 (menu_viewer_changed): Likewise.
20673 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20674 (grub_menu_viewer_should_return): New function.
20675 (menuviewer_write_hook): Likewise.
20676 (grub_menu_viewer_init): Likewise.
20677
206782010-02-06 Colin D Bennet <colin@gibibit.com>
206792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 Support for gfxterm in a window.
20682
20683 * include/grub/gfxterm.h: New file.
20684 * include/grub/video.h (struct grub_video_rect): New declaration.
20685 (grub_video_rect_t): Likewise.
20686 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20687 (refcount): New variable.
20688 (render_target): Likewise.
20689 (window): Likewise.
20690 (repaint_callback): Likewise.
20691 (grub_virtual_screen_setup): Use 'render_target'.
20692 (init_window): New function.
20693 (grub_gfxterm_init_window): Likewise.
20694 (grub_gfxterm_init): Check reference counter.
20695 Use init_window.
20696 (destroy_window): New function.
20697 (grub_gfxterm_destroy_window): Likewise.
20698 (grub_gfxterm_fini): Check reference counter.
20699 Use destroy_window.
20700 (redraw_screen_rect): Restore viewport.
20701 Use 'render_target' and 'window'.
20702 Call 'repaint_callback'.
20703 (write_char): Use 'render_target'.
20704 (draw_cursor): Likewise.
20705 (scroll_up): Restore viewport.
20706 Use 'render_target' and 'window'.
20707 Call 'repaint_callback'.
20708 (grub_gfxterm_cls): Likewise.
20709 (grub_gfxterm_refresh): Use 'window'.
20710 (grub_gfxterm_set_repaint_callback): New function.
20711 (grub_gfxterm_background_image_cmd): Use 'window'.
20712 (grub_gfxterm_get_term): New function.
20713 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20714
207152010-02-06 Colin D Bennett <colin@gibibit.com>
20716
20717 Bitmap scaling support.
20718
20719 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20720 (bitmap_scale_mod_SOURCES): New variable.
20721 (bitmap_scale_mod_CFLAGS): Likewise.
20722 (bitmap_scale_mod_LDFLAGS): Likewise.
20723 * include/grub/bitmap_scale.h: New file.
20724 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20725 (background_image_cmd_options): New variable.
20726 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20727 (cmd): Rename and change type to ...
20728 (background_image_cmd_handle): ... this. All users updated.
20729 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20730 * video/bitmap_scale.c: New file.
20731
207322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 SDL support.
20735
20736 * Makefile.in (LIBSDL): New variable.
20737 (enable_grub_emu_sdl): Likewise.
20738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20739 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20740 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20741 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20742 * util/sdl.c: New file.
20743
207442010-02-06 Colin D Bennett <colin@gibibit.com>
207452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 Double buffering support.
20748
20749 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20750 * include/grub/video.h: Update comment.
20751 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20752 New type.
20753 (grub_video_fb_doublebuf_blit_init): New prototype.
20754 * term/gfxterm.c (scroll_up): Support double buffering.
20755 (grub_gfxterm_refresh): Likewise.
20756 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20757 (grub_video_fb_doublebuf_blit_init): Likewise.
20758 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20759 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20760 'displayed_page', 'render_page' and 'update_screen'.
20761 (grub_video_vbe_fini): Free offscreen buffer.
20762 (doublebuf_pageflipping_commit): New function.
20763 (doublebuf_pageflipping_update_screen): Likewise.
20764 (doublebuf_pageflipping_init): Likewise.
20765 (double_buffering_init): Likewise.
20766 (grub_video_vbe_setup): Enable doublebuffering.
20767 (grub_video_vbe_swap_buffers): Implement.
20768 (grub_video_vbe_set_active_render_target): Handle double buffering.
20769 (grub_video_vbe_get_active_render_target): Likewise.
20770 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20771 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20772 (grub_video_vbe_enable_double_buffering): Likewise.
20773 (grub_video_vbe_swap_buffers): Use update_screen.
20774 (grub_video_set_mode): Use double buffering.
20775
207762010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20777
20778 * maintainance/gentrigtables.py: Remove.
20779 * lib/trig.c: Likewise.
20780
20781 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20782
20783 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20784 `trigtables.c'.
20785 (trigtables.c): New rule.
20786 (gentrigtables): Likewise.
20787 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20788
207892010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20792 integer constants.
20793
207942010-02-06 Colin D Bennet <colin@gibibit.com>
20795
20796 Trigonometry support.
20797
20798 * include/grub/trig.h: New file.
20799 * lib/trig.c: Likewise.
20800 * maintainance/gentrigtables.py: Likewise.
20801 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20802 (trig_mod_SOURCES): New variable.
20803 (trig_mod_CFLAGS): Likewise.
20804 (trig_mod_LDFLAGS): Likewise.
20805
5562834e
VS
208062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20809 disk devices.
20810
4f8528fc
VS
208112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20812
20813 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20814 error.
20815
2b4068e9
VS
208162010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * util/hostdisk.c (open_device): Don't use partition device when reading
20819 before the partition.
20820 (grub_util_biosdisk_read): Don't read from partition and before the
20821 partition in single operation.
20822 (grub_util_biosdisk_write): Don't write to partition and before the
20823 partition in single operation.
20824
399f6e4d
TL
208252010-02-03 Torsten Landschoff <torsten@debian.org>
20826
20827 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20828 last sectors.
20829
996649b0
VS
208302010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20833 CDROM reads.
20834 (grub_biosdisk_write): Refuse to write to CDROM.
20835
3b205d4d
VS
208362010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20839
61e89d9d
VS
208402010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * font/font.c (find_glyph): Check that bmp_idx is available before
20843 using it.
20844 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20845 with (font == NULL).
20846
bf7fcba2
CS
208472010-01-28 Christian Schmitt <chris@ilovelinux.de>
20848
20849 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20850
f45d2663
BC
208512010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20852
20853 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20854 * util/grub-script-check.c (getline): Fix empty lines case.
20855
ec1444e6
RM
208562010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20857
20858 * Makefile.in (check): Exit with fail status when one of the tests
20859 fails.
20860 * tests/example_functional_test.c (example_test): Fix reversed assert.
20861 * tests/example_unit_test.c (example_test): Likewise.
20862
2e1cb9bb
CW
208632010-01-28 Colin Watson <cjwatson@ubuntu.com>
20864
20865 * util/grub.d/10_linux.in: This script does not use any of the
20866 contents of gettext.sh, only the external command `gettext', so stop
20867 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20868 the same prefix as GRUB.)
20869 * util/grub.d/10_kfreebsd.in: Likewise.
20870
63533ab0
VS
208712010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20874 of the line.
20875
989e1f93
VS
208762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20879 last sectors.
20880
e709ebe2
VS
208812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20884 having a 4KiB and not 32KiB buffer size.
20885
27dea7ed
RM
208862010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20887
20888 * util/hostfs.c: Include `<errno.h>'.
20889 (grub_hostfs_read): Handle errors from fseeko() and fread().
20890
67667b9c
RM
208912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20894 loop when using read hooks on files whose size isn't sector-aligned.
20895
c294d9d8
RM
208962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20897
20898 Remove unused parameter.
20899
20900 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20901 (grub_iso9660_open): Remove initialization of `data->length'.
20902
af75a9f1
RM
209032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20904
20905 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20906 memleak conditions.
20907
254e2ce5 209082010-01-27 Carles Pina i Estany <carles@pina.cat>
20909
20910 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20911 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20912
b510928c 209132010-01-26 Carles Pina i Estany <carles@pina.cat>
20914
20915 * util/bin2h.c (usage): Fix warning (space after backslash).
20916
aa2f9dd2 209172010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20918
20919 * font/font.c: Include `grub/fontformat.h.
20920 Remove font file format constants.
20921 (grub_font_load): Use the new macros.
20922 * include/grub/fontformat.h: New file.
20923 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20924 (write_font_pf2): Use the new macros.
20925
94e7e712
RM
209262010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20927
20928 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20929 does.
20930
3973a59a
RM
209312010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20932
20933 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20934
20935 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20936 (_start): Macroify `0x7F'.
20937
20938 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20939 (make_install_device): Use "(pxe)" as fallback prefix when booting
20940 via PXE.
20941
42e0cba3
GS
209422010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * configure.ac: Reset LIBS after check for libgcc symbols.
20945
847effd8
CW
209462010-01-25 Colin Watson <cjwatson@ubuntu.com>
20947
20948 * util/hostdisk.c (open_device): Add trailing newline to debug
20949 message.
20950
ea4a7e35
GS
209512010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20952
20953 * configure.ac: Check for `limits.h'.
20954 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20955
67951a53
RM
209562010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20957
20958 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20959 capitalize error strings.
20960
c273d4ce
ST
209612010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20962
20963 * util/grub.d/10_hurd.in: Add a recovery mode.
20964
69be5b74
VS
209652010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 * configure.ac: Check for libgcc symbols with -nostdlib.
20968
fc9e5810
BC
209692010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20970
20971 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20972
4b358c0a
VS
209732010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20976 stack since heap may be unavailable at that point.
20977 (grub_ofconsole_gotoxy): Likewise.
20978
454fcd1c
VS
209792010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 * configure.ac: Check for _restgpr_14_x.
20982 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20983 and _savegpr_* prototypes.
20984
566863ca
RM
209852010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20986
20987 Use generic grub_reboot() for i386-efi.
20988
20989 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20990 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20991 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20992
bf86e59a
VS
209932010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20996 presence of "prefix" variable as it breaks when normal.mod is
20997 embedded.
20998
d645e0f8
VS
209992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21002 stack since heap is unavailable at that point.
21003
f9ab2e25
VS
210042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21007 (grub_freebsd_bootinfo): Rewritten.
21008 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21009
01fc7054
VS
210102010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21013
caab4fd6
RM
210142010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21015
21016 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21017 domain now.
21018
67eb1427
FZ
210192010-01-20 Felix Zielcke <fzielcke@z-51.de>
21020
21021 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21022 around for handling "/" to the correct fix. Fix a memory leak. Use
21023 xstrdup instead of strdup.
21024
a9ed4ff3
VS
210252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21028
210292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21030
21031 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21032
21033 * font/font.c (struct grub_font): New member 'bmp_idx'.
21034 (font_init): Initialise 'bmp_idx'.
21035 (load_font_index): Fill 'bmp_idx'.
21036 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21037
48209f4f
VS
210382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21041 unnecessary calls.
21042
9f0a4bb7
VS
210432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21044
21045 Move context handling out of the kernel.
21046
21047 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21048 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21049 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21050 * conf/i386-efi.rmk: Likewise.
21051 * conf/i386-ieee1275.rmk: Likewise.
21052 * conf/i386-pc.rmk: Likewise.
21053 * conf/powerpc-ieee1275.rmk: Likewise.
21054 * conf/sparc64-ieee1275.rmk: Likewise.
21055 * conf/x86_64-efi.rmk: Likewise.
21056 * include/grub/env.h: Include grub/menu.h.
21057 (grub_env_var_type): Removed.
21058 (grub_env_var): Replaced field 'type' with 'global'.
21059 (grub_env_find): New prototype.
21060 (grub_env_context_open): Remove EXPORT_FUNC.
21061 (grub_env_context_close): Likewise.
21062 (grub_env_export): Likewise.
21063 (grub_env_set_data_slot): Removed.
21064 (grub_env_get_data_slot): Likewise.
21065 (grub_env_unset_data_slot): Likewise.
21066 (grub_env_unset_menu): New prototype.
21067 (grub_env_set_menu): Likewise.
21068 (grub_env_get_menu): Likewise.
21069 * include/grub/env_private.h: New file.
21070 * include/grub/normal.h (grub_context_init): New prototype.
21071 (grub_context_fini): Likewise.
21072 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21073 * normal/context.c (grub_cmd_export): ... to here.
21074 * kern/env.c: Include env_private.h.
21075 (HASHSZ): Moved to include/grub/env_private.h.
21076 (grub_env_context): Likewise.
21077 (grub_env_sorted_var): Likewise.
21078 (current_context): Renamed from this ...
21079 (grub_current_context): ...to this. 'static' removed. All users updated.
21080 (grub_env_find): Removed 'static'.
21081 (grub_env_context_open): Moved to normal/context.c.
21082 (grub_env_context_close): Likewise.
21083 (grub_env_export): Likewise.
21084 (mangle_data_slot_name): Removed.
21085 (grub_env_set_data_slot): Likewise.
21086 (grub_env_get_data_slot): Likewise.
21087 (grub_env_unset_data_slot): Likewise.
21088 * kern/main.c (grub_set_root_dev): Don't export root.
21089 It will be done later.
21090 (grub_main): Don't export prefix.
21091 It will be done later.
21092 * normal/context.c: New file.
21093 * normal/main.c (free_menu): Use grub_env_unset_menu.
21094 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21095 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21096 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21097 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21098
8dd35b8c
VS
210992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 setpci support.
21102
21103 * commands/setpci.c: New file.
21104 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21105 (setpci_mod_SOURCES): New variable.
21106 (setpci_mod_CFLAGS): Likewise.
21107 (setpci_mod_LDFLAGS): Likewise.
21108
449193d5
VS
211092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 Byte-addressable PCI configuration space.
21112
21113 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21114 dword address.
21115 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21116 GRUB_PCI_REG_CACHELINE.
21117 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21118 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21119 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21120 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21121 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21122 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21123 grub_pci_make_address.
21124 (lock_rom_area): Likewise.
21125 * commands/lspci.c (grub_lspci_iter): Use macroses
21126 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21127 of grub_pci_make_address.
21128 * disk/ata.c (grub_ata_pciinit): Likewise.
21129 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21130 (GRUB_PCI_REG_VENDOR): Likewise.
21131 (GRUB_PCI_REG_DEVICE): Likewise.
21132 (GRUB_PCI_REG_COMMAND): Likewise.
21133 (GRUB_PCI_REG_STATUS): Likewise.
21134 (GRUB_PCI_REG_REVISION): Likewise.
21135 (GRUB_PCI_REG_CLASS): Likewise.
21136 (GRUB_PCI_REG_CACHELINE): Likewise.
21137 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21138 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21139 (GRUB_PCI_REG_BIST): Likewise.
21140 (GRUB_PCI_REG_ADDRESSES): Likewise.
21141 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21142 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21143 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21144 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21145 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21146 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21147 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21148 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21149 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21150 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21151 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21152 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21153 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21154 (GRUB_PCI_REG_MIN_GNT): Likewise.
21155 (GRUB_PCI_REG_MAX_LAT): Likewise.
21156 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21157 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21158 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21159 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21160 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21161 space.
21162
96d73208
RM
211632010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21164
21165 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21166 can be reliably determined to be supported.
21167
d4484482
RM
211682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21169
21170 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21171 that VESA is supported.
21172 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21173 supported.
21174
00308ecf
VS
211752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21178
f66924a4
RM
211792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 * util/misc.c (make_system_path_relative_to_its_root): Work around
21182 special-casing of "/", as previous incarnation of this routine did.
21183
cbca0ada
VS
211842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21185
21186 Fix any-emu compilation.
21187
21188 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21189 * grub_bin2h_SOURCES: New variable.
21190
34a66d99
RM
211912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21192
21193 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21194
94fabf58
RM
211952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21196
21197 * util/grub.d/00_header.in: Fix handling of locale_dir.
21198
02cf98ca
VS
211992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21202 as possible unifont location (Gentoo).
21203 Reported by: Alexander Brüning
21204
327dbcd7
VS
212052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 Don't try to generate lists for kernel.img.
21208
21209 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21210 (pkglib_MODULES): Remove kernel.img.
21211 (kernel_img_EXPORTS): Removed.
21212 (kernel_img_RELOCATABLE): New variable.
21213 * conf/x86_64-efi.rmk: Likewise.
21214 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21215
ca467290
VS
212162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21219 grub_xasprintf or grub_snprintf.
21220 (grub_vsprintf): Likewise.
21221 (grub_snprintf): New proto.
21222 (grub_vsnprintf): Likewise.
21223 (grub_xasprintf): Likewise.
21224 (grub_xvasprintf): Likewise.
21225 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21226 (grub_sprintf): Removed.
21227 (grub_vsnprintf): New function.
21228 (grub_snprintf): Likewise.
21229 (grub_xvasprintf): Likewise.
21230 (grub_xasprintf): Likewise.
21231 (grub_vsprintf): Renamed to ...
21232 (grub_vsnprintf_real): ...this. New argument max_len.
21233
aca655fd
BC
212342010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21235
21236 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21237 fix grub-script-check warning.
21238
7ee92c32
VS
212392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * include/grub/font.h (grub_font_load): Fix prototype.
21242
f80927ca
VS
212432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21246
119c50ea
VS
212472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 * include/grub/x86_64/at_keyboard.h: New file.
21250
47d5f3c1
VS
212512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * loader/mips/linux.c: Include missing grub/i18n.h.
21254
55ff5266
RM
212552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21256
21257 * normal/menu.c (notify_execution_failure): Clarify error message.
21258
c893cc87
RM
212592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21260
21261 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21262 return value (and revert all return statements). Update users.
21263
917dd370
CW
212642010-01-20 Dan Merillat <debian@dan.merillat.org>
21265
21266 * kern/device.c (grub_device_iterate): Allocate new part_ent
21267 structure based on sizeof (*p) rather than sizeof (p->next), to
21268 account for structure padding.
21269
21270 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21271 disk is NULL, which might happen for LVM physical volumes with no
21272 LVM signature.
21273
d4a4ee57
RM
212742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21275
21276 * loader/mips/linux.c (grub_cmd_initrd)
21277 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21278
212792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21280
21281 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21282 (grub_video_video_init, grub_video_bitmap_init)
21283 (grub_font_manager_init, grub_term_gfxterm_init)
21284 (grub_at_keyboard_init): New extern declarations.
21285 (grub_machine_init): Initialize gfxterm and at_keyboard.
21286
21287 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21288
21289 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21290 `gfxterm.mod' into core image.
21291
21292 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21293 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21294 (kernel_img_FORMAT): Copy to ...
21295
21296 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21297 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21298 (kernel_img_FORMAT): ... here, and ...
21299
21300 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21301 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21302 (kernel_img_FORMAT): ... here.
21303
21304 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21305 and input (at_keyboard) terminals in kernel.
21306 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21307
21308 (pkglib_MODULES): Remove `pci.mod'.
21309 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21310 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21311 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21312 (at_keyboard_mod_LDFLAGS): Remove variables.
21313
213142010-01-11 Felix Zielcke <fzielcke@z-51.de>
21315
21316 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21317
213182009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21319
21320 * include/grub/mips/libgcc.h: Only export symbols for functions
21321 that libgcc provides.
21322
213232009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 MIPS support.
21326
21327 * bus/bonito.c: New file.
21328 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21329 GRUB_PCI_NUM_DEVICES.
21330 * term/i386/pc/serial.c: Move to ...
21331 * term/serial.c: ... here. All users updated.
21332 * util/i386/pc/grub-mkimage.c: Move to ...
21333 * util/grub-mkrawimage.c: ... here. All users updated.
21334 * term/i386/pc/at_keyboard.c: Move to ...
21335 * term/at_keyboard.c: ... here. All users updated.
21336 * conf/mips-qemu-mips.rmk: New file.
21337 * conf/mips-yeeloong.rmk: Likewise.
21338 * conf/mips.rmk: Likewise.
21339 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21340 mipsel-qemu-mips.
21341 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21342 to port addresses.
21343 (grub_ata_pciinit): Support CS5536.
21344 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21345 * font/font_cmd.c (loadfont_command): Open file before passing it to
21346 grub_font_load.
21347 (pseudo_file_read): New function.
21348 (pseudo_file_close): Likewise.
21349 (pseudo_fs): New structure.
21350 (load_font_module): New function.
21351 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21352 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21353 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21354 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21355 * include/grub/i386/at_keyboard.h: Split into ...
21356 * include/grub/at_keyboard.h: ... this ...
21357 * include/grub/i386/at_keyboard.h: ... and this.
21358 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21359 New prototype.
21360 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21361 updated.
21362 (grub_elf64_size): Likewise.
21363 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21364 filename.
21365 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21366 * include/grub/i386/coreboot/serial.h: Rewritten.
21367 * include/grub/i386/ieee1275/serial.h: Include
21368 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21369 * include/grub/i386/pc/serial.h: Moved from here ...
21370 * include/grub/serial.h: ... to here. All users updated.
21371 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21372 (GRUB_PCI_NUM_BUS): Likewise.
21373 (GRUB_PCI_NUM_DEVICES): Likewise.
21374 (grub_pci_device_map_range): Add missing volatile keyword.
21375 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21376 * include/grub/mips/at_keyboard.h: New file.
21377 * include/grub/mips/cache.h: Likewise.
21378 * include/grub/mips/io.h: Likewise.
21379 * include/grub/mips/kernel.h: Likewise.
21380 * include/grub/mips/libgcc.h: Likewise.
21381 * include/grub/mips/pci.h: Likewise.
21382 * include/grub/mips/qemu-mips/boot.h: Likewise.
21383 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21384 * include/grub/mips/qemu-mips/loader.h: Likewise.
21385 * include/grub/mips/qemu-mips/memory.h: Likewise.
21386 * include/grub/mips/qemu-mips/serial.h: Likewise.
21387 * include/grub/mips/qemu-mips/time.h: Likewise.
21388 * include/grub/mips/relocator.h: Likewise.
21389 * include/grub/mips/time.h: Likewise.
21390 * include/grub/mips/types.h: Likewise.
21391 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21392 * include/grub/mips/yeeloong/boot.h: Likewise.
21393 * include/grub/mips/yeeloong/kernel.h: Likewise.
21394 * include/grub/mips/yeeloong/loader.h: Likewise.
21395 * include/grub/mips/yeeloong/memory.h: Likewise.
21396 * include/grub/mips/yeeloong/pci.h: Likewise.
21397 * include/grub/mips/yeeloong/serial.h: Likewise.
21398 * include/grub/mips/yeeloong/time.h: Likewise.
21399 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21400 * kern/elf.c (grub_elf32_size): New parameter. All users
21401 updated.
21402 (grub_elf64_size): Likewise.
21403 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21404 Load modules before saying "Welcome to GRUB!".
21405 Call grub_refresh after saying "Welcome to GRUB!".
21406 * kern/mips/cache.S: New file.
21407 * kern/mips/cache_flush.S: Likewise.
21408 * kern/mips/dl.c: Likewise.
21409 * kern/mips/init.c: Likewise.
21410 * kern/mips/qemu-mips/init.c: Likewise.
21411 * kern/mips/startup.S: Likewise.
21412 * kern/mips/yeeloong/init.c: Likewise.
21413 * kern/term.c (grub_putcode): Handle NULL terminal.
21414 (grub_getcharwidth): Likewise.
21415 (grub_getkey): Likewise.
21416 (grub_checkkey): Likewise.
21417 (grub_getkeystatus): Likewise.
21418 (grub_getxy): Likewise.
21419 (grub_getwh): Likewise.
21420 (grub_gotoxy): Likewise.
21421 (grub_cls): Likewise.
21422 (grub_setcolorstate): Likewise.
21423 (grub_setcolor): Likewise.
21424 (grub_getcolor): Likewise.
21425 (grub_refresh): Likewise.
21426 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21427 (write_jump): Add hatch nop.
21428 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21429 * lib/mips/setjmp.S: New file.
21430 * loader/mips/linux.c: Likewise.
21431 * term/i386/pc/at_keyboard.c: Move from here ...
21432 * term/at_keyboard.c: ... to here.
21433 * term/i386/pc/serial.c: Moved from here ...
21434 * term/serial.c: ... to here. All users updated.
21435 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21436 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21437 (serial_translate_key_sequence): Avoid deadlock.
21438 (grub_serial_getkey): Handle backspace.
21439 (grub_serial_putchar): Fix newline handling.
21440 * util/i386/pc/grub-mkimage.c: Move from here ...
21441 * util/grub-mkrawimage.c: ... to here. All users updated.
21442 (generate_image): New parameters 'font_path' and 'format'.
21443 Support embedding font.
21444 Use grub_host_to_target* instead of grub_cpu_to_le*.
21445 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21446 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21447 (options): New option "--font".
21448 (usage): Likewise.
21449 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21450 (main): Handle "--font".
21451 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21452 (grub_virtual_screen_setup): Set bg_color_display.
21453 (redraw_screen_rect): Use bg_color_display instead of incorrect
21454 bg_color.
21455 (grub_gfxterm_cls): Likewise.
21456 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21457 Support embedding config file.
21458 (add_segments): Likewise.
21459 (options): New option "--config".
21460 (main): Handle "--config".
21461 * video/sm712.c: New file.
21462
25c2b5b3
RM
214632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21464
21465 Fix parallel builds.
21466
21467 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21468 font.c depend on ascii.h).
21469
214702010-01-12 Carles Pina i Estany <carles@pina.cat>
21471
21472 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21473
214742010-01-11 Carles Pina i Estany <carles@pina.cat>
21475
21476 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21477 By default: disabled.
21478 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21479 parameter.
21480
214812010-01-10 Carles Pina i Estany <carles@pina.cat>
21482
21483 * font/font.c: Update copyright years.
21484 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21485
214862010-01-10 Carles Pina i Estany <carles@pina.cat>
21487
21488 * font/font.c: Include `ascii.h'.
21489 (ASCII_BITMAP_SIZE): New macro.
21490 (ascii_font_glyph): Define.
21491 (ascii_glyph_lookup): New function.
21492 (grub_font_get_string_width): Change comment. If glyph not found, use
21493 ascii_glyph_lookup.
21494 (grub_font_get_glyph_with_fallback): If glyph not available returns
21495 ascii_glyph_lookup.
21496 * util/grub-mkfont.c (file_formats): New enum.
21497 (options): Add `ascii-bitmaps' new option.
21498 (usage): Add `asii-bitmaps' new option.
21499 (write_font_ascii_bitmap): New function.
21500 (write_font): Rename to ...
21501 (write_font_p2): ... this. Remove print_glyphs call.
21502 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21503 used. Call print_glyphs.
21504 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21505
215062010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21507
21508 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21509 (grub_bin2h_SOURCES): New variable.
21510 * util/bin2h.c: New file.
21511
915fc1b8
VS
215122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21513
21514 * include/multiboot.h: Resynced with spec.
21515 * include/multiboot2.h: Likewise.
21516 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21517 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21518
9444b678
RM
215192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21520
21521 * include/grub/term.h (grub_term_register_input,
21522 grub_term_register_output): Check return of terminal init()
21523 routines, and abort if errors are raised.
21524
21525 * commands/terminal.c: Update copyright year.
21526
cba98e8d
RM
215272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21528
21529 * commands/terminal.c (grub_cmd_terminal_input)
21530 (grub_cmd_terminal_output): Check return of terminal init()
21531 routines, and abort if errors are raised.
21532
6f7db5d6
VS
215332010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * include/grub/i386/bsd.h: Fix include pathes.
21536
262bff8d
VS
215372010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 Add missing *BSD copyright headers.
21540
21541 * include/grub/aout.h: Add BSD licence.
21542 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21543 * include/grub/i386/freebsd_linker.h: ... here,
21544 * include/grub/i386/freebsd_reboot.h: ... here,
21545 * include/grub/i386/netbsd_bootinfo.h: ... here,
21546 * include/grub/i386/netbsd_reboot.h: ... here,
21547 * include/grub/i386/openbsd_bootarg.h: ... here,
21548 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21549 licence to each file.
21550
b2cab848
RM
215512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21552
21553 * acinclude.m4: Remove `nop' assembly instruction; it's not
21554 implemented by all architectures.
21555
2cb6be4b
RM
215562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21557
21558 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21559 ELILO. This is no longer necessary.
21560
a2eaee15
BC
215612010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21562
21563 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21564
21565 * util/grub-script-check.c: grub-script-check tool.
21566 * conf/common.rmk: Make rules for grub-script-check.
21567
88d17012
RM
215682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21569
21570 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21571 spotting it back in 2008. Shame on me for forgetting he did.
21572
21573 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21574
8040619d
RM
215752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21576
21577 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21578 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21579 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21580 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21581 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21582 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21583
a0c2a0f6
RM
215842010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21585
21586 * include/grub/test.h: Add license header.
21587 * tests/example_functional_test.c: Likewise.
21588 * tests/example_unit_test.c: Likewise.
21589 * tests/lib/functional_test.c: Likewise.
21590 * tests/lib/test.c: Likewise.
21591 * tests/lib/unit_test.c: Likewise.
21592
b0b13907
VS
215932010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 Use flag-based instead of hook-based video mode selection and "auto"
21596 keyword.
21597
21598 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21599 (grub_video_set_mode): Changed prototype. All users updated.
21600 (grub_video_check_mode_flag): New inline function.
21601 * video/video.c (parse_modespec): New function.
21602 (grub_video_set_mode): Parse flags and keywords.
21603
ea379330 216042010-01-17 Carles Pina i Estany <carles@pina.cat>
21605
21606 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21607 fprintf call.
21608
e15c215e
FZ
216092010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21610
21611 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21612
409ae1c9 216132010-01-16 Carles Pina i Estany <carles@pina.cat>
21614
21615 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21616 string.
21617 * util/grub-emu.c (usage): Likewise.
21618 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21619 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21620 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21621 * util/i386/pc/grub-setup.c (usage): Likewise.
21622
70a14d3d 216232010-01-16 Carles Pina i Estany <carles@pina.cat>
21624
21625 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21626 the message.
21627 (grub_util_info): Likewise.
21628 (grub_util_error): Likewise.
21629 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21630 and/or new lines in `grub_util_warna', `grub_util_info',
21631 `grub_util_error' calls.
21632 * util/getroot.c: Likewise.
21633 * util/grub-editenv.c: Likewise.
21634 * util/grub-emu.c: Likewise.
21635 * util/grub-fstest.c: Likewise.
21636 * util/grub-mkdevicemap.c: Likewise.
21637 * util/grub-mkfont.c: Likewise.
21638 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21639 * util/grub-mkrelpath.c: Likewise.
21640 * util/grub-pe2elf.c: Likewise.
21641 * util/grub-probe.c: Likewise.
21642 * util/hostdisk.c: Likewise.
21643 * util/i386/efi/grub-mkimage.c: Likewise.
21644 * util/i386/pc/grub-mkimage.c: Likewise.
21645 * util/i386/pc/grub-setup.c: Likewise.
21646 * util/ieee1275/ofpath.c: Likewise.
21647 * util/mkisofs/eltorito.c: Likewise.
21648 * util/mkisofs/rock.c: Likewise.
21649 * util/mkisofs/write.c: Likewise.
21650 * util/raid.c: Likewise.
21651 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21652 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21653
a0b766fc
VS
216542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 Enable multiboot on non-pc.
21657
21658 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21659 multiboot.mod and multiboot2.mod to ...
21660 * conf/i386.rmk (pkglib_MODULES): ... here.
21661 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21662 Moved to ...
21663 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21664 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21665 Moved to ...
21666 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21667 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21668 Moved to ...
21669 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21670 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21671 Moved to ...
21672 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21673 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21674 relocator.mod.
21675 (ata_mod_SOURCES): Removed.
21676 (ata_mod_CFLAGS): Likewise.
21677 (ata_mod_LDFLAGS): Likewise.
21678 (relocator_mod_SOURCES): Removed.
21679 (relocator_mod_CFLAGS): Likewise.
21680 (relocator_mod_ASFLAGS): Likewise.
21681 (relocator_mod_LDFLAGS): Likewise.
21682 Include i386.mk.
21683 * include/grub/x86_64/multiboot.h: New file.
21684 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21685 Terminate EFI.
21686
884ade56
VS
216872010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21688
21689 Video multiboot support.
21690
21691 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21692 New prototype.
21693 * include/multiboot.h: Resynced with multiboot specification.
21694 * include/multiboot2.h: Likewise.
21695 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21696 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21697 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21698 (HAS_VGA_TEXT): Likewise.
21699 (accepts_video): New variable.
21700 (grub_multiboot_set_accepts_video): New function.
21701 (grub_multiboot_get_mbi_size): Account for video structures.
21702 (set_video_mode): New function.
21703 (retrieve_video_parameters): Likewise.
21704 (grub_multiboot_make_mbi): Fill video fields.
21705
0d90e8a6
VS
217062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 Video driver ids.
21709
21710 * include/grub/video.h (grub_video_driver_id): New type.
21711 (grub_video_adapter): New member 'id'. All users updated.
21712 (grub_video_get_driver_id): New proto.
21713 * video/video.c (grub_video_get_driver_id): New function.
21714
5c71db1b 217152010-01-14 Carles Pina i Estany <carles@pina.cat>
21716
21717 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21718 `var=val'.
21719
cca15b52 217202010-01-14 Carles Pina i Estany <carles@pina.cat>
21721
21722 * normal/cmdline.c (print_completion): Gettextizze.
21723
c586fbb2 217242001-01-14 Carles Pina i Estany <carles@pina.cat>
21725
21726 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21727
ba2f6848 217282010-01-14 Carles Pina i Estany <carles@pina.cat>
21729
21730 * gettext/gettext.c (grub_gettext_translate): Push and pop
21731 grub_errno.
21732 (grub_gettext_delete_list): Change comment style.
21733 * kern/err.c (grub_error): Gettextizze.
21734 (grub_fatal): Gettextizze.
21735
0a46429a
RM
217362010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21737
21738 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21739 (grub_linux16_real_boot): ... this.
21740 * kern/i386/loader.S: Likewise.
21741 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21742 (grub_linux16_boot): New function. Switches to text mode and calls
21743 grub_linux16_real_boot().
21744
21745 * loader/i386/bsd.c: Include `<grub/video.h>'.
21746 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21747 text mode before calling grub_unix_real_boot().
21748
21749 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21750 (grub_multiboot_boot): Switch to text mode before calling
21751 grub_relocator32_boot().
21752
21753 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21754 (grub_chainloader_boot): Switch to text mode before calling
21755 grub_chainloader_real_boot().
21756
d6f93a66
RM
217572010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
217582010-01-05 Colin Watson <cjwatson@ubuntu.com>
21759
21760 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21761 non-empty value.
21762
217632010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
217642010-01-05 Colin Watson <cjwatson@ubuntu.com>
21765
21766 * util/grub.d/00_header.in: Define a "savedefault" function for use
21767 in menu entries.
21768 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21769
217702010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
217712010-01-05 Colin Watson <cjwatson@ubuntu.com>
21772
21773 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21774 saved_entry if boot_once is unset.
21775 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21776 previous saved entry (i.e. grub-reboot).
21777
217782009-12-08 Colin Watson <cjwatson@ubuntu.com>
21779
21780 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21781
217822009-12-08 Colin Watson <cjwatson@ubuntu.com>
21783
21784 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21785 `var=val'.
21786 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21787
217882009-12-08 Colin Watson <cjwatson@ubuntu.com>
21789
21790 * util/grub-reboot.in: Fix --version output.
21791 * util/grub-set-default.in: Likewise.
21792
217932009-12-08 Colin Watson <cjwatson@ubuntu.com>
21794
21795 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21796 blocks.
21797
217982009-12-08 Colin Watson <cjwatson@ubuntu.com>
21799
21800 * util/grub.d/00_header.in: Quote the value assigned to `default',
21801 in case it contains spaces.
21802
218032009-12-08 Colin Watson <cjwatson@ubuntu.com>
21804
21805 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21806 `save_default_entry' call from the macosx case to the linux case.
21807
218082009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
218092009-10-25 Colin Watson <cjwatson@ubuntu.com>
21810
21811 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21812 in `chosen' environment variable.
21813 * normal/menu_text.c (get_entry_number): Check if the variable
21814 matches the title of a menu entry.
21815 (run_menu): Pass menu to get_entry_number.
21816
21817 * util/grub-reboot.in: New file.
21818 * util/grub-set-default.in: New file.
21819 * conf/common.rmk (grub-reboot): New utility.
21820 (grub-set-default): New utility.
21821
21822 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21823 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21824 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21825 move it to `saved_entry' for the next boot. Load environment on
21826 initialisation.
21827 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21828 * util/grub.d/10_hurd.in: Likewise.
21829 * util/grub.d/10_linux.in (linux_entry): Likewise.
21830 * util/grub.d/10_windows.in: Likewise.
21831 * util/grub.d/30_os-prober.in: Likewise.
21832
21833 * util/grub-install.in: Create environment block.
21834 * util/i386/efi/grub-install.in: Likewise.
21835 * util/ieee1275/grub-install.in: Likewise.
21836 * util/sparc64/ieee1275/grub-install.in: Likewise.
21837
0934d184
BC
218382010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21839
21840 Unit testing framework for GRUB.
21841
21842 * Makefile.in: Test framework build rules for 'make check'.
21843 * conf/tests.rmk: Build rules for individual tests and framework.
21844
21845 * include/grub/test.h: Header file for whitebox tests.
21846 * tests/lib/functional_test.c: Framework support for whitebox
21847 functional tests.
21848 * tests/lib/test.c: Common whitebox testing code for unit and
21849 functional tests.
21850 * tests/lib/unit_test.c: Framework support for whitebox unit
21851 tests.
21852
21853 * tests/util/grub-shell-tester.in: Support utility for grub-script
21854 tests.
21855 * tests/util/grub-shell.in: Utility to execute grub-script
21856 commands in a Qemu instance.
21857
21858 * tests/example_functional_test.c: Example whitebox functional
21859 test.
21860 * tests/example_grub_script_test.in: Example grub-script test.
21861 * tests/example_scripted_test.in: Example scripted test.
21862 * tests/example_unit_test.c: Example whitebox unit test.
21863
9c4ffeeb
VS
218642010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21865
21866 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21867 Add loader/i386/multiboot_mbi.c.
21868 (multiboot2_mod_SOURCES): Likewise.
21869 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21870 (multiboot2_mod_SOURCES): Likewise.
21871 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21872 (grub_multiboot_make_mbi): Likewise.
21873 (grub_multiboot_free_mbi): Likewise.
21874 (grub_multiboot_init_mbi): Likewise.
21875 (grub_multiboot_add_module): Likewise.
21876 (grub_multiboot_set_bootdev): Likewise.
21877 * loader/i386/multiboot.c (mbi): Removed.
21878 (mbi_dest): Likewise.
21879 (alloc_mbi): New variable.
21880 (grub_multiboot_payload_size): Removed. All users updated.
21881 (grub_multiboot_pure_size): New variable.
21882 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21883 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21884 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21885 (grub_fill_multiboot_mmap): Likewise.
21886 (grub_multiboot_get_bootdev): Likewise.
21887 (grub_multiboot): Use multiboot_mbi functions.
21888 * loader/i386/multiboot_mbi.c: New file.
21889
17383dfe
VS
218902010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21893 it would result in module crash.
21894
c1f28820
VS
218952010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21898 (grub_ofconsole_getwh): Split to ...
21899 (grub_ofconsole_getwh): ... this.
21900 (grub_ofconsole_dimensions): ...and this.
21901 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21902
58655a16
RM
219032010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21904
21905 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21906
10891398
VS
219072010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21908
21909 * loader/i386/pc/multiboot2.c: Removed stalled file.
21910
0b8a223c
VS
219112010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21912
21913 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21914 Reported by: Grégoire Sutre
21915
92ab12b0
RM
219162010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21917
21918 * util/misc.c (canonicalize_file_name): New function.
21919 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21920 instead of realpath().
21921
a788afb6
CW
219222010-01-11 Colin Watson <cjwatson@ubuntu.com>
21923
21924 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21925 and make it clearer that it's optional. Based on confusion
21926 witnessed on IRC.
21927
ffa8e3d2
VS
219282010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21931 in premature implicit newline.
21932
e9060a9d
VS
219332010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21936 which resulted in garbled command line at the end of screen.
21937
f0d0c0b7
RM
219382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21939
21940 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21941 initialization with similar approach as with other Linux loaders.
21942
0e60bae7
RM
219432010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21944
21945 Fix i386-ieee1275 build.
21946
21947 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21948 and grub_term_height() for video_{width,height} initialization.
21949
219502010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21951
21952 Fix grub-emu build.
21953
21954 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21955
cdb3f378
RM
219562010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
219572010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21958
21959 Support for multiple terminals.
21960
21961 * Makefile.in (pkglib_DATA): terminal.lst.
21962 (terminal.lst): New target.
21963 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21964 (GRUB_MOD_INIT(handler)): Likewise.
21965 (GRUB_MOD_FINI(handler)): Likewise.
21966 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21967 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21968 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21969 (grub_cmd_sleep): Use grub_term_save_pos.
21970 * commands/terminal.c: New file.
21971 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21972 commands/terminal.c and lib/charset.c.
21973 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21974 (pkglib_MODULES): Add terminal.mod.
21975 (terminal_mod_SOURCES): New variable.
21976 (terminal_mod_CFLAGS): Likewise.
21977 (terminal_mod_LDFLAGS): Likewise.
21978 * genhandlerlist.sh: Don't handle terminals.
21979 * genmk.rb: Generate terminal-*.lst.
21980 * genterminallist.sh: New file.
21981 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21982 (grub_is_valid_utf8): Likewise.
21983 (grub_utf8_to_ucs4_alloc): Likewise.
21984 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21985 (grub_menu_register_viewer): Changed argument.
21986 (grub_menu_try_text): New proto.
21987 (grub_gfxmenu_try_hook): New declaration.
21988 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21989 (grub_menu_init_page): Additional argument term.
21990 (grub_normal_init_page): Likewise.
21991 (grub_cmdline_get): Arguments simplified.
21992 (grub_utf8_to_ucs4_alloc): Removed.
21993 (grub_print_ucs4): Additional argument term.
21994 (grub_getstringwidth): Likewise.
21995 (grub_print_message_indented): Likewise.
21996 (grub_menu_text_register_instances): New proto.
21997 (grub_show_menu): Likewise.
21998 (read_terminal_list): Likewise.
21999 (grub_set_more): Likewise.
22000 * include/grub/parser.h: Include handler.h.
22001 * include/grub/reader.h: Rewritten.
22002 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22003 (GRUB_TERM_WIDTH): Changed to function.
22004 (GRUB_TERM_HEIGHT): Likewise.
22005 (GRUB_TERM_BORDER_WIDTH): Likewise.
22006 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22007 (GRUB_TERM_NUM_ENTRIES): Likewise.
22008 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22009 (GRUB_TERM_CURSOR_X): Likewise.
22010 (grub_term_input_class): Likewise.
22011 (grub_term_output_class): Likewise.
22012 (grub_term_outputs_disabled): New declaration.
22013 (grub_term_inputs_disabled): Likewise.
22014 (grub_term_outputs): Likewise.
22015 (grub_term_inputs): Likewise.
22016 (grub_term_register_input): Rewritten.
22017 (grub_term_register_output): Likewise.
22018 (grub_term_unregister_input): Likewise.
22019 (grub_term_unregister_output): Likewise.
22020 (FOR_ACTIVE_TERM_INPUTS): New macro.
22021 (FOR_DISABLED_TERM_INPUTS): Likewise.
22022 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22023 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22024 * include/grub/terminfo.h: Add oterm argument to all protypes.
22025 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22026 Use grub_rescue_run.
22027 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22028 All users updated.
22029 * kern/reader.c: Removed. All users updated.
22030 * kern/rescue_reader.c (grub_rescue_init): Removed.
22031 (grub_rescue_reader): Likewise.
22032 (grub_register_rescue_reader): Likewise.
22033 (grub_rescue_run): New function based on kern/reader.c.
22034 * kern/term.c: Adapted for multiterm.
22035 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22036 (grub_is_valid_utf8): Likewise.
22037 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22038 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22039 right terminal.
22040 * loader/i386/linux.c (grub_linux_boot): Likewise.
22041 * normal/auth.c (grub_username_get): New function.
22042 (grub_auth_check_authentication): Use grub_username_get.
22043 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22044 * normal/color.c: Adapt for multiterm.
22045 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22046 (grub_normal_init_page): Additional argument term.
22047 (read_lists): Call read_terminal_lists.
22048 (grub_enter_normal_mode): Call grub_cmdline_run.
22049 Handle grub_normal_exit_level.
22050 (grub_cmd_normal): Make reentrant.
22051 (grub_cmd_normal_exit): New function.
22052 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22053 * normal/menu.c: Adapt for multiterm.
22054 * normal/menu_entry.c: Likewise.
22055 * normal/menu_text.c: Likewise.
22056 * normal/menu_viewer.c: Removed. All users updated.
22057 * normal/term.c: New file.
22058 * util/console.c: Change order of includes to workaround a bug in
22059 ncurses headers.
22060 * term/terminfo.c: New argument oterm on all exported functions.
22061 All users updated.
22062 * util/grub-editenv.c (grub_term_input_class): Removed.
22063 (grub_term_output_class): Likewise.
22064
1a064917
RM
220652010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22066
22067 Make loader output a bit more user-friendly.
22068
22069 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22070 is being loaded. Likewise for the Hurd.
22071
22072 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22073 that kernel of FreeBSD ${version} is being loaded.
22074
22075 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22076 grub_dprintf().
22077 (grub_cmd_initrd): Likewise.
22078 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22079 that Linux ${version} is being loaded. Likewise for initrd.
22080
5ce0a83a 220812010-01-09 Carles Pina i Estany <carles@pina.cat>
22082
22083 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22084
809bbfeb 220852010-01-08 Carles Pina i Estany <carles@pina.cat>
22086
22087 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22088 (GRUB_MOD_INIT): Gettextizze.
22089 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22090 (GRUB_MOD_INIT): Gettextizze.
22091 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22092 (grub_cmd_linux): Capitalise Linux.
22093 (GRUB_MOD_INIT): Gettextizze.
22094 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22095 (grub_cmd_linux): Capitalise Linux.
22096 (GRUB_MOD_INIT): Gettextizze.
22097 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22098 (grub_cmd_linux): Capitalise Linux.
22099 (GRUB_MOD_INIT): Gettextizze.
22100 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22101 (GRUB_MOD_INIT): Gettextizze.
22102 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22103 (grub_cmd_linux): Capitalise Linux.
22104 (GRUB_MOD_INIT): Gettextizze.
22105 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22106 (grub_cpu_xnu_init): Gettextizze.
22107 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22108 (GRUB_MOD_INIT): Gettextizze.
22109 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22110 (GRUB_MOD_INIT): Gettextizze.
22111 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22112 (grub_linux_load64): Capitalise Linux.
22113 (GRUB_MOD_INIT): Gettextizze.
22114 * loader/xnu.c: Include `<grub/i18n.h>'.
22115 (GRUB_MOD_INIT): Gettextizze.
22116 * po/POTFILES: Add `loader/efi/appleloader.c',
22117 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22118 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22119 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22120 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22121 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22122 and `loader/xnu.c'.
22123
b394b2ca
RM
221242010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22127
221282010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22129
22130 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22131 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22132 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22133
bc8b32b3
RM
221342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22135
22136 Reset Multiboot 2 support. New loader implements the draft in
22137 /branches/multiboot2 and shares as much code as possible with the
22138 production Multiboot 1 implementation.
22139
22140 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22141 * loader/multiboot2.c: Likewise.
22142 * loader/i386/multiboot_helper.S: Likewise.
22143 * include/multiboot2.h: Replace with latest version from the draft
22144 in /branches/multiboot2.
22145
22146 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22147 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22148 and `loader/multiboot2.c'.
22149 (pkglib_MODULES): Add `multiboot2.mod'.
22150 (multiboot2_mod_SOURCES): New variable.
22151 (multiboot2_mod_LDFLAGS): Likewise.
22152 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22153
22154 * conf/i386-pc.rmk: Likewise.
22155
22156 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22157 (multiboot_mod_SOURCES): Remove variable.
22158 (multiboot_mod_LDFLAGS): Likewise.
22159 (multiboot_mod_CFLAGS): Likewise.
22160
22161 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22162 `<multiboot2.h>' instead of `<multiboot.h>'.
22163 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22164 (MULTIBOOT_HEADER_MAGIC): New macros.
22165
22166 * loader/multiboot_loader.c (module_version_status): Remove variable.
22167 (find_multi_boot2_header): Remove function.
22168 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22169 logic. Always check for the Multiboot version we're compiling for.
22170 (grub_cmd_module_loader): Likewise.
22171 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22172 command instead of `multiboot'.
22173
5d2c52b8
RM
221742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22175
22176 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22177 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22178 all users.
22179
53108d92
RM
221802010-01-07 Robert Millan <rmh.grub@aybabtu.com>
221812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 Fix breakage introduced with previous commit.
22184
22185 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22186 commands.
22187 * normal/handler.c (read_handler_list): Revert part of previous commit
22188 affecting this file.
22189 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22190 (grub_normal_execute): ... here.
22191
e2e936b2
RM
221922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22193
22194 Merge prefix-redefinition-fix branch.
22195
22196 * normal/autofs.c (read_fs_list): Make function capable of being
22197 run multiple times, gracefuly replacing the previous data
22198 structures.
22199 * normal/dyncmd.c (read_command_list): Likewise.
22200 * normal/handler.c (read_handler_list): Likewise.
22201 * normal/main.c (read_lists): New function. Calls all the
22202 list reading functions.
22203 (grub_normal_execute): Use read_lists() instead of calling all
22204 list reading functions explicitly. Register read_lists() as a
22205 variable hook attached to ${prefix}.
22206
607a3701
VS
222072010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 Merge crypto branch.
22210
22211 * Makefile.in (pkglib_DATA): Add crypto.lst.
22212 (crypto.lst): New target.
22213 * commands/hashsum.c: New file.
22214 * commands/password.c (check_password): Use grub_crypto_memcmp.
22215 * commands/password_pbkdf2.c: New file.
22216 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22217 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22218 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22219 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22220 -I$(srcdir)/lib/libgcrypt_wrap.
22221 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22222 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22223 password_pbkdf2.mod.
22224 (crypto_mod_SOURCES): New variable.
22225 (crypto_mod_CFLAGS): Likewise.
22226 (crypto_mod_LDFLAGS): Likewise.
22227 (hashsum_mod_SOURCES): New variable.
22228 (hashsum_mod_CFLAGS): Likewise.
22229 (hashsum_mod_LDFLAGS): Likewise.
22230 (pbkdf2_mod_SOURCES): New variable.
22231 (pbkdf2_mod_CFLAGS): Likewise.
22232 (pbkdf2_mod_LDFLAGS): Likewise.
22233 (password_pbkdf2_mod_SOURCES): New variable.
22234 (password_pbkdf2_mod_CFLAGS): Likewise.
22235 (password_pbkdf2_mod_LDFLAGS): Likewise.
22236 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22237 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22238 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22239 Include conf/gcry.rmk.
22240 * include/grub/auth.h: Rewritten.
22241 * include/grub/crypto.h: New file.
22242 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22243 * include/grub/normal.h (read_crypto_list): New prototype.
22244 * lib/crypto.c: New file.
22245 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22246 * lib/pbkdf2.c: Likewise.
22247 * normal/auth.c (grub_auth_strcmp): Removed.
22248 (grub_iswordseparator): Likewise.
22249 (grub_auth_strword): Likewise.
22250 (is_authenticated): Use grub_strword.
22251 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22252 and grub_strword. Pass entered password to authentication callback.
22253 * normal/crypto.c: New file.
22254 * normal/main.c: Call read_crypto_list.
22255 * util/grub-mkpasswd-pbkdf2.c: New file.
22256 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22257
42841caa
VS
222582010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 Fix descent and ascent calculation.
22261
22262 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22263 (options): New option "asce".
22264 (usage): Likewise.
22265 (add_char): Ignore invalid glyphs for descent calculation.
22266 Calculate ascent from actual content.
22267 (print_glyphs): Use 'asce'.
22268 (write_font): Likewise. Allow ascent override.
22269 (main): Handle "asce" option.
22270
e7730de7 222712010-01-06 Carles Pina i Estany <carles@pina.cat>
22272
22273 * kern/err.c: Include `<grub/i18n.h>'.
22274 (grub_print_error): Add full stop. Gettextizze.
22275 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22276 (grub_bsd_load_elf): Capitalise ELF.
22277 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22278 (grub_cmd_freebsd_module): Likewise.
22279 (grub_cmd_freebsd_module_elf): Likewise.
22280 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22281
40e3a41f 222822010-01-06 Carles Pina i Estany <carles@pina.cat>
22283
22284 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22285 * commands/search_file.c (HELP_MESSAGE): New macro.
22286 * commands/search_label.c (HELP_MESSAGE): Likewise.
22287 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22288 * po/POTFILES: Add `commands/search_file.c',
22289 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22290 `commands/search.c'.
22291
83507e68
RM
222922010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22293
22294 * config.rpath: Update from Gnulib.
22295
465c787b
YB
222962010-01-05 Yves Blusseau <blusseau@zetam.org>
22297
22298 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22299
6581dd3a
YB
223002010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22301
22302 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22303
3bff18c5
CW
223042010-01-05 Colin Watson <cjwatson@ubuntu.com>
22305
22306 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22307 arguments to fread so that we get a return value in bytes, rather
22308 than something that will normally be rounded down to 0.
22309 Adjust error handling to avoid producing garbage when size_t is not
22310 the same size as long long.
22311
a1368118
CW
223122010-01-05 Colin Watson <cjwatson@ubuntu.com>
22313
22314 * util/mkisofs/write.c (padblock_write): Check return value of
22315 fread.
22316
7c302978
RM
223172010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22318
22319 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22320 floppy images now.
22321
22322 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22323
e33ace06
RM
223242010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22325
22326 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22327 instead of manual alignment.
22328 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22329 verbose). Avoid attempts to read past end of the device
22330 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22331 but GRUB_DISK_CACHE_SIZE may exceed that).
22332
4b856776
RM
223332010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22334
22335 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22336 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22337 it to upper layer.
22338
52c2d97f
VS
223392010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22342 New constant.
22343 (grub_efi_piwg_device_path): New structure
22344 (grub_efi_piwg_device_path_t): New type.
22345 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22346 (devpath_1): Transform to a structure. All users updated.
22347 (devpath_2): Likewise.
22348 (devpath_3): Likewise.
22349 (devpath_4): Likewise.
22350 (devpath_5): Likewise.
22351
98ff6a54
VS
223522010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * loader/efi/appleloader.c: Restored. Update all users.
22355
3a73dcb6
RM
223562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22359
22360 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22361 (struct boot_blocklist): Move from here ...
22362 * include/grub/i386/pc/boot.h [ASM_FILE]
22363 (struct grub_boot_blocklist): ... to here. Update all users.
22364 (setup): Only initialize `start' member of `first_block'
22365 structure. Add assert() calls to verify the other members.
22366
22367 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22368 (generate_image): Fix broken blocklist length initialization.
22369 Add assert() call to verify blocklist `segment' field.
22370
ab0eeb0c
RM
223712010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22372
22373 * loader/efi/appleloader.c: Remove. Update all users.
22374
58bc8bd5
RM
223752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22376
22377 * boot/i386/pc/boot.S: Update copyright year.
22378 * boot/i386/pc/cdboot.S: Likewise.
22379 * boot/i386/pc/diskboot.S: Likewise.
22380 * boot/i386/pc/lnxboot.S: Likewise.
22381 * boot/i386/pc/pxeboot.S: Likewise.
22382 * bus/pci.c: Likewise.
22383 * commands/cmp.c: Likewise.
22384 * commands/help.c: Likewise.
22385 * commands/hexdump.c: Likewise.
22386 * commands/i386/pc/halt.c: Likewise.
22387 * commands/i386/pc/play.c: Likewise.
22388 * commands/i386/pc/vbeinfo.c: Likewise.
22389 * commands/ls.c: Likewise.
22390 * commands/test.c: Likewise.
22391 * disk/dmraid_nvidia.c: Likewise.
22392 * disk/i386/pc/biosdisk.c: Likewise.
22393 * disk/ieee1275/nand.c: Likewise.
22394 * disk/ieee1275/ofdisk.c: Likewise.
22395 * disk/lvm.c: Likewise.
22396 * disk/raid.c: Likewise.
22397 * disk/raid6_recover.c: Likewise.
22398 * disk/scsi.c: Likewise.
22399 * fs/affs.c: Likewise.
22400 * fs/cpio.c: Likewise.
22401 * fs/ext2.c: Likewise.
22402 * fs/hfs.c: Likewise.
22403 * fs/iso9660.c: Likewise.
22404 * fs/ntfs.c: Likewise.
22405 * fs/sfs.c: Likewise.
22406 * fs/udf.c: Likewise.
22407 * fs/ufs.c: Likewise.
22408 * fs/xfs.c: Likewise.
22409 * gencmdlist.sh: Likewise.
22410 * genmk.rb: Likewise.
22411 * include/grub/disk.h: Likewise.
22412 * include/grub/efi/api.h: Likewise.
22413 * include/grub/efi/efi.h: Likewise.
22414 * include/grub/efi/pe32.h: Likewise.
22415 * include/grub/elf.h: Likewise.
22416 * include/grub/fs.h: Likewise.
22417 * include/grub/i386/at_keyboard.h: Likewise.
22418 * include/grub/i386/pc/memory.h: Likewise.
22419 * include/grub/i386/pc/vbe.h: Likewise.
22420 * include/grub/i386/pci.h: Likewise.
22421 * include/grub/i386/tsc.h: Likewise.
22422 * include/grub/ieee1275/ieee1275.h: Likewise.
22423 * include/grub/ntfs.h: Likewise.
22424 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22425 * include/grub/sparc64/libgcc.h: Likewise.
22426 * include/grub/symbol.h: Likewise.
22427 * include/grub/types.h: Likewise.
22428 * include/multiboot2.h: Likewise.
22429 * io/gzio.c: Likewise.
22430 * kern/device.c: Likewise.
22431 * kern/disk.c: Likewise.
22432 * kern/efi/efi.c: Likewise.
22433 * kern/efi/mm.c: Likewise.
22434 * kern/elf.c: Likewise.
22435 * kern/file.c: Likewise.
22436 * kern/i386/dl.c: Likewise.
22437 * kern/i386/pc/init.c: Likewise.
22438 * kern/i386/pc/startup.S: Likewise.
22439 * kern/ieee1275/ieee1275.c: Likewise.
22440 * kern/ieee1275/init.c: Likewise.
22441 * kern/main.c: Likewise.
22442 * kern/mm.c: Likewise.
22443 * kern/powerpc/dl.c: Likewise.
22444 * kern/sparc64/dl.c: Likewise.
22445 * kern/x86_64/dl.c: Likewise.
22446 * lib/hexdump.c: Likewise.
22447 * loader/efi/appleloader.c: Likewise.
22448 * loader/i386/ieee1275/linux.c: Likewise.
22449 * loader/i386/pc/chainloader.c: Likewise.
22450 * loader/i386/pc/linux.c: Likewise.
22451 * loader/i386/pc/multiboot2.c: Likewise.
22452 * loader/ieee1275/multiboot2.c: Likewise.
22453 * loader/multiboot2.c: Likewise.
22454 * loader/multiboot_loader.c: Likewise.
22455 * loader/powerpc/ieee1275/linux.c: Likewise.
22456 * normal/completion.c: Likewise.
22457 * normal/menu_entry.c: Likewise.
22458 * partmap/apple.c: Likewise.
22459 * util/grub.d/10_hurd.in: Likewise.
22460 * util/hostfs.c: Likewise.
22461 * video/readers/png.c: Likewise.
22462
e2d70b5c
CW
224632010-01-03 Colin Watson <cjwatson@ubuntu.com>
22464
22465 * include/grub/misc.h (GNUC_PREREQ): New macro.
22466 (ATTRIBUTE_ERROR): New macro.
22467 * include/grub/list.h (grub_bad_type_cast_real): Use
22468 ATTRIBUTE_ERROR.
22469
a173283f 224702010-01-03 Carles Pina i Estany <carles@pina.cat>
22471
22472 * normal/menu_text.c (print_message): Change messages.
22473
7fa7ff74 224742010-01-03 Carles Pina i Estany <carles@pina.cat>
22475
22476 * normal/menu_entry.c (store_completion): Gettextizze.
22477
136d24f6 224782010-01-03 Carles Pina i Estany <carles@pina.cat>
22479
22480 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22481
f936862e 224822010-01-03 Carles Pina i Estany <carles@pina.cat>
22483
22484 * po/POTFILES: Sort correctly.
22485
29c44ad1 224862010-01-03 Carles Pina i Estany <carles@pina.cat>
22487
22488 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22489 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22490 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22491 full stop.
22492 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22493 summary. Gettextizze the strings.
22494 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22495 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22496 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22497 full stop.
22498 (GRUB_MOD_INIT): Remove command name from summary.
22499 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22500 summary.
22501 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22502 * term/i386/pc/serial.c (options): Add full stops.
22503 (GRUB_MOD_INIT): Remove command name from the summary.
22504
77a79592 225052010-01-03 Carles Pina i Estany <carles@pina.cat>
22506
22507 * commands/acpi.c: Gettextizze help strings and/or options. Include
22508 `grub/i18n.h' if needed.
22509 * commands/blocklist.c: Likewise.
22510 * commands/boot.c: Likewise.
22511 * commands/cat.c: Likewise.
22512 * commands/cmp.c: Likewise.
22513 * commands/configfile.c: Likewise.
22514 * commands/crc.c: Likewise.
22515 * commands/date.c: Likewise.
22516 * commands/echo.c: Likewise.
22517 * commands/efi/fixvideo.c: Likewise.
22518 * commands/efi/loadbios.c: Likewise.
22519 * commands/gptsync.c: Likewise.
22520 * commands/halt.c: Likewise.
22521 * commands/handler.c: Likewise.
22522 * commands/hdparm.c: Likewise.
22523 * commands/hexdump.c: Likewise.
22524 * commands/i386/cpuid.c: Likewise.
22525 * commands/i386/pc/drivemap.c: Likewise.
22526 * commands/i386/pc/halt.c: Likewise.
22527 * commands/i386/pc/pxecmd.c: Likewise.
22528 * commands/i386/pc/vbeinfo.c: Likewise.
22529 * commands/i386/pc/vbetest.c: Likewise.
22530 * commands/ieee1275/suspend.c: Likewise.
22531 * commands/keystatus.c: Likewise.
22532 * commands/loadenv.c: Likewise.
22533 * commands/ls.c: Likewise.
22534 * commands/lsmmap.c: Likewise.
22535 * commands/lspci.c: Likewise.
22536 * commands/memrw.c: Likewise.
22537 * commands/minicmd.c: Likewise.
22538 * commands/parttool.c: Likewise.
22539 * commands/password.c: Likewise.
22540 * commands/probe.c: Likewise.
22541 * commands/read.c: Likewise.
22542 * commands/reboot.c: Likewise.
22543 * commands/search.c: Likewise.
22544 * commands/sleep.c: Likewise.
22545 * commands/test.c: Likewise.
22546 * commands/true.c: Likewise.
22547 * commands/usbtest.c: Likewise.
22548 * commands/videotest.c: Likewise.
22549 * commands/xnu_uuid.c: Likewise.
22550 * disk/loopback.c: Likewise.
22551 * hello/hello.c: Likewise.
22552 * loader/i386/bsd.c: Likewise.
22553 * term/i386/pc/serial.c: Likewise.
22554 * po/POTFILES: Add new files.
22555
da8d5c53
CW
225562010-01-02 Colin Watson <cjwatson@ubuntu.com>
22557
22558 * term/i386/pc/at_keyboard.c
22559 (keyboard_controller_wait_untill_ready): Rename to ...
22560 (keyboard_controller_wait_until_ready): ... this. Update all users.
22561
33937904 225622010-01-01 Carles Pina i Estany <carles@pina.cat>
22563
22564 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22565 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22566 string using string width.
22567 * normal/menu_text.c (grub_print_message_indented): Use
22568 grub_print_spaces and not print_spaces.
22569 (print_timeout): Likewise.
22570 (print_spaces): Move to...
22571 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22572
3fd3b8d8
RM
225732010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22574
22575 Import from Gnulib.
22576
22577 * gnulib/getdelim.c: New file.
22578 * gnulib/getline.c: Likewise.
22579
33433555
VS
225802009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22581
22582 * include/grub/list.h (grub_assert_fail): Removed.
22583 (grub_bad_type_cast_real): New function.
22584 (grub_bad_type_cast): New macro.
22585 (GRUB_AS_LIST): Use grub_bad_type_cast.
22586 (GRUB_AS_LIST_P): Likewise.
e44721e8 22587 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22588 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22589 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22590 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22591 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22592
f5a51306
VS
225932009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22596 Fix syntax error.
22597
90d1e879
RM
225982009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22599
22600 * configure.ac: Check for TARGET_CFLAGS initialization before we
22601 initialize it ourselves (sigh).
22602 Move a few modifications to TARGET_CFLAGS to be unconditional
22603 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22604 eh_frame)
22605
22606 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22607 * term/i386/pc/at_keyboard.c
22608 (keyboard_controller_wait_untill_ready): Likewise.
22609 (keyboard_controller_led): Rename `led_status' paramter to avoid
22610 name conflict.
22611
465b5a81 226122009-12-28 Carles Pina i Estany <carles@pina.cat>
22613
22614 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22615 quotes.
22616
c181849b
VS
226172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22620
9c8739a4
VS
226212009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * normal/menu_text.c (grub_print_message_indented): Prevent
22624 past-the-end-of-array dereference.
22625
3e74249c
VS
226262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22629 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22630
64fd18ed 226312009-12-27 Carles Pina i Estany <carles@pina.cat>
22632
22633 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22634 * normal/main.c (grub_normal_read_line): Remove a space from the
22635 default prompt.
22636
714af9b9 226372009-12-27 Carles Pina i Estany <carles@pina.cat>
22638
22639 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22640 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22641 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22642 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22643 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22644 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22645 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22646
82f3e412 226472009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22648
22649 * video/readers/jpeg.c (cmd): Declare.
22650 (grub_cmd_jpegtest): Use `grub_command_t' type.
22651 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22652 Assign to `cmd'.
22653 (GRUB_MOD_FINI): Use `cmd' to unregister.
22654 * video/readers/png.c (cmd): Declare.
22655 (grub_cmd_pngtest): Use `grub_command_t' type.
22656 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22657 Assign to `cmd'.
22658 (GRUB_MOD_FINI): Use `cmd' to unregister.
22659 * video/readers/tga.c (cmd): Declare.
22660 (grub_cmd_tgatest): Use `grub_command_t' type.
22661 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22662 Assign to `cmd'.
22663 (GRUB_MOD_FINI): Use `cmd' to unregister.
22664
82f3e412 226652009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22666
22667 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22668 stops.
22669 * kern/corecmd.c (grub_register_core_commands): Likewise.
22670 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22671 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22672 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22673 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22674 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22675 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22676 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22677 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22678 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22679 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22680 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22681 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22682 * normal/handler.c (insert_handler): Likewise.
22683 * normal/main.c (GRUB_MOD_INIT): Likewise.
22684 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22685
fdcdbb66 226862009-12-26 Carles Pina i Estany <carles@pina.cat>
22687
22688 * commands/help.c (grub_cmd_help): Print the command name before the
22689 summary.
22690 (GRUB_MOD_INIT): Remove command name from the summary.
22691 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22692 string as summary.
fdcdbb66 22693 * lib/arg.c (find_long): Print the command name before the summary.
22694 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22695 summary.
22696 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22697 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22698 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22699 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22700 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22701 * commands/date.c (GRUB_MOD_INIT): Likewise.
22702 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22703 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22704 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22705 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22706 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22707 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22708 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22709 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22710 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22711 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22712 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22713 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22714 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22715 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22716 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22717 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22718 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22719 * commands/password.c (GRUB_MOD_INIT): Likewise.
22720 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22721 * commands/read.c (GRUB_MOD_INIT): Likewise.
22722 * commands/search.c (GRUB_MOD_INIT): Likewise.
22723 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22724 * commands/test.c (GRUB_MOD_INIT): Likewise.
22725 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22726 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22727 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22728 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22729 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22730 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22731 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22732 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22733 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22734 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22735 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22736 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22737 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22738 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22739
9c288be2
VS
227402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 Use search command for preliminar UUID search.
22743
22744 * commands/search.c: Split into ...
22745 * commands/search_wrap.c: ...this
22746 * commands/search.c: ...and this.
22747 * commands/search_file.c: New file.
22748 * commands/search_label.c: New file.
22749 * commands/search_uuid.c: New file.
22750 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22751 Add commands/search_wrap.c, commands/search_file.c,
22752 commands/search_label.c and commands/search_uuid.c.
22753 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22754 (search_mod_SOURCES): Set to commands/search_wrap.c.
22755 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22756 search_label.mod.
22757 (search_fs_file_mod_SOURCES): New variable.
22758 (search_fs_file_mod_CFLAGS): Likewise.
22759 (search_fs_file_mod_LDFLAGS): Likewise.
22760 (search_label_mod_SOURCES): Likewise.
22761 (search_label_mod_CFLAGS): Likewise.
22762 (search_label_mod_LDFLAGS): Likewise.
22763 (search_fs_uuid_mod_SOURCES): New variable.
22764 (search_fs_uuid_mod_CFLAGS): Likewise.
22765 (search_fs_uuid_mod_LDFLAGS): Likewise.
22766 (fs_file_mod_SOURCES): Removed.
22767 (fs_file_mod_CFLAGS): Likewise.
22768 (fs_file_mod_LDFLAGS): Likewise.
22769 (fs_uuid_mod_SOURCES): Removed.
22770 (fs_uuid_mod_CFLAGS): Likewise.
22771 (fs_uuid_mod_LDFLAGS): Likewise.
22772 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22773 Set to util/grub-install.in.
22774 * disk/fs_file.c: Removed.
22775 * disk/fs_uuid.c: Likewise.
22776 * include/grub/search.h: New file.
22777 * util/grub-install.in: Handle sparc64.
22778 Create and use load.cfg.
22779 * util/sparc64/ieee1275/grub-install.in: Removed.
22780
db943399
VS
227812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22784 Ignore return status if CF is cleared.
22785 (grub_biosdisk_get_diskinfo_standard): Likewise.
22786
3fdae612
RM
227872009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22788
22789 * term/i386/pc/at_keyboard.c
22790 (keyboard_controller_wait_untill_ready): New function.
22791 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22792 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22793 for keyboard polling, rather than duplicate the same loop. This
22794 saves a few bytes in code size.
22795
7ebaa2b4
VS
227962009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22797
22798 Support for (pxe[:server[:gateway]]) syntax and
22799 use environment variable for PXE.
22800
22801 * commands/i386/pc/pxecmd.c (options): Removed.
22802 (print_ip): Removed.
22803 (grub_cmd_pxe): Removed
22804 (grub_cmd_pxe_unload): New function.
22805 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22806 (grub_pxe_your_ip): Made static.
22807 (grub_pxe_default_server_ip): Likewise.
22808 (grub_pxe_default_gateway_ip): Likewise.
22809 (grub_pxe_blksize): Likewise.
22810 (parse_ip): New function.
22811 (grub_pxe_open): Support server and gateway specification.
22812 (grub_pxe_close): Free disk->data.
22813 (grub_pxefs_open): Use disk->data.
22814 (grub_pxefs_read): Likewise.
22815 (grub_env_write_readonly): New function.
22816 (set_mac_env): Likewise.
22817 (set_env_limn_ro): Likewise.
22818 (parse_dhcp_vendor): Likewise.
22819 (grub_pxe_detect): Set the environment variables.
22820 (set_ip_env): New function.
22821 (write_ip_env): Likewise.
22822 (grub_env_write_pxe_default_server): Likewise.
22823 (grub_env_write_pxe_default_gateway): Likewise.
22824 (grub_env_write_pxe_blocksize): Likewise.
22825 (GRUB_MOD_INIT(pxe)): Set environment variables.
22826 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22827 (grub_pxe_mac_addr_t): ... this. All users updated.
22828 (grub_pxe_your_ip): Removed.
22829 (grub_pxe_server_ip): Likewise.
22830 (grub_pxe_gateway_ip): Likewise.
22831 (grub_pxe_blksize): Likewise.
22832
ec5f98ab 228332009-12-25 Carles Pina i Estany <carles@pina.cat>
22834
22835 * commands/help.c: Include `<grub/i18n.h>'.
22836 (grub_cmd_help): Gettextizze.
22837 (GRUB_MOD_INIT): Likewise.
22838 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22839 (GRUB_MOD_INIT): Gettextizze.
22840 * commands/search.c: Include `<grub/i18n.h>'.
22841 (options): Gettextizze.
22842 (GRUB_MOD_INIT): Gettextizze.
22843 * lib/arg.c: Include `<grub/i18n.h>'.
22844 (help_options): Gettextizze.
22845 (find_long): Likewise.
22846 (grub_arg_show_help): Likewise.
22847 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22848 (read_command_list): Gettextizze.
22849 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22850 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22851
22815526
RM
228522009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22853
22854 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22855 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22856 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22857 (led_status): New variable.
22858 (keyboard_controller_led): New function.
22859 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22860 update led status for caps lock, num lock and scroll lock.
22861
0ad46fd7
FZ
228622009-12-25 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * util/hostdisk.c (open_device): Fix a comment.
22865
d0e158c2
RM
228662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22867
22868 * util/grub-install.in (host_os): New variable.
22869 * util/i386/efi/grub-install.in (host_os): Likewise.
22870
401c0ad6
RM
228712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22872
22873 * util/mkisofs/write.c (padblock_write): Abort when given an
22874 excedingly large embed image, instead of silently truncating it.
22875
d14d3370
RM
228762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22877
22878 * include/multiboot.h: Indentation fixes.
22879
eeed10b4
RM
228802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22881
22882 * include/multiboot.h (struct multiboot_aout_symbol_table)
22883 (struct multiboot_elf_section_header_table): New structure
22884 declarations (stolen from GRUB Legacy).
22885 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22886 table information.
22887
22888 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22889 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22890 type aliases.
22891
681c70ab
RM
228922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22893
22894 * include/multiboot.h: Make comments src2texi-friendly.
22895
e4d47d8d
RM
228962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22897
22898 For consistency with [multiboot]/docs/boot.S.
22899
22900 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22901 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22902 (MULTIBOOT_MAGIC2): Rename from this ...
22903 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22904
a0b70bda
RM
229052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22906
22907 * include/multiboot.h: Remove `<grub/types.h>'.
22908 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22909 types. Update all users.
22910
61ba42be 229112009-12-25 Carles Pina i Estany <carles@pina.cat>
22912
22913 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22914 `couldn't' and `can not' by `cannot'.
22915 * commands/i386/pc/drivemap.c: Likewise.
22916 * disk/ata.c: Likewise.
22917 * disk/ieee1275/nand.c: Likewise.
22918 * fs/affs.c: Likewise.
22919 * fs/fat.c: Likewise.
22920 * fs/hfs.c: Likewise.
22921 * fs/hfsplus.c: Likewise.
22922 * fs/iso9660.c: Likewise.
22923 * fs/jfs.c: Likewise.
22924 * fs/minix.c: Likewise.
22925 * fs/reiserfs.c: Likewise.
22926 * fs/sfs.c: Likewise.
22927 * fs/udf.c: Likewise.
22928 * fs/ufs.c: Likewise.
22929 * fs/xfs.c: Likewise.
22930 * loader/powerpc/ieee1275/linux.c: Likewise.
22931 * loader/sparc64/ieee1275/linux.c: Likewise.
22932 * util/grub-probe.c: Likewise.
22933 * util/misc.c: Likewise.
22934
7fd0baee 229352009-12-24 Carles Pina i Estany <carles@pina.cat>
22936
22937 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22938 grub_errno calls.
22939 * commands/acpi.c: Likewise.
22940 * commands/blocklist.c: Likewise.
22941 * commands/efi/loadbios.c: Likewise.
22942 * commands/i386/pc/drivemap.c: Likewise.
22943 * commands/loadenv.c: Likewise.
22944 * commands/memrw.c: Likewise.
22945 * commands/password.c: Likewise.
22946 * commands/videotest.c: Likewise.
22947 * disk/ata.c: Likewise.
22948 * disk/ata_pthru.c: Likewise.
22949 * disk/dmraid_nvidia.c: Likewise.
22950 * disk/ieee1275/nand.c: Likewise.
22951 * disk/ieee1275/ofdisk.c: Likewise.
22952 * disk/loopback.c: Likewise.
22953 * disk/lvm.c: Likewise.
22954 * disk/mdraid_linux.c: Likewise.
22955 * disk/raid.c: Likewise.
22956 * disk/raid6_recover.c: Likewise.
22957 * disk/scsi.c: Likewise.
22958 * efiemu/main.c: Likewise.
22959 * efiemu/mm.c: Likewise.
22960 * efiemu/pnvram.c: Likewise.
22961 * efiemu/symbols.c: Likewise.
22962 * font/font.c: Likewise.
22963 * fs/cpio.c: Likewise.
22964 * fs/hfsplus.c: Likewise.
22965 * fs/iso9660.c: Likewise.
22966 * fs/jfs.c: Likewise.
22967 * fs/minix.c: Likewise.
22968 * fs/ntfs.c: Likewise.
22969 * fs/ntfscomp.c: Likewise.
22970 * fs/reiserfs.c: Likewise.
22971 * fs/ufs.c: Likewise.
22972 * fs/xfs.c: Likewise.
22973 * gettext/gettext.c: Likewise.
22974 * include/grub/auth.h: Likewise.
22975 * kern/elf.c: Likewise.
22976 * kern/file.c: Likewise.
22977 * kern/ieee1275/init.c: Likewise.
22978 * kern/ieee1275/mmap.c: Likewise.
22979 * kern/ieee1275/openfw.c: Likewise.
22980 * kern/powerpc/dl.c: Likewise.
22981 * kern/sparc64/dl.c: Likewise.
22982 * lib/arg.c: Likewise.
22983 * loader/i386/bsd.c: Likewise.
22984 * loader/i386/bsdXX.c: Likewise.
22985 * loader/i386/efi/linux.c: Likewise.
22986 * loader/i386/efi/xnu.c: Likewise.
22987 * loader/i386/ieee1275/linux.c: Likewise.
22988 * loader/i386/linux.c: Likewise.
22989 * loader/i386/multiboot.c: Likewise.
22990 * loader/i386/pc/linux.c: Likewise.
22991 * loader/i386/pc/multiboot2.c: Likewise.
22992 * loader/i386/xnu.c: Likewise.
22993 * loader/ieee1275/multiboot2.c: Likewise.
22994 * loader/macho.c: Likewise.
22995 * loader/machoXX.c: Likewise.
22996 * loader/multiboot2.c: Likewise.
22997 * loader/multiboot_loader.c: Likewise.
22998 * loader/powerpc/ieee1275/linux.c: Likewise.
22999 * loader/sparc64/ieee1275/linux.c: Likewise.
23000 * loader/xnu.c: Likewise.
23001 * loader/xnu_resume.c: Likewise.
23002 * mmap/i386/pc/mmap.c: Likewise.
23003 * normal/menu_viewer.c: Likewise.
23004 * partmap/acorn.c: Likewise.
23005 * partmap/amiga.c: Likewise.
23006 * partmap/apple.c: Likewise.
23007 * script/lexer.c: Likewise.
23008 * term/gfxterm.c: Likewise.
23009 * term/i386/pc/serial.c: Likewise.
23010 * term/i386/pc/vga.c: Likewise.
23011 * term/ieee1275/ofconsole.c: Likewise.
23012 * term/terminfo.c: Likewise.
23013 * video/bitmap.c: Likewise.
23014 * video/efi_gop.c: Likewise.
23015 * video/efi_uga.c: Likewise.
23016 * video/fb/video_fb.c: Likewise.
23017 * video/i386/pc/vbe.c: Likewise.
23018 * video/readers/tga.c: Likewise.
23019 * video/video.c: Likewise.
23020
0ad46fd7 230212009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23022
23023 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23024 * commands/lspci.c: Likewise.
23025 * commands/probe.c: Likewise.
23026 * commands/xnu_uuid.c: Likewise.
23027 * conf/i386-coreboot.rmk: Likewise.
23028 * conf/i386-efi.rmk: Likewise.
23029 * conf/i386-ieee1275.rmk: Likewise.
23030 * conf/i386-pc.rmk: Likewise.
23031 * conf/powerpc-ieee1275.rmk: Likewise.
23032 * conf/sparc64-ieee1275.rmk: Likewise.
23033 * conf/x86_64-efi.rmk: Likewise.
23034 * fs/i386/pc/pxe.c: Likewise.
23035 * gettext/gettext.c: Likewise.
23036 * include/grub/efi/graphics_output.h: Likewise.
23037 * include/grub/i386/pc/memory.h: Likewise.
23038 * kern/env.c: Likewise.
23039 * kern/i386/qemu/startup.S: Likewise.
23040 * lib/i386/pc/biosnum.c: Likewise.
23041 * lib/i386/relocator.c: Likewise.
23042 * lib/i386/relocator_asm.S: Likewise.
23043 * lib/relocator.c: Likewise.
23044 * loader/i386/bsd.c: Likewise.
23045 * loader/i386/multiboot.c: Likewise.
23046 * loader/i386/pc/chainloader.c: Likewise.
23047 * loader/i386/xnu.c: Likewise.
23048 * loader/xnu.c: Likewise.
23049 * normal/main.c: Likewise.
23050 * normal/menu_text.c: Likewise.
23051 * util/getroot.c: Likewise.
23052 * util/grub-mkconfig_lib.in: Likewise.
23053 * util/grub.d/00_header.in: Likewise.
23054 * util/i386/pc/grub-mkimage.c: Likewise.
23055 * util/mkisofs/eltorito.c: Likewise.
23056 * util/mkisofs/exclude.h: Likewise.
23057 * util/mkisofs/hash.c: Likewise.
23058 * util/mkisofs/iso9660.h: Likewise.
23059 * util/mkisofs/joliet.c: Likewise.
23060 * util/mkisofs/mkisofs.c: Likewise.
23061 * util/mkisofs/mkisofs.h: Likewise.
23062 * util/mkisofs/multi.c: Likewise.
23063 * util/mkisofs/name.c: Likewise.
23064 * util/mkisofs/rock.c: Likewise.
23065 * util/mkisofs/tree.c: Likewise.
23066 * util/mkisofs/write.c: Likewise.
23067 * video/efi_gop.c: Likewise.
23068
009ec743
VS
230692009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23072 size counting.
23073
0ad46fd7 230742009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23075
23076 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23077 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23078
d3d30ea0
VS
230792009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23082 (GRUB_MOD_INIT(memrw)): Update help line.
23083
a34f5c70
VS
230842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23087 Use grub_extcmd_t. All users updated.
23088 (options): New variable.
23089 (grub_cmd_read): Restructure for readability. Support "-v" option.
23090 (grub_cmd_write): Restructure for readability.
23091
0ad46fd7 230922009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23093
23094 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23095
0ad46fd7 230962009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23097
23098 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23099 with the actual contents of the correspondending make variable.
23100 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23101 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23102 specifying `*.lst' and `efiemu??.o'
23103
0ad46fd7 231042009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23105
23106 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23107 after function name.
23108 Noticed by Rene Engelhard <rene@debian.org>.
23109
dc77a799
VS
231102009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23113 (options): New variable.
23114 (iospace): Likewise.
23115 (grub_lspci_iter): List IO spaces if "-i" was given.
23116 (grub_cmd_lspci): Parse options.
23117 (GRUB_MOD_INIT(lspci)): Use extcmd.
23118 (GRUB_MOD_FINI(lspci)): Likewise.
23119
0ad46fd7 231202009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23121
23122 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23123 `function' keyword.
23124 Patch by Tony Mancill <tmancill@debian.org>.
23125
b5d5993b
VS
231262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23127
23128 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23129 (grub_uhci_portstatus): Likewise.
23130 (grub_uhci_portstatus): Add necessary delay.
11d18281 23131 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23132
941903f2 231332009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23134
941903f2 23135 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23136 (GRUB_MOD_INIT): Likewise.
23137 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23138 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23139 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23140 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23141 (enable_rom_area): Likewise.
23142 (GRUB_MOD_INIT): Likewise.
23143 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23144 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23145 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23146 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23147 * commands/hexdump.c (options): Likewise.
23148 * commands/i386/cpuid.c (options): Likewise.
23149 (GRUB_MOD_INIT): Likewise.
23150 * commands/i386/pc/drivemap.c (options): Likewise.
23151 (GRUB_MOD_INIT): Likewise.
23152 * commands/i386/pc/halt (options): Likewise.
23153 (GRUB_MOD_INIT): Likewise.
23154 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23155 * commands/i386/pc/pxecmd.c (options): Likewise.
23156 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23157 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23158 * commands/keystatus.c (options): Likewise.
23159 (GRUB_MOD_INIT): Likewise.
23160 * commands/loadenv.c (options): Likewise.
23161 * commands/ls.c (options): Likewise.
23162 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23163 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23164 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23165 * commands/parttool.c (helpmsg): Likewise.
23166 * commands/probe.c (options): Likewise.
23167 * commands/read.c (GRUB_MOD_INIT): Likewise.
23168 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23169 * commands/search.c (options): Likewise.
23170 * commands/sleep.c (options): Likewise.
23171 * commands/test.c (GRUB_MOD_INIT): Likewise.
23172 * commands/true.c (GRUB_MOD_INIT): Likewise.
23173 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23174 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23175 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23176 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23177 `$(XGETTEXT)'.
98a50553 23178 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23179
0ad46fd7 231802009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23181
ef3c2c3a 23182 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23183 instead of specifying them explicit.
23184
7922f68b
RM
231852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23186
23187 * NEWS: Add grub-probe support for GNU/Hurd.
23188
537ce47f
RM
231892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23190
23191 * NEWS: gettext was added after 1.97.
23192
9b214e3a
RM
231932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * util/mkisofs/msdos_partition.h: New file (based on
23196 include/grub/msdos_partition.h).
23197 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23198 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23199 (ld_options, main): Recognize --protective-msdos-label.
23200 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23201 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23202 (padblock_write): If `use_protective_msdos_label' is set, patch a
23203 protective DOS-style label in the output image.
23204
23205 * util/grub-mkrescue.in: Use --protective-msdos-label.
23206
e9309813
RM
232072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23208
23209 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23210 boot.
23211
0ae56929
RM
232122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23213
23214 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23215 variables.
23216 (ld_options, main): Recognize `--embedded-boot'.
23217 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23218 declarations.
23219 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23220 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23221 (padblock_write): Likewise. Rewrite to support embedded boot image.
23222
23223 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23224 for BIOS-based disk boot instead of only ElTorito.
23225
b15937b1
RM
232262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23227
23228 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23229 build (not needed for bootstrap).
23230
52cc3ce0
RM
232312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23232
23233 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23234 from i386-pc build (not needed for bootstrap).
23235 Rewrite a pair of strings.
23236
36f5ff04
RM
232372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23238
23239 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23240
973c6c85 232412009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23242
23243 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23244
05d21547
AB
232452009-12-21 Andreas Born <futur.andy@googlemail.com>
23246
23247 * kern/env.c (grub_env_context_open): Mark exported variable for
23248 reexport.
23249
0175d51f
AB
232502009-12-21 Andreas Born <futur.andy@googlemail.com>
23251
23252 * kern/env.c (grub_env_export): Create nonexistent variables before
23253 exporting.
23254
7f39d92f 232552009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23256
7f39d92f 23257 * include/grub/auth.h: Include `<grub/i18n.h>'.
23258 (GRUB_GET_PASSWORD): Gettextizze string.
23259 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23260 menu_text.c.
23261 (grub_utf8_to_ucs4_alloc): Fix indentation.
23262 (grub_print_ucs4): Likewise.
23263 (grub_getstringwidth): Likewise.
23264 (print_message_indented): New declaration.
23265 * normal/auth.c: Include `<grub/i18n.h>'.
23266 (grub_auth_check_authentication): Gettexttize string.
23267 * normal/cmdline.c: Include `<grub/i18n.h>'.
23268 (grub_cmdline_get): Gettextizze.
23269 * normal/color.c: Include `<grub/i18n.h>'.
23270 (grub_parse_color_name_pair): Gettexttize strings.
23271 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23272 string (use `print_message_indented').
23273 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23274 `include/grub/normal.h'.
23275 (print_message_indented): Renamed to ...
23276 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23277 used in normal/main.c).
23278 (print_message): Use `grub_print_message_indented' instead of
23279 `print_message_indented'.
23280 (print_timeout): Likewise.
23281 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23282 (grub_normal_print_device_info): Gettexttize strings.
23283 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23284
3041d898
VS
232852009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23288 of arguments. Return number of tokens and not arguments. All users
23289 updated.
23290
de15bf8e
VS
232912009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23292
23293 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23294 non-MSDOS paritions.
23295
e0a6ca52
VS
232962009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23297
23298 * include/grub/types.h (UNUSED): Removed since it conflicts with
23299 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23300 Reported by Grégoire Sutre.
23301
b99518d1 233022009-12-19 Carles Pina i Estany <carles@pina.cat>
23303
23304 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23305 (grub_print_ucs4_alloc): Likewise.
23306 (grub_getstringwidth): Likewise.
23307 * normal/main.c (grub_normal_init_page): Gettextize version string.
23308 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23309 (getstringwidth): Renamed to ...
23310 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23311 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23312 (grub_print_ucs4): Remove `static' qualifer (now used in
23313 normal/main.c).
23314 * po/POTFILES: Add normal/main.c.
23315
bfd5e52b 233162009-12-19 Carles Pina i Estany <carles@pina.cat>
23317
23318 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23319 (print_message_indented): Add `margin_left' and `margin_right'
23320 parameters.
23321 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23322 strings.
23323 (print_timeout): Use `print_message_indented' to print the message.
23324 Deletes `second_stage' parameter.
23325 (run_menu): Update `print_timeout' calls.
23326
5a1ad2b9
VS
233272009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23328
23329 Fix console palette on OpenFirmware.
23330
23331 * term/ieee1275/ofconsole.c (MAX): Removed.
23332 (colors): Redone based on VGA palette.
23333 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23334 colors are supported.
23335 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23336
b045f00a
VS
233372009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23338
23339 Fix potential EfiEmu double prepare.
23340
23341 * efiemu/main.c (prepared): New variable
23342 (grub_efiemu_unload): Set prepare to '0'.
23343 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23344
23345 set_virtual_address_map support.
23346
23347 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23348 prototype.
23349 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23350 prototype.
23351 (grub_efiemu_crc32): Likewise.
23352 (grub_efiemu_crc64): Likewise.
23353 (grub_efiemu_set_virtual_address_map): Likewise.
23354 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23355 New definition.
23356 (grub_autoefi_set_virtual_address_map): Likewise.
23357 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23358 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23359 Restructure flow to accomodate it.
23360 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23361 (grub_efiemu_crc): Recompute CRC32.
23362 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23363 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23364 * efiemu/symbols.c (relocated_handle): New variable.
23365 (grub_efiemu_free_syms): Free relocated_handle.
23366 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23367 (grub_efiemu_write_sym_markers): New function.
23368 (grub_efiemu_set_virtual_address_map): Likewise.
23369
23370 Newer XNU parameters.
23371
23372 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23373 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23374 (grub_xnu_fill_devicetree): New prototype.
23375 (grub_xnu_heap_real_start): New variable.
23376 * loader/xnu.c (get_name_ptr): New function.
23377 (grub_xnu_load_driver): Fill namelen and name.
23378
23379 64-bit xnu support.
23380
23381 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23382 and 'loader/macho64.c'.
23383 * conf/i386-pc.rmk: Likewise.
23384 * conf/x86_64-efi.rmk: Likewise.
23385 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23386 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23387 * include/grub/macho.h (grub_macho_segment64): New structure.
23388 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23389 (grub_macho_size32): ... to this.
23390 (grub_macho32_get_entry_point): Renamed from ...
23391 (grub_macho_get_entry_point32): ... to this.
23392 (grub_macho_contains_macho64): New prototype.
23393 (grub_macho_size64): Likewise.
23394 (grub_macho_get_entry_point64): Likewise.
23395 (grub_macho32_load): Renamed from ...
23396 (grub_macho_load32): ... to this.
23397 (grub_macho32_filesize): Renamed from ...
23398 (grub_macho_filesize32): ... to this.
23399 (grub_macho32_readfile): Renamed from ...
23400 (grub_macho_readfile32): ... to this.
23401 (grub_macho_filesize64): New prototype.
23402 (grub_macho_readfile64): Likewise.
23403 (grub_macho_parse32): Likewise.
23404 (grub_macho_parse64): Likewise.
23405 * loader/macho.c: Split into ...
23406 * loader/machoXX.c: ... and this. Replace 32 with XX.
23407 * loader/macho32.c: New file.
23408 * loader/macho64.c: Likewise.
23409 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23410 (grub_cmd_xnu_kernel): Make 32-bit only.
23411 (grub_cmd_xnu_kernel64): New function.
23412 (grub_xnu_load_driver): Support Mach-O 64.
23413 (grub_cmd_xnu_mkext): Likewise.
23414 * util/grub.d/30_os-prober.in (osx_entry): New function.
23415 Generate entries for 64-bit boot too.
23416
23417 Eliminate ad-hoc tree format in XNU and EfiEmu.
23418
23419 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23420 * efiemu/pnvram.c: Rewritten to use environment variables.
23421 All users updated.
23422
23423 Inline utf16_to_utf8.
23424
23425 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23426 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23427 All users updated.
23428 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23429
23430 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23431 * commands/usbtest.c (grub_usb_get_string): ... move here.
23432 (usb_print_str): Fix error handling.
23433 * include/grub/usb.h (grub_usb_get_string): Remove.
23434
23435 UTF-8 to UTF-16 transformation.
23436
23437 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23438 (charset_mod_SOURCES): New variable.
23439 (charset_mod_CFLAGS): Likewise.
23440 (charset_mod_LDFLAGS): Likewise.
23441 * include/grub/utf.h: New file.
23442 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23443
23444 Support for device properties.
23445
23446 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23447 (grub_xnu_devprop_device_header): Likewise.
23448 (grub_xnu_devprop_device_descriptor): Likewise.
23449 (grub_xnu_devprop_add_device): New prototype.
23450 (grub_xnu_devprop_remove_device): Likewise.
23451 (grub_xnu_devprop_remove_property): Likewise.
23452 (grub_xnu_devprop_add_property_utf8): Likewise.
23453 (grub_xnu_devprop_add_property_utf16): Likewise.
23454 (grub_cpu_xnu_init): Likewise.
23455 (grub_cpu_xnu_fini): Likewise.
23456 (grub_cpu_xnu_unload): Likewise.
23457 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23458 (property_descriptor): Likewise.
23459 (devices): New variable.
23460 (grub_xnu_devprop_remove_property): New function.
23461 (grub_xnu_devprop_add_device): Likewise.
23462 (grub_xnu_devprop_remove_device): Likewise.
23463 (grub_xnu_devprop_add_property): Likewise.
23464 (grub_xnu_devprop_add_property_utf8): Likewise.
23465 (grub_xnu_devprop_add_property_utf16): Likewise.
23466 (hextoval): Likewise.
23467 (grub_cpu_xnu_fill_devprop): Likewise.
23468 (grub_cmd_devprop_load): Likewise.
23469 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23470 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23471 (cmd_devprop_load): New variable.
23472 (grub_cpu_xnu_init): New function.
23473 (grub_cpu_xnu_fini): Likewise.
23474 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23475 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23476 (grub_cmd_xnu_devtree): Likewise.
23477 (hextoval): New function.
23478 (unescape): Likewise.
23479 (grub_xnu_fill_devicetree): Likewise.
23480
23481 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23482 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23483
0945f181
VS
234842009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23485
23486 Workaround for broken ATI VBE.
23487
23488 * video/i386/pc/vbe.c (last_set_mode): New variable.
23489 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23490 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23491 (grub_video_vbe_setup): Don't check for reserved flag.
23492
0ad46fd7 234932009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23494
23495 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23496 the `find' command.
23497
c179ebe4
VS
234982009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 UUID support for HFS.
23501
23502 * fs/hfs.c (grub_hfs_uuid): New function.
23503 (grub_hfs_fs): New value .uuid.
23504 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23505
0ad46fd7 235062009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23507
23508 Fix a segfault with parsing unknown long options.
23509
23510 * util/grub-mkrelpath.c (options): Zero terminate it.
23511
c4a3e41a
CPE
235122009-12-13 Carles Pina i Estany <carles@pina.cat>
23513
23514 * include/grub/misc.h (grub_puts): New declaration.
23515 (grub_puts_): Likewise.
a22008a6 23516 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23517 (grub_puts_): Likewise.
23518
2e8a7602
RM
235192009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23520
23521 * util/grub-probe.c (probe): Improve error message.
23522
b50b77b9
RM
235232009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23524
23525 * loader/i386/multiboot_elfxx.c
23526 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23527 initialization.
23528
235292009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 Relocator framework
23532
23533 * loader/i386/xnu_helper.S: Removed. All users updated.
23534 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23535 (relocator_mod_SOURCES): New variable.
23536 (relocator_mod_CFLAGS): Likewise.
23537 (relocator_mod_LDFLAGS): Likewise.
23538 (relocator_mod_ASFLAGS): Likewise.
23539 * conf/x86_64.rmk: Likewise.
23540 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23541 (grub_multiboot_payload_entry_offset): Likewise.
23542 (grub_multiboot_forward_relocator): Likewise.
23543 (grub_multiboot_forward_relocator_end): Likewise.
23544 (grub_multiboot_backward_relocator): Likewise.
23545 (grub_multiboot_backward_relocator_end): Likewise.
23546 (grub_multiboot_payload_eip): New variable.
23547 (grub_multiboot_payload_orig): Likewise.
23548 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23549 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23550 * include/grub/i386/memory.h
23551 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23552 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23553 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23554 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23555 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23556 * include/grub/i386/relocator.h: New file.
23557 * include/grub/x86_64/relocator.h: Likewise.
23558 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23559 (XNU_RELOCATOR): New macro.
23560 (grub_xnu_launcher_start): Remove.
23561 (grub_xnu_launcher_end): Likewise.
23562 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23563 (grub_xnu_heap_real_start): Remove.
23564 (grub_xnu_heap_start): Change to void *. All users updated.
23565 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23566 * lib/i386/relocator.c: New file.
23567 * lib/i386/relocator_asm.S: Likewise.
23568 * lib/i386/relocator_backward.S: Likewise.
23569 * lib/mips/relocator.c: Likewise.
23570 * lib/mips/relocator_asm.S: Likewise.
23571 * lib/relocator.c: Likewise.
23572 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23573 (entry): Removed.
23574 (playground): Likewise.
23575 (grub_multiboot_payload_orig): New variable.
23576 (grub_multiboot_payload_dest): Likewise.
23577 (grub_multiboot_payload_size): Likewise.
23578 (grub_multiboot_payload_eip): Likewise.
23579 (grub_multiboot_payload_esp): Likewise.
23580 (grub_multiboot_boot): Use grub_relocator32_boot.
23581 (grub_multiboot_unload): Free relocators.
23582 (grub_multiboot): Setup stack. Use relocators.
23583 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23584 (grub_multiboot_load_elfXX): Use relocators.
23585 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23586 (grub_multiboot_payload_size): Likewise.
23587 (grub_multiboot_payload_dest): Likewise.
23588 (grub_multiboot_payload_entry_offset): Likewise.
23589 (grub_multiboot_forward_relocator): Likewise.
23590 (grub_multiboot_backward_relocator): Likewise.
23591 (grub_multiboot_real_boot): Likewise.
23592 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23593 (grub_xnu_entry_point): Likewise.
23594 (grub_xnu_arg1): Likewise.
23595 (grub_xnu_stack): Likewise.
23596 (grub_xnu_launch): Removed.
23597 (grub_xnu_boot_resume): New function.
23598 (grub_xnu_boot): Use relocators.
23599 * loader/i386/xnu_helper.S: Removed.
23600 * loader/xnu.c (grub_xnu_heap_start): New variable.
23601 (grub_xnu_heap_size): Likewise.
23602 (grub_xnu_heap_malloc): Use relocators.
23603 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23604
29eb90c6
VS
236052009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23606
23607 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23608 anything.
23609
31027430
CPE
236102009-12-13 Carles Pina i Estany <carles@pina.cat>
23611
23612 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23613 GRUB_ERR_NONE before calling grub_env_set.
23614
dc0c71d9
RM
236152009-12-12 Robert Millan <rmh@aybabtu.com>
23616
23617 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23618 * genmk.rb (video): New variable.
23619 (CLEANFILES, VIDEOFILES): Add #{video}.
23620 (#{video}): New target rule.
23621 * genvideolist.sh: New file.
23622 * Makefile.in (pkglib_DATA): Add video.lst.
23623 (video.lst): New target rule.
23624 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23625 `video.lst'.
23626 * util/grub.d/30_os-prober.in: Replace `vbe' with
23627 ${GRUB_VIDEO_BACKEND}.
23628
2a4bfcf0
RM
236292009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23630
23631 * THANKS: Add David Miller.
23632
2a3aa4d5
RM
236332009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 libpciaccess support.
23636
23637 * Makefile.in (LIBPCIACCESS): New variable.
23638 (enable_grub_emu_pci): Likewise.
23639 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23640 util/pci.c and commands/lspci.c.
23641 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23642 * configure.ac (grub-emu-pci): New option.
23643 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23644 (grub_pci_device_unmap_range): Likewise.
23645 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23646 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23647 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23648 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23649 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23650 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23651 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23652 * include/grub/pciutils.h: New file.
23653 * util/pci.c: Likewise.
23654
0ad46fd7 236552009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23656
23657 * util/misc.c: Don't include <errno.h> twice.
23658
0ad46fd7 236592009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23660
23661 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23662 name in an error message.
23663 (grub_biosdisk_rw): Likewise.
23664
2e59983c
VS
236652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 Eliminate NTFS 4Gib barrier.
23668
23669 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23670 (read_run_data): Likewise.
23671 (grub_ntfs_read_run_list): Likewise.
23672 (grub_ntfs_read_block): Likewise.
23673 (grub_ntfs_iterate_dir): Likewise.
23674 (read_mft): Likewise.
23675 (read_data): Likewise.
23676 Use COM_LOG_LEN.
23677 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23678 to avoid 64-bit division
23679 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23680 (grub_ntfs_rlst): Use grub_disk_addr_t.
23681
71ee178a
VS
236822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 Eliminate grub-fstest 4Gib barrier.
23685
23686 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23687 (read_file): Fix error reporting.
23688
2520d4b8
VS
236892009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 Eliminate hexdump 4Gib barrier.
23692
23693 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23694 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23695
e1f27065
VS
236962009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23697
23698 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23699 Fixes amarsh bug.
23700
1a0f7f45
RM
237012009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23702
23703 Remove miscellaneous files in distclean target.
23704
23705 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23706
c631d9fb
CW
237072009-12-09 Colin Watson <cjwatson@ubuntu.com>
23708
23709 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23710 if they're already set. This resolves the conflict between my
23711 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23712 fixing the --grub-probe option again.
23713 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23714 change on 2009-10-06, so that we now once again source
23715 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23716
7c7b6106
RM
237172009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23718
23719 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23720 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23721 `util/devicemap.c'.
23722
e3069ec1
CPE
237232009-12-08 Carles Pina i Estany <carles@pina.cat>
23724
23725 * include/grub/misc.h (grub_printf_): New declaration.
23726 * kern/misc.c (grub_printf_): New definition.
23727 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23728 instead of `grub_printf' and `_'.
23729 * normal/menu_entry.c (store_completion): Likewise.
23730 (run): Likewise.
23731 (grub_menu_entry_run): Likewise.
23732 * normal/menu_text.c (grub_wait_after_message): Likewise.
23733 (notify_booting): Likewise.
23734 (notify_fallback): Likewise.
23735 (notify_execution_failure): Likewise.
23736
d6ceebf1
CW
237372009-12-07 Colin Watson <cjwatson@ubuntu.com>
23738
23739 * configure.ac: Check for vasprintf.
23740 * util/misc.c (asprintf): Move allocation from here ...
23741 (vasprintf): ... to here. New function.
23742 (xasprintf): New function.
23743 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23744 prototypes.
23745 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23746 * util/grub-mkfont.c (write_font): Likewise.
23747 * util/grub-probe.c (probe): Likewise.
23748 * util/hostdisk.c (make_device_name): Likewise.
23749
de6daa8b
DM
237502009-12-06 David S. Miller <davem@sunset.davemloft.net>
23751
23752 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23753 anything even prefixed with 'cdrom' as a cdrom.
23754
0ad46fd7 237552009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23756
23757 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23758 mount points.
23759
98d3dc02
CPE
237602009-12-05 Carles Pina i Estany <carles@pina.cat>
23761
23762 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23763 grub_gettext_msg_list.
23764 (grub_gettext_gettranslation_from_position): Return const char *
23765 and not char *.
a2c1332b 23766 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23767 returns from the list if existing there.
23768 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23769 (grub_gettext_delete_list): Delete the list.
23770 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23771 lang environment variable is changed.
23772 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23773
b283f108
VS
237742009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 Rename kernel.mod to kernel.img.
23777
23778 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23779 (kernel_mod_EXPORTS): Rename to ...
23780 (kernel_img_EXPORTS): ... this.
23781 (kernel_mod_SOURCES): Rename to ...
23782 (kernel_img_SOURCES): ... this.
23783 (kernel_mod_HEADERS): Rename to ...
23784 (kernel_img_HEADERS): ... this. All users updated.
23785 (kernel_mod_CFLAGS): Rename to ...
23786 (kernel_img_CFLAGS): ... this.
23787 (kernel_mod_ASFLAGS): Rename to ...
23788 (kernel_img_ASFLAGS): ... this.
23789 (kernel_mod_LDFLAGS): Rename to ...
23790 (kernel_img_LDFLAGS): ... this.
23791 * conf/x86_64-efi.rmk: Likewise.
23792 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23793 (read_kernel_image): ... this. All users updated.
23794 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23795
69055f8a
CPE
237962009-12-05 Carles Pina i Estany <carles@pina.cat>
23797
23798 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23799 (print_spaces): New function.
23800 (grub_print_ucs4): New function.
23801 (getstringwidth): New function.
23802 (print_message_indented): New function.
23803 (print_message): Gettexttize strings using print_message_indented.
23804 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23805 width.
23806 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23807 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23808 Gettextize.
23809 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23810 string.
23811 (run): Likewise.
23812 (grub_menu_entry_run): Likewise.
23813 * PO/POTFILES: Add normal/menu_entry.c.
23814
f616f51c
VS
238152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23818
57bbe3be
CPE
238192009-12-05 Carles Pina i Estany <carles@pina.cat>
23820
23821 * util/grub-install.in: Install gettext .mo files.
23822 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23823
013d67a1
CPE
238242009-12-05 Carles Pina i Estany <carles@pina.cat>
23825
23826 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23827 grub_dprintf.
23828
fb954db0
RM
238292009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23830
23831 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23832 non-firmware-dependant one in realmode.S takes precedence.
23833
6b8474f8
RM
238342009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23835
23836 * commands/halt.c: Replace misc arch-specific headers with
23837 `<grub/misc.h>'.
23838 * commands/reboot.c: Likewise.
23839 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23840 `<grub/misc.h>'.
23841 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23842 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23843 (kernel_img_SOURCES): ... to here.
23844
23845 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23846 * include/grub/i386/pc/init.h: Likewise.
23847 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23848 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23849
23850 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23851
23852 * include/grub/i386/halt.h: Remove.
23853 * include/grub/i386/reboot.h: Likewise.
23854
23855 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23856
4b2e6ca2
DM
238572009-12-03 David S. Miller <davem@sunset.davemloft.net>
23858
23859 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23860 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23861 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23862 "progname.h"
23863 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23864 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23865 (usage): Add missing comma in printf.
23866
5239348f
RM
238672009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23868
23869 Use the same reboot approach on i386 coreboot and qemu as we do on
23870 BIOS.
23871
23872 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23873 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23874 * kern/i386/reboot.c: Remove.
23875 * include/grub/i386/reboot.h (grub_reboot): Export function.
23876 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23877 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23878 0xf000:0xfff0 instead of 0xffff:0x0000.
23879 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23880 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23881
ef34cbd4
RM
238822009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23883
23884 Fix $srcdir != $objdir build.
23885
23886 * Makefile.in (po/%.po): Rewrite as ...
23887 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23888
dc9837ea
ST
238892009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23890
23891 Fix GNU/Hurd grub-install crash.
23892 * util/grub-probe.c (probe): Try to access `path' only when it is not
23893 NULL.
23894
2f857f98
VS
238952009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 Correct module naming.
23898
23899 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23900 (GRUB_MOD_INIT(efi_uga)): ... to this
23901 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23902 (GRUB_MOD_FINI(efi_uga)): ... to this
23903 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23904 (GRUB_MOD_INIT(efi_gop)): ... to this
23905 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23906 (GRUB_MOD_FINI(efi_gop)): ... to this
23907
c5448046
RM
239082009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23909
23910 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23911 translatable.
23912 (usage): Translate `arg' strings using gettext().
23913 Thanks to Jordi Mallach for the suggestion.
23914
c85184ad
VS
239152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 GOP support. Based on patch from Bean
23918 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23919
23920 * video/efi_gop.c: New file.
23921 * include/grub/efi/graphics_output.h: Likewise.
23922 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23923 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23924 variables.
23925 * conf/x86_64-efi.rmk: Likewise.
23926
8a4c48d8
VS
239272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23928
23929 Rename efi_fb to efi_uga.
23930
23931 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23932 'efi_uga.mod'.
23933 (efi_fb_mod_SOURCES): Rename this ...
23934 (efi_uga_mod_SOURCES): ... to this.
23935 (efi_fb_mod_CFLAGS): Rename this ...
23936 (efi_uga_mod_CFLAGS): ... to this.
23937 (efi_fb_mod_LDFLAGS): Rename this ...
23938 (efi_uga_mod_LDFLAGS): ... to this.
23939 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23940 'efi_uga.mod'.
23941 (efi_fb_mod_SOURCES): Rename this ...
23942 (efi_uga_mod_SOURCES): ... to this.
23943 (efi_fb_mod_CFLAGS): Rename this ...
23944 (efi_uga_mod_CFLAGS): ... to this.
23945 (efi_fb_mod_LDFLAGS): Rename this ...
23946 (efi_uga_mod_LDFLAGS): ... to this.
23947 * video/efi_fb.c: Move this ...
23948 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23949
fb6c1a7b
RM
239502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23951
23952 * po/README: New file. Explain our PO file workflow.
23953
3bc7896c
RM
239542009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23955
23956 * po/ChangeLog: Remove. Move relevant entries back to ...
23957 * ChangeLog: ... here.
23958 * po/ca.po: Remove (now handled by TLP).
23959 * po/id.po: Likewise.
23960 * po/zh_CN.po: Likewise.
23961 * Makefile.in (LINGUAS): Initialize in a way that supports
23962 empty set.
23963
9ed4841d
RM
239642009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23965
23966 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23967 reliing on po/LINGUAS.
23968 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23969 (po/%.po): ... this.
23970
0ad46fd7 239712009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23972
23973 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23974 (main): Use `program_name' instead of nonexistent `progname'.
23975
e30dd392
FZ
239762009-11-26 Felix Zielcke <fzielcke@z-51.de>
23977
23978 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23979 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23980
7656de4f
RM
239812009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23982
23983 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23984 commit.
23985 * conf/i386-efi.rmk: Likewise.
23986 * conf/i386-ieee1275.rmk: Likewise.
23987 * conf/powerpc-ieee1275.rmk: Likewise.
23988 * conf/sparc64-ieee1275.rmk: Likewise.
23989 * conf/x86_64-efi.rmk: Likewise.
23990
db77c4d4
FZ
239912009-11-26 Felix Zielcke <fzielcke@z-51.de>
23992
23993 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23994
a755bb04
FZ
239952009-11-26 Felix Zielcke <fzielcke@z-51.de>
23996
23997 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23998
8a4c07fd
RM
239992009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24000
24001 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24002 (grub_mkdevicemap_SOURCES): New variable.
24003 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24004 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24005 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24006 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24007 (grub_mkdevicemap_SOURCES): Remove.
24008 * conf/i386-efi.rmk: Likewise.
24009 * conf/i386-ieee1275.rmk: Likewise.
24010 * conf/i386-pc.rmk: Likewise.
24011 * conf/powerpc-ieee1275.rmk: Likewise.
24012 * conf/sparc64-ieee1275.rmk: Likewise.
24013 * conf/x86_64-efi.rmk: Likewise.
24014 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24015 (usage): Fix strings to use `program_name'.
24016 (main): Initialize gettext.
24017 * util/grub-editenv.c: Likewise.
24018 * util/grub-emu.c: Likewise.
24019 * util/grub-fstest.c: Likewise.
24020 * util/grub-mkdevicemap.c: Likewise.
24021 * util/grub-mkfont.c: Likewise.
24022 * util/grub-mkrelpath.c: Likewise.
24023 * util/grub-pe2elf.c: Likewise.
24024 * util/grub-probe.c: Likewise.
24025 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24026 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24027 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24028
24029 * util/misc.c: Include `"progname.h"'.
24030 (progname): Remove variable.
24031 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24032
6f61ed55
FZ
240332009-11-25 Felix Zielcke <fzielcke@z-51.de>
24034
24035 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24036 printf and print a newline after the menuentry header line.
24037 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24038
f022876b
FZ
240392009-11-25 Felix Zielcke <fzielcke@z-51.de>
24040
24041 autoconf >= 2.60 support $(localedir).
24042
24043 * INSTALL: Note that autoconf 2.60 is required.
24044 * configure.ac (AC_PREREQ): Bump to 2.60.
24045 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24046 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24047
6717926e
YB
240482009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24049
24050 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24051 aclocal is run.
24052
08806a54
RM
240532009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 * normal/main.c (grub_normal_read_line): Fix off-by-one
24056 buffer overflow.
24057
13b33fba
RM
240582009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24061 "parser.grub" in grub_command_execute() call.
24062
4a8572e9
CPE
240632009-11-24 Carles Pina i Estany <carles@pina.cat>
24064
24065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24066 * conf/i386-efi.rmk: Likewise.
24067 * conf/i386-ieee1275.rmk: Likewise.
24068 * conf/i386-pc.rmk: Likewise.
24069 * conf/powerpc-ieee1275.rmk: Likewise.
24070 * conf/sparc64-ieee1275.rmk: Likewise.
24071 * conf/x86_64-efi.rmk: Likewise.
24072 * gettext/gettex.c: Include <grub/i18n.h>.
24073 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24074 here ...
24075 * include/grub/i18n.h: ... to here
24076 * include/grub/i18n.h: ... to here.
24077 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24078 (grub_gettext_dummy): Move above user.
4a8572e9 24079
bee48093
FZ
240802009-11-24 Felix Zielcke <fzielcke@z-51.de>
24081
24082 * util/Makefile.in (install-local): Convert a `for' into a normal
24083 shell expansion.
24084
a031e91c
RM
240852009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24086
24087 * autogen.sh: Add automake call.
24088 * config.guess: Remove.
24089 * config.sub: Likewise.
24090 * install-sh: Likewise.
24091
26bec39d
FZ
240922009-11-24 Felix Zielcke <fzielcke@z-51.de>
24093
24094 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24095
8e2532fd
FZ
240962009-11-24 Felix Zielcke <fzielcke@z-51.de>
24097
24098 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24099 function to a normal shell `for'.
24100
fefa1b7d
FZ
241012009-11-24 Felix Zielcke <fzielcke@z-51.de>
24102
24103 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24104
4501250b
FZ
241052009-11-24 Felix Zielcke <fzielcke@z-51.de>
24106
24107 * util/grub-mkrelpath.c: New file.
24108 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24109 (grub_mkrelpath_SOURCES): New variable.
24110 * include/grub/util/misc.h: New function prototype.
24111 * util/misc.c (make_system_path_relative_to_its_root): New function.
24112
24113 * util/grub-mkconfig_lib.in (bindir): New variable.
24114 (grub_mkrelpath): Likewise.
24115 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24116
24117 * util/probe.c (probe): Make the file path relative to its root.
24118 Change a info message to use the GRUB path. Enable again the
24119 check if we can read the file with GRUB facilities.
24120
24121 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24122 to its root.
24123
11d9778b
FZ
241242009-11-24 Felix Zielcke <fzielcke@z-51.de>
24125
24126 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24127 platform.
24128
4465287d
FZ
241292009-11-24 Felix Zielcke <fzielcke@z-51.de>
24130
24131 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24132 strncmp().
24133
62b47f22
FZ
241342009-11-24 Felix Zielcke <fzielcke@z-51.de>
24135
24136 * util/getroot.c (grub_util_is_dmraid): New function.
24137 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24138 devices as normal ones, not as LVM.
24139
1eafb9b9 241402009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24141
24142 * conf/common.rmk: Add grub-gettext_lib target and updates
24143 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24144 LDFLAGS.
24145 * gettext/gettext.c: New file. (Reads mo files).
24146 * include/grub/file.h (grub_file_pread): New prototype.
24147 * include/grub/i18n.h (_): New prototype.
24148 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24149 prototypes.
24150 * kern/misc.c (grub_gettext_dummy): New function.
24151 * normal/menu_text.c: Include <grub/i18n.h>.
24152 * normal/menu_text.c (print_timeout): Gettexttize string.
24153 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24154 * po/POTFILES: Add `normal/menu_text.c'.
24155 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24156 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24157 gettext module and defines locale_dir and lang in grub.cfg.
24158 * NEWS: Add gettext support.
24159
0fdb2568
RM
241602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24161
24162 * util/hostdisk.c: Include `<grub/i18n.h>'.
24163 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24164 (make_device_name): Rewrite using asprintf.
24165 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24166 (find_system_device): If a device is not found, generate one just
24167 by reusing the OS path name.
24168 (read_device_map): Make it permissible for device.map not to exist.
24169
f515aa62
RM
241702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24171
24172 * script/sh/execute.c: Move from here ...
24173 * script/execute.c: ... to here. Update all users.
24174 * script/sh/function.c: Move from here ...
24175 * script/function.c: ... to here. Update all users.
24176 * script/sh/lexer.c: Move from here ...
24177 * script/lexer.c: ... to here. Update all users.
24178 * script/sh/main.c: Move from here ...
24179 * script/main.c: ... to here. Update all users.
24180 * script/sh/parser.y: Move from here ...
24181 * script/parser.y: ... to here. Update all users.
24182 * script/sh/script.c: Move from here ...
24183 * script/script.c: ... to here. Update all users.
24184
f84b481b
RM
241852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * configure.ac: Detect all `emu' platforms. Define
24188 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24189 --enable-grub-emu logic. Disable include/grub/machine
24190 symlink on `emu' platforms.
24191
24192 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24193 * gensymlist.sh.in: Likewise.
24194
24195 * include/grub/i386/coreboot/machine.h: Remove file.
24196 * include/grub/i386/efi/machine.h: Likewise.
24197 * include/grub/i386/ieee1275/machine.h: Likewise.
24198 * include/grub/i386/pc/machine.h: Likewise.
24199 * include/grub/i386/qemu/machine.h: Likewise.
24200 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24201 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24202 * include/grub/x86_64/efi/machine.h: Likewise.
24203
24204 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24205 * commands/halt.c: Likewise.
24206 * commands/reboot.c: Likewise.
24207 * include/grub/autoefi.h: Likewise.
24208 * include/grub/i386/at_keyboard.h: Likewise.
24209 * include/grub/i386/kernel.h: Likewise.
24210 * include/grub/i386/loader.h: Likewise.
24211 * include/grub/i386/pc/memory.h: Likewise.
24212 * kern/dl.c: Likewise.
24213 * kern/i386/coreboot/init.c: Likewise.
24214 * loader/i386/bsd.c: Likewise.
24215 * loader/i386/linux.c: Likewise.
24216 * loader/multiboot_loader.c: Likewise.
24217 * term/i386/pc/serial.c: Likewise.
24218 * term/usb_keyboard.c: Likewise.
24219
24220 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24221 `<grub/machine/machine.h>'
24222 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24223 * util/misc.c: Remove `<grub/machine/machine.h>' and
24224 `<grub/machine/time.h>'.
24225
24226 * Makefile.in (enable_grub_emu): Remove variable.
24227 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24228
24229 * conf/any-emu.rmk: New file.
24230 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24231 (grub_emu_init.c): Move from here ...
24232 * conf/any-emu.rmk: ... to here.
24233
24234 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24235 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24236 * conf/any-emu.rmk: ... to here.
24237
4efeab03
RM
242382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24239
24240 * include/grub/parser.h (grub_parser_register): Document need
24241 of `name' parameter.
24242 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24243 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24244 "sh" to "grub".
24245
ea1dd8bf
RM
242462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24247
24248 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24249 `$(XGETTEXT)'.
24250 * include/grub/i18n.h (N_): New macro.
24251 * util/mkisofs/mkisofs.h: Likewise.
24252 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24253 around N_().
24254 (usage): Use gettext() to translate help strings when printing them.
24255
0c140626
RM
242562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24257
24258 Based on patch from Bean
24259 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24260
24261 * video/efi_fb.c: New file.
24262 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24263 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24264 variables.
24265 * conf/x86_64-efi.rmk: Likewise.
24266
87d58298
RM
242672009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24268
24269 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24270 * util/i386/pc/grub-setup.c: Likewise.
24271
994cc3a3
ST
242722009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24273
24274 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24275 <hurd/fs.h>
24276 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24277 file_get_storage_info to implement grub_guess_root_device.
24278
26a61d6a
FZ
242792009-11-21 Felix Zielcke <fzielcke@z-51.de>
24280
24281 * Makefile.in (target): Use make's builtin $(shell) function
24282 instead of calling directly $(SHELL) to create the locale directories,
24283 inside the $(foreach) function.
24284
74ff1dd5
FZ
242852009-11-21 Felix Zielcke <fzielcke@z-51.de>
24286
24287 * util/grub-mkrescue.in: Print an error and usage if output option
24288 has not been given.
24289
0b787d0e
FZ
242902009-11-21 Felix Zielcke <fzielcke@z-51.de>
24291
24292 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24293 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24294 root and /boot are on different devices.
24295
1164b270
RM
242962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24297
24298 Fix build for srcdir != objdir.
24299
24300 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24301 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24302 $(srcdir).
24303 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24304 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24305 reference for input.
24306
13774a2f
RM
243072009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24308
24309 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24310 or hardlinking it). Remove -J option, Joliet is not compatible with
24311 multiple source directories.
24312
efda854e
RM
243132009-11-21 Carles Pina i Estany <carles@pina.cat>
243142009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24315
24316 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24317 (process_input_dir): New function. Process an arbitrary input
24318 directory.
24319 Misc adjustments to support both "override mode" and system-wide mode.
24320
6c09890c
FZ
243212009-11-20 Felix Zielcke <fzielcke@z-51.de>
24322
24323 * configure.ac (UNIFONT_BDF): Rename to ...
24324 (FONT_SOURCE): ... this. Update all users.
24325
a797824f
FZ
243262009-11-20 Felix Zielcke <fzielcke@z-51.de>
24327
24328 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24329 to the list of unifont files to look for.
24330
cd4f42b0
RM
243312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24332
24333 Patch from Joe Auricchio <jauricchio@gmail.com>
24334 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24335 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24336 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24337
393c783d
FZ
243382009-11-19 Felix Zielcke <fzielcke@z-51.de>
24339
24340 * Makefile.in (install-local): Add a missing backslash.
24341
b2f1e327
FZ
243422009-11-19 Felix Zielcke <fzielcke@z-51.de>
24343
24344 * include/grub/x86_64/io.h: New file.
24345
f577f7a0
RM
243462009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24347
24348 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24349 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24350 Include `"progname.h"'.
24351 (main): Initialize gettext.
24352 * util/i386/pc/grub-setup.c: Gettexttize.
24353 * util/i386/pc/grub-mkimage.c: Likewise.
24354
24355 * Makefile.in (po/*.po): Redefine as ...
24356 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24357
3bc7896c
RM
24358 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24359
c37943b6
RM
243602009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24363 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24364 (program_name): Remove.
24365 (main): Initialize gettext support.
6323f705
RM
24366 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24367 Include `<libintl.h>'.
24368 (_): New macro.
c37943b6
RM
24369
24370 * util/mkisofs/eltorito.c: Gettexttize.
24371 * util/mkisofs/joliet.c: Likewise.
24372 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24373 * util/mkisofs/multi.c: Likewise.
24374 * util/mkisofs/rock.c: Likewise.
24375 * util/mkisofs/tree.c: Likewise.
24376 * util/mkisofs/write.c: Likewise.
24377
3bc7896c
RM
24378 * po/POTFILES: Update with new files.
24379
5ce77c6e
RM
243802009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24383 * util/mkisofs/iso9660.h: Likewise.
24384 * util/mkisofs/joliet.c: Likewise.
24385 * util/mkisofs/mkisofs.c: Likewise.
24386 * util/mkisofs/mkisofs.h: Likewise.
24387 * util/mkisofs/rock.c: Likewise.
24388 * util/mkisofs/tree.c: Likewise.
24389 * util/mkisofs/write.c: Likewise.
24390
24391 * util/mkisofs/eltorito.c (rcsid): Remove.
24392 * util/mkisofs/hash.c: Likewise.
24393 * util/mkisofs/joliet.c: Likewise.
24394 * util/mkisofs/name.c: Likewise.
24395 * util/mkisofs/rock.c: Likewise.
24396 * util/mkisofs/tree.c: Likewise.
24397 * util/mkisofs/write.c: Likewise.
24398
1dabbc77
RM
243992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24402 instead of static allocation.
24403 * util/mkisofs/match.h: Likewise.
24404
633877cb
RM
244052009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24406
3bc7896c
RM
24407 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24408 and `util/grub.d/10_linux.in'.
633877cb
RM
24409 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24410 translatable Shell files.
24411
af1c0c85
RM
244122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24413
24414 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24415
769ae37b
RM
244162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24417
24418 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24419 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24420 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24421 Add gettext initialization.
24422 (kfreebsd_entry): Make menuentry output translatable.
24423
244242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24425
24426 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24427 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24428 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24429 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24430 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24431 * po/LINGUAS: New file.
769ae37b
RM
24432
244332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24434
24435 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24436 other things).
24437 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24438 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24439 bindtextdomain() calls for gettext initialization.
24440
244412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24442
24443 * gnulib/progname.c: New file (imported from Gnulib).
24444 * gnulib/progname.h: Likewise.
24445 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24446 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24447 (usage): Replace `progname' with `program_name'.
24448 (main): Use set_program_name() for program name initialization.
24449
244502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24453 from here ...
24454 * Makefile.in (CPPFLAGS): ... to here.
24455
244562009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24457
24458 * aclocal.m4: Move from here ...
24459 * acinclude.m4: ... to here.
24460 * autogen.sh: Add call to `aclocal'.
24461 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24462
244632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24464
24465 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24466 (LINGUAS): New variable.
24467 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24468 (install-local): Install MO files.
24469 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24470 * include/grub/i18n.h: New file.
3bc7896c
RM
24471 * po/POTFILES: New file.
24472 * po/ca.po: New file.
769ae37b
RM
24473 * util/grub.d/10_linux.in (bindir): New variable.
24474 Add gettext initialization.
24475 (linux_entry): Make menuentry output translatable.
24476 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24477 (usage): Make --help output translatable.
24478 (main): Initialize gettext.
24479
02c0a6ad
RM
244802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24481
24482 * import_gcry.py: New file (written by Vladimir with minor
24483 adjustments).
24484 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24485 ciphers.
24486 * INSTALL: Document that Python is required for bootstrap.
24487
244882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24489
24490 Import ciphers from libgcrypt 1.4.4.
24491
24492 * lib/libgcrypt/cipher/ChangeLog
24493 * lib/libgcrypt/cipher/ac.c
24494 * lib/libgcrypt/cipher/arcfour.c
24495 * lib/libgcrypt/cipher/bithelp.h
24496 * lib/libgcrypt/cipher/blowfish.c
24497 * lib/libgcrypt/cipher/camellia-glue.c
24498 * lib/libgcrypt/cipher/camellia.c
24499 * lib/libgcrypt/cipher/camellia.h
24500 * lib/libgcrypt/cipher/cast5.c
24501 * lib/libgcrypt/cipher/cipher.c
24502 * lib/libgcrypt/cipher/crc.c
24503 * lib/libgcrypt/cipher/des.c
24504 * lib/libgcrypt/cipher/dsa.c
24505 * lib/libgcrypt/cipher/ecc.c
24506 * lib/libgcrypt/cipher/elgamal.c
24507 * lib/libgcrypt/cipher/hash-common.c
24508 * lib/libgcrypt/cipher/hash-common.h
24509 * lib/libgcrypt/cipher/hmac-tests.c
24510 * lib/libgcrypt/cipher/md.c
24511 * lib/libgcrypt/cipher/md4.c
24512 * lib/libgcrypt/cipher/md5.c
24513 * lib/libgcrypt/cipher/primegen.c
24514 * lib/libgcrypt/cipher/pubkey.c
24515 * lib/libgcrypt/cipher/rfc2268.c
24516 * lib/libgcrypt/cipher/rijndael-tables.h
24517 * lib/libgcrypt/cipher/rijndael.c
24518 * lib/libgcrypt/cipher/rmd.h
24519 * lib/libgcrypt/cipher/rmd160.c
24520 * lib/libgcrypt/cipher/rsa.c
24521 * lib/libgcrypt/cipher/seed.c
24522 * lib/libgcrypt/cipher/serpent.c
24523 * lib/libgcrypt/cipher/sha1.c
24524 * lib/libgcrypt/cipher/sha256.c
24525 * lib/libgcrypt/cipher/sha512.c
24526 * lib/libgcrypt/cipher/tiger.c
24527 * lib/libgcrypt/cipher/twofish.c
24528 * lib/libgcrypt/cipher/whirlpool.c
24529
af2f93ac
RM
245302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24531
24532 Fix build for systems without error().
24533
24534 * gnulib/error.c: New file (imported from Gnulib).
24535 * gnulib/error.h: Likewise.
24536 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24537 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24538 (this variable is now used by error()).
24539
73fb3dd5
FZ
245402009-11-16 Felix Zielcke <fzielcke@z-51.de>
24541
814f5e96
FZ
24542 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24543 instead of relying that char is signed.
73fb3dd5 24544
a691ca33
VS
245452009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24546
24547 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24548 blocksize different from specified.
24549 (grub_pxefs_read): Likewise.
24550
2af8f0f4
FZ
245512009-11-16 Felix Zielcke <fzielcke@z-51.de>
24552
24553 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24554
24555 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24556 (grub_ata_readwrite): Likewise. Update 2 format strings.
24557 (grub_atapi_read): Likewise.
24558
24559 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24560 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24561 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24562 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24563 (ata_mod_LDFLAGS): Move from here ...
24564 * conf/i386.rmk: ... to here ...
24565 * conf/x86_64-efi.rmk: ... and here.
24566 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24567 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24568
83bdecaf
RM
245692009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24570
24571 Relicense multiboot.h, with RMS' blessing.
24572
24573 * include/multiboot.h: Change to X11 license.
24574
fd6fd3d7
RM
245752009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 Support --version in grub-mkisofs.
24578
24579 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24580 (OPTION_VERSION): New macro.
24581 (ld_options): Recognize --version.
24582 (usage): Move `program_name' from here ...
24583 (program_name): ... to here. Add `static' qualifier.
24584 (main): Recognize `OPTION_VERSION'.
24585
16a88c49
FZ
245862009-11-15 Felix Zielcke <fzielcke@z-51.de>
24587
24588 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24589 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24590
a4158476
RM
245912009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24592
24593 Fix help2man generation for mkisofs.
24594
24595 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24596 (usage): Send output to stdout (rather than stderr).
24597
fc2208b0
RM
245982009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24599
24600 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24601 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24602 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24603 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24604 (bin_SCRIPTS): Add `grub-mkfloppy'.
24605 (grub_mkfloppy_SOURCES): New variable.
24606
24607 * util/grub-mkrescue.in: New file.
24608 * util/i386/pc/grub-mkfloppy.in: New file.
24609
24610 * util/i386/coreboot/grub-mkrescue.in: Remove.
24611 * util/i386/pc/grub-mkrescue.in: Remove.
24612
8d0edf4a
RM
246132009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24614
24615 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24616 from here ...
24617 * include/multiboot.h (struct multiboot_header): ... to here. Update
24618 all users.
24619 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24620 from here ...
24621 * include/multiboot.h (struct multiboot_info): ... to here. Update
24622 all users.
24623 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24624 from here ...
24625 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24626 Update all users.
24627 * include/grub/multiboot.h (struct grub_mod_list): Move
24628 from here ...
24629 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24630 Update all users.
24631
a73f5969
RM
246322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24633
24634 * include/multiboot2.h (multiboot_word): Rename from this ...
24635 (multiboot2_word): ... to this. Update all users.
24636 (multiboot_header): Rename from this ...
24637 (multiboot2_header): ... to this. Update all users.
24638 (multiboot_tag_header): Rename from this ...
24639 (multiboot2_tag_header): ... to this. Update all users.
24640 (multiboot_tag_start): Rename from this ...
24641 (multiboot2_tag_start): ... to this. Update all users.
24642 (multiboot_tag_name): Rename from this ...
24643 (multiboot2_tag_name): ... to this. Update all users.
24644 (multiboot_tag_module): Rename from this ...
24645 (multiboot2_tag_module): ... to this. Update all users.
24646 (multiboot_tag_memory): Rename from this ...
24647 (multiboot2_tag_memory): ... to this. Update all users.
24648 (multiboot_tag_unused): Rename from this ...
24649 (multiboot2_tag_unused): ... to this. Update all users.
24650 (multiboot_tag_end): Rename from this ...
24651 (multiboot2_tag_end): ... to this. Update all users.
24652
1c8927f0
RM
246532009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24654
24655 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24656 this platform we should support Multiboot1 first.
24657
24658 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24659 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24660 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24661
6e1e0d89
RM
246622009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24665 of write calls (converting them to fwrite() if they aren't already).
24666 (get_torito_desc): Likewise.
24667 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24668
7f2b34d8
RM
246692009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24670
24671 * util/i386/pc/grub-install.in: Move from here ...
24672 * util/grub-install.in: ... to here. Update all users.
24673
c0ef3311
CW
246742009-11-11 Colin Watson <cjwatson@ubuntu.com>
24675
24676 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24677
e1f240ff
RM
246782009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 Support for El Torito without floppy emulation.
24681
24682 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24683 (init_boot_catalog): Improve error handling.
24684 (get_torito_desc): Don't use floppy emulation unless requested by
24685 user. Patch boot information table when requested via
24686 `-boot-info-table'.
24687 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24688 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24689 (use_boot_info_table): New variables.
24690 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24691 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24692 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24693 `--eltorito-emul-floppy'.
24694 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24695 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24696 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24697 (use_boot_info_table, get_731): New prototypes.
24698 * util/mkisofs/write.c (get_731): New function.
24699
af7d4de5
FZ
247002009-11-11 Felix Zielcke <fzielcke@z-51.de>
24701
24702 Fix the generation of the man page.
24703
24704 * util/pc/i386/grub-install.in: Source
24705 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24706
2c55dbc0
RM
247072009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24708
24709 Large file support for grub-mkisofs.
24710
24711 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24712 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24713 (session_start): Upgrade type to `uint64_t'. Update all users.
24714 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24715 (struct directory_entry): Upgrade type of `starting_block' and
24716 `size' to `uint64_t'. Update all users.
24717 (struct deferred): Remove unused structure.
24718 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24719 Update all users.
24720 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24721 file is larger than `UINT32_MAX'.
24722 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24723 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24724 return value.
24725 (struct deferred_write): Upgrade type of `extent' and `size' to
24726 `uint64_t'. Update all users.
24727 (last_extent_written): Upgrade type to `uint64_t'. Update all
24728 users.
24729 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24730 Update all users. Upgrade type of `remain' to `int64_t' and
24731 `use' to `size_t'. Use error() to handle fread() errors.
24732 (write_files): Rely on write_one_file() rather than calling
24733 xfwrite() directly.
24734
6a9cead5
FZ
247352009-11-09 Felix Zielcke <fzielcke@z-51.de>
24736
24737 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24738
4825d790
RM
247392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24740
24741 * util/mkisofs/fnmatch.c: Remove.
24742 * util/mkisofs/getopt1.c: Likewise.
24743 * util/mkisofs/getopt.c: Likewise.
24744 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24745 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24746 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24747 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24748 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24749
24750 * configure.ac: Detect `mingw32msvc' host_os.
24751 Check for lstat(), getuid() and getgid().
24752
24753 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24754 instances of `u_char' with `uint8_t'.
24755
24756 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24757 [!HAVE_GETUID] (getuid): New function (stub).
24758 [!HAVE_GETGID] (getgid): Likewise.
24759 [!HAVE_LSTAT] (lstat): Likewise.
24760 [!S_IROTH] (S_IROTH): New macro (dummy).
24761 [!S_IRGRP] (S_IRGRP): Likewise.
24762
84b860d8
RM
247632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24764
24765 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24766 conditional expression).
24767
66e9b712
RM
247682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24769
24770 Import from Gnulib.
24771
24772 * gnulib/fnmatch.c: New file.
24773 * gnulib/fnmatch.h: Likewise.
24774 * gnulib/fnmatch_loop.c: Likewise.
24775 * gnulib/getopt.c: Likewise.
24776 * gnulib/getopt.h: Likewise.
24777 * gnulib/getopt1.c: Likewise.
24778 * gnulib/getopt_int.h: Likewise.
24779 * gnulib/gettext.h: Likewise.
24780
34f4a5b0
RM
247812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24782
24783 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24784 * normal/handler.c (read_handler_list): Likewise.
24785
ac451143
RM
247862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24787
24788 Misc cleanup.
24789
24790 * kern/command.c (grub_register_command_prio): Use
24791 grub_zalloc() instead of explicitly zeroing data.
24792 * kern/list.c: Include `<grub/mm.h>'.
24793 (grub_named_list_find): Replace `0' with `NULL'.
24794 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24795 (fs_module_list): Change type to `grub_named_list_t'. Update all
24796 users.
24797 * normal/dyncmd.c (read_command_list): Add space between function
24798 call and parenthesis.
24799 * normal/handler.c (read_handler_list): Likewise.
24800
4089b167
RM
248012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24802
24803 * normal/auth.c (punishment_delay): Moved from here ...
24804 (grub_auth_strcmp): ... to here (inside function).
24805
325f5037
RM
248062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24807
24808 * include/grub/list.h (struct grub_named_list): Remove `const'
24809 qualifier from `name'.
24810 (struct grub_prio_list): Likewise.
24811
7aea29a3
RM
248122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24813
24814 * normal/auth.c: Include `<grub/time.h>'.
24815 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24816
3fd6f044
RM
248172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24818
24819 * normal/auth.c (punishment_delay): New variable.
24820 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24821 (grub_auth_check_authentication): Punish failed login attempts with
24822 an incremental (2^N) delay.
24823
a4cd68e4
RM
248242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24825
24826 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24827 path with $(srcdir).
24828
7ad12f43
VS
248292009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24830
24831 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24832
c1129f03
RM
248332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24834
24835 * util/i386/coreboot/grub-mkrescue.in: New file.
24836 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24837 variables.
24838
24839 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24840 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24841 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24842 requirements.
24843 * util/mkisofs/defaults.h: New file.
24844 * util/mkisofs/eltorito.c: Likewise.
24845 * util/mkisofs/exclude.h: Likewise.
24846 * util/mkisofs/fnmatch.c: Likewise.
24847 * util/mkisofs/getopt.c: Likewise.
24848 * util/mkisofs/getopt1.c: Likewise.
24849 * util/mkisofs/hash.c: Likewise.
24850 * util/mkisofs/include/fctldefs.h: Likewise.
24851 * util/mkisofs/include/mconfig.h: Likewise.
24852 * util/mkisofs/include/prototyp.h: Likewise.
24853 * util/mkisofs/include/statdefs.h: Likewise.
24854 * util/mkisofs/iso9660.h: Likewise.
24855 * util/mkisofs/joliet.c: Likewise.
24856 * util/mkisofs/match.c: Likewise.
24857 * util/mkisofs/match.h: Likewise.
24858 * util/mkisofs/mkisofs.c: Likewise.
24859 * util/mkisofs/mkisofs.h: Likewise.
24860 * util/mkisofs/multi.c: Likewise.
24861 * util/mkisofs/name.c: Likewise.
24862 * util/mkisofs/rock.c: Likewise.
24863 * util/mkisofs/tree.c: Likewise.
24864 * util/mkisofs/write.c: Likewise.
24865
ec8bb77d
VS
248662009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24869 being insecure.
24870
3716b12c
RM
248712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24872
24873 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24874 `grub-mkimage' (and use $0 when possible).
24875
b97b7b91
RM
248762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24877
24878 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24879 error message for excessively large memory map.
24880
04114812
RM
248812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24882
24883 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24884 executable bit.
24885
e4eb2373
RM
248862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24887
24888 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24889 message for coreboot users.
24890
c926e1d5 248912009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24892
24893 Fix build with GNU gold.
24894
24895 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24896 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24897 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24898 link addresses.
24899 * aclocal.m4: Likewise.
24900
86e5b1db 249012009-11-04 Felix Zielcke <fzielcke@z-51.de>
24902
24903 * configure.ac (AC_PREREQ): Bump to 2.59d.
24904 * INSTALL: Make it more clear when Autoconf and Ruby are
24905 needed and when to run `./autogen.sh'.
24906
246cd78f 249072009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24908
24909 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24910 OSes.
24911
4f9dfb37 249122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24913
24914 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24915
b82bd5e1 249162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24917
24918 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24919 giving it to GNU Mach.
24920
ff1a9bca 249212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24922
24923 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24924 GNU partition number to get internal GRUB partition number.
24925
61697d9c 249262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24927
24928 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24929 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24930
a50569e1 249312009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24932
24933 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24934 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24935 case.
24936
5b153867 249372009-11-01 Felix Zielcke <fzielcke@z-51.de>
24938
24939 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24940
d9e2cd70 249412009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24942
24943 Fix build problem.
24944
24945 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24946 `-isystem=$(srcdir)/include'.
24947
805111a4 249482009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24949
24950 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24951 checked (grub-install doesn't currently rely on it).
24952
fa6e945f 249532009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24954
24955 Revert SVN r2660.
24956
24957 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24958 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24959 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24960 * conf/i386-ieee1275.rmk: Likewise.
24961 * conf/i386-pc.rmk: Likewise.
24962 * conf/powerpc-ieee1275.rmk: Likewise.
24963 * conf/sparc64-ieee1275.rmk: Likewise.
24964 * conf/x86_64-efi.rmk: Likewise.
24965
cee15086 249662009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24967
24968 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24969
95b9239e 249702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24971
24972 * include/grub/misc.h: Stop checking for APPLE_CC.
24973
2ed19dfd 249742009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24977 doesn't cause an infinite call loop.
24978
fdcdde19 249792009-10-28 Felix Zielcke <fzielcke@z-51.de>
24980
24981 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24982 strings.
24983
cefabfe1 249842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24985
24986 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24987 variable.
24988 * Makefile.in: Likewise.
24989
ed96ab6d 249902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24991
24992 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24993
0579b753 249942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24995
24996 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24997
478df409 249982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24999
25000 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25001
083d1679 250022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25003
25004 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25005 from here ...
25006 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25007
5947ae32 250082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25009
25010 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25011 in $(MAKEINFO) invocation. This makes it clear in output that
25012 errors are being ignored.
25013
94180ff6 250142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25015
25016 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25017 from here ...
25018 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25019 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25020 * conf/i386-ieee1275.rmk: Likewise.
25021 * conf/i386-pc.rmk: Likewise.
25022 * conf/powerpc-ieee1275.rmk: Likewise.
25023 * conf/sparc64-ieee1275.rmk: Likewise.
25024 * conf/x86_64-efi.rmk: Likewise.
25025
9031b03a 250262009-10-26 Colin Watson <cjwatson@ubuntu.com>
25027
25028 * util/grub-editenv.c (main): If only a command is given, use
25029 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25030 (usage): FILENAME is now optional and has a default.
25031
e4f6809b 250322009-10-26 Colin Watson <cjwatson@ubuntu.com>
25033
25034 Improve grub-mkconfig performance when there are several menu
25035 entries on a single filesystem.
25036
25037 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25038 prepare_grub_to_access_device.
25039 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25040 * util/grub.d/30_os-prober.in: Likewise.
25041
67937d4d 250422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25043
25044 * util/grub.d/10_freebsd.in: Remove.
25045 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25046 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25047
ee3756cc 250482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25049
5c35048e 25050 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25051
4dea1c6f 250522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25053
25054 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25055 grub_util_error() call.
25056
042484d7 250572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25058
25059 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25060 `reserved_first_sector' member.
25061 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25062 `reserved_first_sector' to 1.
25063 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25064 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25065 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25066 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25067 filesystems which begin at first sector.
25068 (options): New option --skip-fs-probe.
25069 (main): Handle --skip-fs-probe and pass it to setup().
25070
d64448a7 250712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25072
25073 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25074 (memset): Fix function prototype.
25075
508d42ec 250762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
250772009-10-25 Vasily Averin <vvs@parallels.com>
25078
25079 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25080 `dirent.direntlen == 0'.
25081
b240e30c 250822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25083
25084 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25085 `cpio'.
25086 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25087
346e7fbe 250882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25089
25090 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25091 `__trampoline_setup' and `__ucmpdi2'.
25092 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25093 that libgcc provides.
25094
cdb308b0 250952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25096
25097 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25098 * include/grub/sparc64/libgcc.h (memset): Likewise.
25099 * include/grub/misc.h (memset, memcmp): New function prototypes.
25100
fb26abc2 251012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25102
25103 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25104 `cpio'.
25105 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25106
f6693890 251072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25108
25109 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25110 * docs/grub.cfg: Compensate for recent change in multiboot
25111 loader (since 2009-08-14 it won't pass filename to payload).
25112 * util/grub.d/10_hurd.in: Likewise.
25113
0933cdc0 251142009-10-21 Felix Zielcke <fzielcke@z-51.de>
25115
25116 * config.guess: Update to latest version from config git
25117 repository.
25118 * config.sub: Likewise.
25119
3b2fe8c2 251202009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25121
25122 Fix build on sparc64.
25123
25124 * configure.ac: Perform checks for libgcc symbols before
25125 adding `-nostdlib' to LDFLAGS.
25126
46695a62 251272009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25128
25129 Let user specify OpenBSD root device.
25130
25131 * loader/i386/bsd.c (openbsd_root): New variable.
25132 (openbsd_opts): New option 'root'.
25133 (OPENBSD_ROOT_ARG): New macro.
25134 (grub_openbsd_boot): Use 'openbsd_root'.
25135 (grub_cmd_openbsd): Fill 'openbsd_root'.
25136
d2b6b7fc 251372009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25138
25139 * NEWS: Misc adjustments.
25140
421bd7ac 251412009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25144
f1d29d87 251452009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25146
25147 * configure.ac: Bump version to 1.97.
25148
6f3cd880 251492009-10-16 Colin Watson <cjwatson@ubuntu.com>
25150
25151 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25152 -mno-3dnow on x86 architectures. Some toolchains enable these
25153 features by default, but they rely on registers that aren't enabled
25154 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25155
035f7122 251562009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25157
25158 Make entry text a bit more readable.
25159
25160 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25161
44998e58 251622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25163
25164 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25165
cd2851b3 251662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25169 operations.
25170
c6f3b249 251712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * configure.ac: Add missing dollar.
25174
6b5886ba 251752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25176
25177 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25178
25179 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25180 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25181 exports.
25182 * include/grub/sparc64/libgcc.h: Likewise. Use
25183 preprocessor conditionals.
25184
e9d66f6d 251852009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25186
25187 * conf/common.rmk (grub-dumpbios): Remove rule.
25188 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25189 * util/grub-dumpbios.in: Remove file.
25190
9155bc17 251912009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25192
25193 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25194 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25195
25196 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25197 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25198 users.
25199
25200 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25201 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25202 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25203 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25204 users.
25205
bf7f7a18 252062009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25207
25208 * term/tparm.c: Switch to GPLv3.
25209
86564c26 252102009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25211
25212 * include/grub/i386/cpuid.h: Add header protection.
25213
5c936493 252142009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25215
25216 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25217
25218 * include/grub/i386/cpuid.h: New file.
25219 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25220 (has_longmode): Rename to ...
25221 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25222 `static' attribute.
25223 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25224 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25225 on a CPU that doesn't implement AMD64 instruction set.
25226
186e7cf2 252272009-10-06 Colin Watson <cjwatson@ubuntu.com>
25228
25229 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25230 that version.texi is rebuilt on version number changes.
25231
83b65c4a 252322009-10-06 Colin Watson <cjwatson@ubuntu.com>
25233
25234 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25235 Fixes bug #27602.
25236
d244281c 252372009-10-06 Colin Watson <cjwatson@ubuntu.com>
25238
25239 * util/i386/pc/grub-install.in: Source
25240 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25241 that the --grub-probe option will work.
25242 * util/sparc64/ieee1275/grub-install.in: Likewise.
25243
da25306d 252442009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25245
25246 * configure.ac: Bump version to 1.97~beta4.
25247
e8ee83c0 252482009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25249
25250 Resync grub-mkdevicemap in x86_64-efi.
25251
25252 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25253 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25254 `util/devicemap.c'.
25255
50dcabcf 252562009-10-01 Colin Watson <cjwatson@ubuntu.com>
25257
25258 * util/grub-editenv.c (create_envblk_file): Write new block with a
25259 .new suffix and then rename it into place, to ensure atomic
25260 creation.
25261
0e51c3a7 252622009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25263
25264 Do not automatically install headers.
25265
25266 * Makefile.in (include_DATA): Remove. Update all users.
25267
31299a95 252682009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25269
25270 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25271 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25272
25273 * util/osdetect.lua: Remove.
25274 * script/lua/lauxlib.c: Likewise.
25275 * script/lua/ldebug.c: Likewise.
25276 * script/lua/grub_main.c: Likewise.
25277 * script/lua/lauxlib.h: Likewise.
25278 * script/lua/ldebug.h: Likewise.
25279 * script/lua/ltablib.c: Likewise.
25280 * script/lua/liolib.c: Likewise.
25281 * script/lua/lstrlib.c: Likewise.
25282 * script/lua/lualib.h: Likewise.
25283 * script/lua/ldo.c: Likewise.
25284 * script/lua/ldump.c: Likewise.
25285 * script/lua/ldo.h: Likewise.
25286 * script/lua/loslib.c: Likewise.
25287 * script/lua/lundump.c: Likewise.
25288 * script/lua/grub_lib.c: Likewise.
25289 * script/lua/ldblib.c: Likewise.
25290 * script/lua/lundump.h: Likewise.
25291 * script/lua/lmem.c: Likewise.
25292 * script/lua/grub_lib.h: Likewise.
25293 * script/lua/lmathlib.c: Likewise.
25294 * script/lua/lstate.c: Likewise.
25295 * script/lua/ltm.c: Likewise.
25296 * script/lua/lvm.c: Likewise.
25297 * script/lua/lmem.h: Likewise.
25298 * script/lua/lstate.h: Likewise.
25299 * script/lua/ltm.h: Likewise.
25300 * script/lua/ltable.c: Likewise.
25301 * script/lua/lvm.h: Likewise.
25302 * script/lua/llex.c: Likewise.
25303 * script/lua/lgc.c: Likewise.
25304 * script/lua/grub_lua.h: Likewise.
25305 * script/lua/loadlib.c: Likewise.
25306 * script/lua/lfunc.c: Likewise.
25307 * script/lua/lopcodes.c: Likewise.
25308 * script/lua/lparser.c: Likewise.
25309 * script/lua/ltable.h: Likewise.
25310 * script/lua/llex.h: Likewise.
25311 * script/lua/lgc.h: Likewise.
25312 * script/lua/lfunc.h: Likewise.
25313 * script/lua/lbaselib.c: Likewise.
25314 * script/lua/lopcodes.h: Likewise.
25315 * script/lua/lparser.h: Likewise.
25316 * script/lua/lzio.c: Likewise.
25317 * script/lua/linit.c: Likewise.
25318 * script/lua/lobject.c: Likewise.
25319 * script/lua/llimits.h: Likewise.
25320 * script/lua/lstring.c: Likewise.
25321 * script/lua/lzio.h: Likewise.
25322 * script/lua/lapi.c: Likewise.
25323 * script/lua/lcode.c: Likewise.
25324 * script/lua/lua.h: Likewise.
25325 * script/lua/lobject.h: Likewise.
25326 * script/lua/lstring.h: Likewise.
25327 * script/lua/lapi.h: Likewise.
25328 * script/lua/lcode.h: Likewise.
25329 * script/lua/luaconf.h: Likewise.
25330
cb8a2c38 253312009-09-26 Colin Watson <cjwatson@ubuntu.com>
25332
25333 * docs/grub.texi (Command-line and menu entry commands): Document
25334 date and echo commands.
25335
6b9b6276 253362009-09-24 Pavel Roskin <proski@gnu.org>
25337
25338 * include/grub/kernel.h (struct grub_module_header): Remove
25339 `grub_module_header_types'. Make `type' unsigned. Make `size'
25340 32-bit on all platforms.
25341 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25342 8-bit field. Use grub_host_to_target32() for `size'.
25343 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25344 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25345 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25346
4e5a02a7 253472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25348
25349 Fix "lost keypress" bug in at_keyboard.
25350
25351 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25352 Checks for readyness of input buffer (without flushing it).
25353 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25354 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25355
c6dcedf6 253562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25357
25358 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25359 size check within GRUB_MACHINE_PCBIOS section.
25360
74c958b1 253612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25362
25363 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25364 return value.
25365 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25366 KEYBOARD_ISREADY check.
25367 (grub_at_keyboard_checkkey): Rename to ...
25368 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25369 Remove gratuitous cast.
25370
ff420223 253712009-09-23 Colin Watson <cjwatson@ubuntu.com>
25372
25373 * configure.ac: Call AC_PROG_MKDIR_P.
25374 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25375 version.texi in $(builddir) rather than $(srcdir).
25376 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25377 to makeinfo's @include search path.
25378
d96875df 253792009-09-23 Felix Zielcke <fzielcke@z-51.de>
25380
25381 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25382
9b3f8365 253832009-09-23 Felix Zielcke <fzielcke@z-51.de>
25384
25385 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25386 for `*.dpkg-new'.
25387
c44c90db 253882009-09-21 Colin Watson <cjwatson@ubuntu.com>
25389
25390 Build info documentation. Some code borrowed from Automake.
25391
25392 * configure.ac: Check for makeinfo.
25393 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25394 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25395 docs/version.texi.
25396 (MOSTLYCLEANFILES): Add vti.tmp.
25397 (docs/version.texi, docs/stamp-vti): Update automatically.
25398 (docs/grub.info): Build info documentation. Use --force and ignore
25399 errors for now.
25400 (all-local): Add $(INFOS).
25401 (install-local): Install info files.
25402 (uninstall): Uninstall info files.
25403 * docs/version.texi: Remove from revision control. This file is
25404 automatically generated on build now.
25405 * gendistlist.sh: Add `*.info'.
25406
e0b37bb5 254072009-09-21 Felix Zielcke <fzielcke@z-51.de>
25408
25409 * kern/term.c: Fix indentation.
25410
5a78865b 254112009-09-21 Felix Zielcke <fzielcke@z-51.de>
25412
25413 * util/hostdisk.c: Fix a comment.
25414
dace7e8a 254152009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25416
25417 Fix regression introduced in r2539.
25418
25419 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25420 to 0xA1.
25421
a83d079b 254222009-09-19 Colin Watson <cjwatson@ubuntu.com>
25423
25424 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25425 os-prober. Under normal operation, it does not print anything to
25426 stderr; if it does, we need to debug it, and throwing away stderr
25427 makes that excessively difficult.
a83d079b 25428
be94a509 254292009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25432
63f745e8 254332009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25434
25435 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25436 AC_LANG_PROGRAM from autoconf.
25437 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25438 prototypes (fixes warning).
25439
25440 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25441 `--disable-werror' was used.
25442
bbb2a70f 254432009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25444
25445 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25446 uninitialized `lastaddr'.
25447
77c24f1d 254482009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25449
0f0b8c87 25450 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25451
07197f23 254522009-09-14 Colin Watson <cjwatson@ubuntu.com>
25453
25454 * commands/test.c (get_fileinfo): Return immediately if
25455 grub_fs_probe fails.
25456
dabf1798 254572009-09-14 José Martínez <xosemp@gmail.com>
25458
25459 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25460
d52109a7 254612009-09-14 Colin Watson <cjwatson@ubuntu.com>
25462
25463 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25464 output.
25465
56532179 254662009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25467
25468 * configure.ac: Remove --enable-grub-pe2elf. Only build
25469 grub-pe2elf when needed by the build system itself.
25470 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25471
8ef070f5 254722009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25473
25474 * configure.ac: Bump version to 1.97~beta3.
25475 * docs/version.texi: Likewise.
25476
61229557 254772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25478
25479 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25480 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25481 from here ...
25482 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25483 (grub_linux_setup_video): ... to here (with some adjustments).
25484
5c9f8d84 254852009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25486
25487 Fix memory corruption issue (spotted by Colin Watson).
25488
25489 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25490 causing returned size to be stored in an incorrect memory location.
25491 Fix use of uninitialized value when storing the returned size.
25492
e8f5d6e9 254932009-09-12 Yves Blusseau <blusseau@zetam.org>
25494
25495 Change clean rules to properly remove files
25496
25497 * genmk.rb: add new clean rules
25498 * Makefile.in (clean): add the new targets
25499 (mostlyclean): likewise
25500
cda2a409 255012009-09-11 Colin Watson <cjwatson@ubuntu.com>
25502
25503 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25504 to grub_uint64_t.
25505 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25506 non-resident files.
25507
86695375 255082009-09-11 Colin Watson <cjwatson@ubuntu.com>
25509
25510 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25511 part of bug #27349.
25512
8aa1541a 255132009-09-10 Felix Zielcke <fzielcke@z-51.de>
25514
25515 * util/grub-mkconfig.in: Make the created config mode 400 and
25516 print a warning if it fails.
25517
48d9bb0a 255182009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25519
25520 * util/grub.d/40_custom.in: Ask user to type custom entries below
25521 comment, rather than below 'exec tail' line.
25522
3b0521be 255232009-09-10 Colin Watson <cjwatson@ubuntu.com>
25524
25525 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25526 visible in grub.cfg.
25527
50051d55 255282009-09-10 Colin Watson <cjwatson@ubuntu.com>
25529
25530 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25531 file.
25532
c0d34387 255332009-09-10 Felix Zielcke <fzielcke@z-51.de>
25534
25535 * docs/grub.cfg: Add an example menu entry for memtest86+.
25536
80a608f3 255372009-09-09 Felix Zielcke <fzielcke@z-51.de>
25538
a2094832 25539 * config.guess: Update to latest version from config git.
80a608f3 25540 * config.sub: Likewise.
25541
99423078 255422009-09-08 Colin Watson <cjwatson@ubuntu.com>
25543
25544 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25545 unknown-command case. Fixes bug #27320.
25546
44454e4c 255472009-09-08 Felix Zielcke <fzielcke@z-51.de>
25548
25549 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25550 `help' if the command exists.
25551
e30d87ad 255522009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25553
25554 * INSTALL: Require GCC 4.1.3 or later.
25555
9a86f1ec 255562009-09-06 Yves Blusseau <blusseau@zetam.org>
25557
25558 * Makefile.in (RMKFILES): add i386-qemu.rmk
25559 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25560 $(srcdir)/stamp-h.in
25561
7f26d466 255622009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25563
25564 * util/grub-probe.c (probe): Comment out buggy codepath, which
25565 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25566 should be re-enabled after 1.97.
25567
3a613259 255682009-09-05 Felix Zielcke <fzielcke@z-51.de>
25569
25570 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25571 find searches for.
25572
197f76c7 255732009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25576 unnecessary calls to grub_error.
25577
70ba68ce 255782009-09-04 Colin Watson <cjwatson@ubuntu.com>
25579
25580 * NEWS: Mention `keystatus' and Unicode fonts.
25581
4ff0d7a4 255822009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25583
25584 * configure.ac: Bump version to 1.97~beta2.
25585 * docs/version.texi: Likewise.
25586
77c55a87 255872009-09-03 Colin Watson <cjwatson@ubuntu.com>
25588
25589 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25590 containing unwind information in some cases where it previously did
25591 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25592 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25593 discussion.
25594
f79572cd 255952009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25596
25597 Embedding loadenv module into grub-emu
25598
25599 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25600 commands/loadenv.c
25601 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25602 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25603 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25605 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25606 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25607
93a81088 256082009-09-03 Magnus Granberg <zorry@ume.nu>
25609
25610 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25611 include -fPIE in the default specs.
25612 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25613 to TARGET_CFLAGS.
25614
160034b2 256152009-09-03 Felix Zielcke <fzielcke@z-51.de>
25616
25617 * INSTALL: Note that GNU Bison 2.3 or later is required.
25618
087c07c4 256192009-09-03 Colin Watson <cjwatson@ubuntu.com>
25620
25621 * kern/i386/pc/startup.S: Fix typo.
25622
cbf978c0 256232009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25626 according to GCS.
25627
256282009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25629
25630 * docs/grub.texi (Naming convention): Describe one-based partition
25631 numbering.
25632 (Device syntax): Likewise.
25633 (File name syntax): Likewise.
25634 (Block list syntax): Likewise.
25635 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25636 menu.lst.
25637 (File name syntax): Likewise.
25638 (Command-line and menu entry commands): Document acpi, blocklist,
25639 crc, export, insmod, keystatus, ls, set, and unset commands.
25640
f3e8cdfd 256412009-09-02 Colin Watson <cjwatson@ubuntu.com>
25642
25643 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25644 to avoid implying that only one of --shift, --ctrl, or --alt may be
25645 used.
25646
c0bc232b 256472009-09-02 Colin Watson <cjwatson@ubuntu.com>
25648
25649 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25650 rather than comparing against S_IFREG, which will almost never work.
25651
aa0f752d 256522009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25655 (write_blocklists): Likewise.
25656
ecb3166a 256572009-09-01 Colin Watson <cjwatson@ubuntu.com>
25658
25659 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25660 argument to grub_printf.
25661
c403a125 256622009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25663
25664 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25665 non GNU test.
31aba781 25666
b5e7312c 256672009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 * kern/file.c (grub_file_read): Spelling fix
25670
fe00f472 256712009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25672
25673 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25674 loading of headers in some cases.
25675
cc55302e 256762009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25677
25678 * configure.ac: Bump version to 1.97~beta1.
25679 * docs/version.texi: Likewise.
25680
5c90cdd2 256812009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25682
25683 * include/grub/i386/xnu.h: Add license header.
25684 include grub/err.h explicitly.
25685
c90edae4 256862009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25687
25688 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25689 to `ufs' in the vfs.root.mountfrom kernel parameter.
25690
d8888b5c 256912009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25692
25693 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25694
25695 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25696 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25697
25698 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25699 `ARRAY_SIZE' macro.
25700
6f07b921 257012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25702
25703 * kern/file.c (grub_file_read): Check offset.
25704 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25705 * fs/jfs.c (grub_jfs_read_file): Likewise.
25706 * fs/ntfs.c (grub_ntfs_read): Likewise.
25707 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25708 * fs/minix.c (grub_minix_read_file): Correct offset check.
25709 * fs/ufs.c (grub_ufs_read_file): Likewise.
25710
b4f34077 257112009-08-28 Colin Watson <cjwatson@ubuntu.com>
25712
25713 * term/i386/pc/console.c (bios_data_area): Cast
25714 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25715
e7c69859 257162009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25717
25718 1-bit optimised blitters.
25719
25720 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25721 prototype.
25722 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25723 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25724 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25725 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25726 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25727 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25728 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25729 function.
25730 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25731 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25732 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25733 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25734 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25735 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25736 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25737 when possible.
25738 * video/video.c (grub_video_get_blit_format): Return
25739 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25740
a57da43f 257412009-08-28 Colin Watson <cjwatson@ubuntu.com>
25742
25743 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25744 the first argument to grub_printf.
25745
4cbe67e5 257462009-08-28 Colin Watson <cjwatson@ubuntu.com>
257472009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25748
25749 Add `getkeystatus' terminal method. Add a new `keystatus' command
25750 to query it.
25751
25752 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25753 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25754 modifier key bitmasks.
25755 (struct grub_term_input): Add `getkeystatus' member.
25756 (grub_getkeystatus): Add prototype.
25757 * kern/term.c (grub_getkeystatus): New function.
25758
25759 * include/grub/i386/pc/memory.h
25760 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25761 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25762 Data Area layout.
25763 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25764 (grub_console_term_input): Set `getkeystatus' member.
25765 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25766 constants.
25767 (grub_usb_keyboard_getreport): Likewise.
25768 (grub_usb_keyboard_checkkey): Likewise.
25769 (grub_usb_keyboard_getkeystatus): New function.
25770 (grub_usb_keyboard_term): Set `getkeystatus' member.
25771
25772 * commands/keystatus.c: New file.
25773 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25774 (keystatus_mod_SOURCES): New variable.
25775 (keystatus_mod_CFLAGS): Likewise.
25776 (keystatus_mod_LDFLAGS): Likewise.
25777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25778 commands/keystatus.c.
25779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25781 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25783 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25784 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25785
6e2a9085 257862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 Split befs.mod and afs.mod into *_be.mod and *.mod
25789
25790 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25791 (grub_fstest_SOURCES): Likewise.
25792 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25793 (afs_be_mod_SOURCES): New variable.
25794 (afs_be_mod_CFLAGS): Likewise.
25795 (afs_be_mod_LDFLAGS): Likewise.
25796 (befs_be_mod_SOURCES): Likewise.
25797 (befs_be_mod_CFLAGS): Likewise.
25798 (befs_be_mod_LDFLAGS): Likewise.
25799 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25800 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25801 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25802 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25803 (grub_emu_SOURCES): Likewise.
25804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25805 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25806 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25807 * fs/afs_be.c: New file.
25808 * fs/befs_be.c: New file.
25809 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25810 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25811 (U16): Replaced with ...
25812 (grub_afs_to_cpu16): ...this. All users updated.
25813 (U32): Replaced with ...
25814 (grub_afs_to_cpu32): ...this. All users updated.
25815 (U64): Replaced with ...
25816 (grub_afs_to_cpu64): ...this. All users updated.
25817 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25818 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25819 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25820 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25821 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25822 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25823 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25824 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25825 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25826 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25827 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25828
32a71655 258292009-08-26 Bean <bean123ch@gmail.com>
25830
25831 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25832 64-bit number.
25833 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25834 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25835 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25836
552bf6c5 258372009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25838
25839 NetBSD memory map support.
25840
25841 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25842 (grub_netbsd_btinfo_mmap_header): New structure.
25843 (grub_netbsd_btinfo_mmap_entry): Likewise.
25844 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25845
1ae2078c 258462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25847
25848 Enable bsd.mod on coreboot.
25849
25850 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25851 (bsd_mod_SOURCES): New variable.
25852 (bsd_mod_CFLAGS): Likewise.
25853 (bsd_mod_LDFLAGS): Likewise.
25854 (bsd_mod_ASFLAGS): Likewise.
25855 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25856 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25857
beefc598 258582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25859
25860 Cleanup NetBSD root support.
25861
25862 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25863 grub_bsd_get_device.
25864 Fix typo.
25865
3b76e68b 258662009-08-25 Felix Zielcke <fzielcke@z-51.de>
25867
25868 * util/grub.d/00_header.in: Move check for the video backend of
25869 gfxterm from here ...
25870 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25871 a suitable video backend.
25872
aea664ea 258732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25874
25875 Fix breakage in grub-setup.
25876
25877 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25878 "msdos_partition_map".
25879
ff747d50 258802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25881
25882 Fix breakage in normal/auth.c.
25883
25884 * normal/auth.c (grub_iswordseparator): New function.
25885
e7e1f93f 258862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25887
25888 Authentication support.
25889
25890 * commands/password.c: New file.
25891 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25892 (password_mod_SOURCES): New variable.
25893 (password_mod_CFLAGS): Likewise.
25894 (password_mod_LDFLAGS): Likewise.
25895 (normal_mod_SOURCES): Add normal/auth.c.
25896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25897 normal/auth.c.
25898 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25902 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25903 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25904 * include/grub/auth.h: New file.
25905 * include/grub/err.h (grub_err_t): New enum value
25906 GRUB_ERR_ACCESS_DENIED.
25907 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25908 'users'.
25909 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25910 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25911 users updated.
25912 * normal/auth.c: New file.
25913 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25914 (grub_cmdline_run): Don't allow to go to command line without
25915 authentication.
25916 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25917 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25918 menuentry without superuser rights.
25919 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25920 user isn't a superuser.
25921
70f1161d 259222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 Save space by inlining misc.c functions.
25925
25926 * kern/misc.c (grub_iswordseparator): Made static.
25927 * kern/misc.c (grub_strcat): Moved from here ...
25928 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25929 * kern/misc.c (grub_strncat): Moved from here ...
25930 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25931 * kern/misc.c (grub_strcasecmp): Moved from here ...
25932 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25933 * kern/misc.c (grub_strncasecmp): Moved from here ...
25934 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25935 * kern/misc.c (grub_isalpha): Moved from here ...
25936 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25937 * kern/misc.c (grub_isdigit): Moved from here ...
25938 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25939 * kern/misc.c (grub_isgraph): Moved from here ...
25940 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25941 * kern/misc.c (grub_tolower): Moved from here ...
25942 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25943
48e40bff 259442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25945
25946 * script/sh/function.c (grub_script_function_find): Cut error message
25947 not to flood terminal.
25948 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25949 limit.
25950 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25951
c385bfc3 259522009-08-24 Colin Watson <cjwatson@ubuntu.com>
25953
25954 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25955 `report' grub_uint8_t *.
25956 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25957 Use a 50-millisecond timeout rather than just repeating
25958 grub_usb_keyboard_getreport 50 times.
25959 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25960
2d21e3e8 259612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25962
25963 Rename *_partition_map to part_*
25964
25965 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25966 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25967 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25968 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25969 All users updated.
25970 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25971 All users updated.
25972 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25973 * util/grub-probe.c (probe_partmap): Don't transform partition name
25974 to get module name.
25975
dd103c4e 259762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 Fix OpenBSD and NetBSD support.
25979
25980 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25981 memory address conflict.
25982 (OPENBSD_MMAP_ACPI): New definition.
25983 (OPENBSD_MMAP_NVS): Likewise.
25984 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25985 and OPENBSD_MMAP_NVS.
25986 Add memory map terminator
25987 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25988 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25989
16c84d74 259902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 Let user specify NetBSD root device.
25993
25994 * loader/i386/bsd.c (netbsd_root): New variable.
25995 (netbsd_opts): New option 'root'.
25996 (NETBSD_ROOT_ARG): New macro.
25997 (grub_netbsd_boot): Use 'netbsd_root'.
25998 (grub_bsd_unload): Free 'netbsd_root'.
25999 (grub_cmd_netbsd): Fill 'netbsd_root'.
26000
adb29902 260012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 Support for 64-bit NetBSD.
26004
26005 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26006 point when booting non-FreeBSD.
26007
f5ae9f74 260082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 Support --no-smp and --no-acpi for NetBSD.
26011
26012 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26013 (NETBSD_AB_NOACPI): Likewise.
26014 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26015 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26016
de74f136 260172009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26020 errors.
26021 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26022 errors. Call grub_error when needed.
26023
e9a925da 260242009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26025
26026 * commands/search.c (search_fs): Try searching without autoload first.
26027 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26028 filesystem module explicitly for faster booting.
26029
5174302b 260302009-08-23 Colin Watson <cjwatson@ubuntu.com>
26031
26032 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26033
c8c80635 260342009-08-23 Colin Watson <cjwatson@ubuntu.com>
26035
26036 * util/grub.d/30_os-prober.in: Disable os-prober if
26037 `GRUB_DISABLE_OS_PROBER' was set to true.
26038
71acf5e5 260392009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26040
26041 * partmap/pc.c: Rename to ...
26042 * partmap/msdos.c: ... this. Update all users.
26043 (grub_pc_partition_map): Rename to ...
26044 (grub_msdos_partition_map): ... this. Update all users.
26045
26046 * parttool/pcpart.c: Rename to ...
26047 * parttool/msdospart.c: ... this. Update all users.
26048
26049 * include/grub/pc_partition.h: Rename to ...
26050 * include/grub/msdos_partition.h: ... this. Update all users.
26051 (grub_pc_partition_bsd_entry): Rename to ...
26052 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26053 (grub_pc_partition_disk_label): Rename to ...
26054 (grub_msdos_partition_disk_label): ... this. Update all users.
26055 (grub_pc_partition_entry): Rename to ...
26056 (grub_msdos_partition_entry): ... this. Update all users.
26057 (grub_pc_partition_mbr): Rename to ...
26058 (grub_msdos_partition_mbr): ... this. Update all users.
26059 (grub_pc_partition): Rename to ...
26060 (grub_msdos_partition): ... this. Update all users.
26061 (grub_pc_partition_is_empty): Rename to ...
26062 (grub_msdos_partition_is_empty): ... this. Update all users.
26063 (grub_pc_partition_is_extended): Rename to ...
26064 (grub_msdos_partition_is_extended): ... this. Update all users.
26065 (grub_pc_partition_is_bsd): Rename to ...
26066 (grub_msdos_partition_is_bsd): ... this. Update all users.
26067
26068 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26069 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26070 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26071 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26072 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26073 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26074 (gpt_mod_LDFLAGS): Rename to ...
26075 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26076 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26077 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26078 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26079 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26080 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26081 (part_gpt_mod_LDFLAGS): ... this.
26082 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26083 `pcpart.mod' to `msdospart.mod'.
26084 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26085 to ...
26086 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26087 (msdospart_mod_LDFLAGS): ... this.
26088
c11fded5 260892009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26090
26091 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26092 (openbsd_opts): Likewise.
26093 (netbsd_opts): Likewise.
26094 (freebsd_flags): Added 0 terminator.
26095 (openbsd_flags): Likewise.
26096 (netbsd_flags): Likewise.
26097 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26098 (grub_cmd_freebsd): Transformed into extended command.
26099 (grub_cmd_openbsd): Likewise.
26100 (grub_cmd_netbsd): Likewise.
26101 (cmd_freebsd): Changed type to grub_extcmd_t.
26102 (cmd_openbsd): Likewise.
26103 (cmd_netbsd): Likewise.
26104 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26105 grub_cmd_openbsd as extended commands.
26106 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26107 cmd_netbsd and cmd_openbsd
26108
11d1c769 261092009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26110
26111 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26112
7a9094e5 261132009-08-21 Pavel Roskin <proski@gnu.org>
26114
5496c37e 26115 * Makefile.in (install-local): When checking if a file is in the
26116 build directory, use "test -e" to detect symlinks.
26117
7a9094e5 26118 * Makefile.in (install-local): Remove all files in
26119 $(DESTDIR)$(pkglibdir) before installing new files there.
26120
e53cea11 261212009-08-18 Felix Zielcke <fzielcke@z-51.de>
26122
26123 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26124 grub-mkelfimage.
26125
9aced544 261262009-08-18 Felix Zielcke <fzielcke@z-51.de>
26127
26128 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26129 explicitly specified by the user.
26130
b7da6bab 261312009-08-18 Pavel Roskin <proski@gnu.org>
26132
26133 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26134 grub_uint8_t pointer for data.
26135 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26136 Likewise.
26137 * video/fb/fbutil.c: Remove unnecessary casts.
26138
19f1b335 261392009-08-17 Michal Suchanek <hramrach@centrum.cz>
26140
26141 VBE cleanup.
26142
26143 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26144 (grub_vbe_set_video_mode): Save active mode info
26145 only after setting the mode.
26146 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26147 second argument.
26148
2f467aa9 261492009-08-17 Michal Suchanek <hramrach@centrum.cz>
26150
26151 Rename variables for clarity.
26152
26153 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26154 (active_vbe_mode_info): ... this. All users updated.
26155 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26156 All users updated.
26157 (initial_mode): Rename to ...
26158 (initial_vbe_mode): ... this. All users updated.
26159 (mode_in_use): Rename to ..
26160 (vbe_mode_in_use): ... this. All users updated.
26161 (mode_list): Rename to ..
26162 (vbe_mode_list): ... this. All users updated.
26163 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26164 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26165 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26166 'mode_list_size' to 'vbe_mode_list_size'.
26167 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26168 'best_mode_info' to 'best_vbe_mode_info' and
26169 'best_mode' to 'best_vbe_mode'
26170
6025fcd7 261712009-08-17 Michal Suchanek <hramrach@centrum.cz>
26172
26173 Remove duplicate grub_video_fb_get_video_ptr.
26174
26175 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26176 (grub_video_fb_get_video_ptr): ... this.
26177 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26178 * video/fb/fbutil.c: Add comment about addressing.
26179 (get_data_ptr): Rename to ...
26180 (grub_video_fb_get_video_ptr): ... this. All users updated.
26181 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26182
cc8c6faf 261832009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26184
26185 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26186 grub_dprintf() that was just added.
26187
08aa61f0 261882009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26189
26190 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26191 (DEFAULT_VIDEO_MODE): Remove macros.
26192 (grub_linux_boot): Remove assumption that Linux has FB support,
26193 and use "text" as default video mode.
26194
7cef4f75 261952009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26196
26197 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26198 grub_dprintf.
26199 * fs/fat.c (grub_fat_read_data): Likewise.
26200
e1f39873 262012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26204 payload.
26205 (grub_module): Likewise.
26206
c166d79e 262072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26208
26209 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26210 mbi->cmdline but free playground.
26211
c60cee8e 262122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26213
26214 Handle group offset on UFS1.
26215
26216 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26217 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26218
c0d8b5d4 262192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26220
26221 Split ufs.mod into ufs1.mod and ufs2.mod.
26222
26223 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26224 (grub_fstest_SOURCES): Likewise.
26225 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26226 (ufs_mod_SOURCES): Remove.
26227 (ufs_mod_CFLAGS): Likewise.
26228 (ufs_mod_LDFLAGS): Likewise.
26229 (ufs1_mod_SOURCES): New variable.
26230 (ufs1_mod_CFLAGS): Likewise.
26231 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26232 (ufs2_mod_SOURCES): New variable.
26233 (ufs2_mod_CFLAGS): Likewise.
26234 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26236 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26237 Likewise.
26238 (grub_emu_SOURCES): Likewise.
26239 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26240 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26241 (grub_setup_SOURCES): Likewise.
26242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26243 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26244 (grub_setup_SOURCES): Likewise.
26245 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26246 Likewise.
26247 * fs/ufs2.c: New file.
26248 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26249
d3539132 262502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26251
26252 Framebuffer split.
26253
26254 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26255 subsystem at the end.
26256 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26257 (video_fb_mod_SOURCES): New variable.
26258 (video_fb_mod_CFLAGS): Likewise.
26259 (video_fb_mod_LDFLAGS): Likewise.
26260 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26261 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26262 * video/i386/pc/vbeblit.c: Moved from here ...
26263 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26264 * video/i386/pc/vbefill.c: Moved from here ...
26265 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26266 * video/i386/pc/vbeutil.c: Moved from here ...
26267 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26268 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26269 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26270 * include/grub/i386/pc/vbefill.h: Moved from here ...
26271 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26272 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26273 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26274 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26275 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26276 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26277 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26278 (grub_video_adapter): Added 'get_info_and_fini'.
26279 (grub_video_get_info_and_fini): New prototype.
26280 (grub_video_set_mode): make modestring const char *.
26281 * loader/i386/linux.c (grub_linux_setup_video): Use
26282 grub_video_get_info_and_fini.
26283 (grub_linux_boot): Move modesetting just before booting.
26284 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26285 grub_video_get_info_and_fini.
26286 * video/i386/pc/vbe.c: Moved framebuffer part ...
26287 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26288 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26289 grub_video_fbstd_colors and grub_video_fb_set_palette.
26290 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26291 grub_video_fb_init.
26292 (grub_video_vbe_fini): Use grub_video_fb_fini.
26293 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26294 render_target and use grub_video_fb_set_active_render_target and
26295 grub_video_fb_set_palette.
26296 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26297 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26298 (grub_video_vbe_adapter): Use framebuffer.
26299 * video/video.c (grub_video_get_info_and_fini): New function.
26300 (grub_video_set_mode): Make modestring const char *.
26301 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26302 values are already initialised.
26303
d404ee56 263042009-08-14 Pavel Roskin <proski@gnu.org>
26305
26306 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26307 ABS and APPLE_CC.
26308 * boot/i386/pc/diskboot.S: Likewise.
26309 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26310 sectors allow compilation on MacOSX.
26311 * conf/i386-pc.rmk: Enable unconditional compilation of
26312 lnxboot.img.
26313
9a10df16 263142009-08-13 Colin Watson <cjwatson@ubuntu.com>
26315
26316 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26317 * util/grub.d/00_header.in: Enter interruptible sleep if
26318 GRUB_HIDDEN_TIMEOUT is set.
26319
be3c9ca7 263202009-08-13 Yves Blusseau <blusseau@zetam.org>
26321
26322 * include/grub/symbol.h: Add the LOCAL macro.
26323 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26324 starting with "L_".
26325
1f9e557e 263262009-08-13 Pavel Roskin <proski@gnu.org>
26327
9ca62843 26328 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26329 any modern compilers we support.
26330
1f9e557e 26331 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26332 Use local labels starting with "L_" so that Apple assembler
26333 knows they are local.
26334
81623db6 263352009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26336
26337 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26338 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26339 (bsd_kernel_types): ... this enum.
26340
26341 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26342 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26343 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26344
26345 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26346 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26347 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26348 messages.
26349
f5d35e7a 263502009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26351
26352 * util/grub-dumpdevtree: Moved from here ...
26353 * util/i386/efi/grub-dumpdevtree: ... to here.
26354 (hexify): New function. Converts a string to its hex version.
26355 Generate hex versions of "efi" and "device-properties" by calling
26356 hexify() on the ASCII strings rather than by hardcoding numbers.
26357
d1e1d527 263582009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26359
26360 * fs/jfs.c: Update copyright year.
26361
1ebbe064 263622009-08-08 Felix Zielcke <fzielcke@z-51.de>
26363
26364 * util/grub.d/00_header.in: Fix a comment.
26365 * util/grub.d/10_linux.in: Likewise.
26366 * util/grub.d/10_windows.in: Likewise.
26367 * util/grub.d/10_hurd.in: Likewise.
26368
a78c8d24 263692009-08-08 Felix Zielcke <fzielcke@z-51.de>
26370
26371 * util/grub-mkconfig.in: Allow the user to specify the used font
26372 with GRUB_FONT.
26373
29a6b9e8 263742009-08-08 Pavel Roskin <proski@gnu.org>
26375
b5f16cc4 26376 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26377 available, xfs.mod needs it now.
26378
2f5cb827 26379 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26380 the "g" modifier in sed when the intention is to strip something
26381 once. This fixes comparison of kernels with multiple dashes.
26382
29a6b9e8 26383 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26384 on it. Add missing space before closing bracket. Fix
26385 misleading formatting.
26386
892a3d98 263872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26388
26389 * docs/grub.texi: Major overhaul. Remove all sections that are
26390 specific to GRUB Legacy, or mostly composed of Legacy-specific
26391 information.
26392
ed94253f 263932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26394
26395 * docs/version.texi: New file. Provides version information for
26396 grub.texi.
26397
126d6628 263982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26399
26400 * docs/grub.texi: Update CVS information to SVN.
26401 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26402
998b5aa9 264032009-08-07 Felix Zielcke <fzielcke@z-51.de>
26404
26405 * util/grub-mkconfig.in: Remove a wrong `fi'.
26406
818e094a 264072009-08-07 Felix Zielcke <fzielcke@z-51.de>
26408
26409 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26410 (grub_jfs_uuid): New function.
26411 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26412
b969c52f 264132009-08-07 Felix Zielcke <fzielcke@z-51.de>
26414
26415 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26416 of it to ...
26417 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26418 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26419
7a4894cc 264202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26421
26422 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26423 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26424 Update all users.
26425
26426 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26427 not just "vmlinu[zx]".
26428 Moved from here ...
26429 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26430 all users.
26431
26432 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26433 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26434 all users.
26435
4e2171f8 264362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26437
26438 * util/grub.d/10_freebsd.in: Use an absolute device path for
26439 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26440
6dcfcb32 264412009-08-06 Felix Zielcke <fzielcke@z-51.de>
26442
26443 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26444 handling of multiple abstraction modules.
26445
f56a8756 264462009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26447
26448 Fix a bug resulting in black screen when loading Linux using a
26449 packed video mode.
26450
26451 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26452 function.
26453
26454 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26455 (grub_vbe_bios_getset_dac_palette_width): New function.
26456 (grub_vbe_bios_get_dac_palette_width)
26457 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26458 grub_vbe_bios_getset_dac_palette_width()).
26459
26460 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26461 check for return status.
26462 (grub_vbe_get_video_mode_info): When getting information for a packed
26463 mode (<= 8 bpp), obtain DAC palette width using
26464 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26465 {red,green,blue}_mark_size.
26466
222671b2 264672009-08-04 Felix Zielcke <fzielcke@z-51.de>
26468
ecb1a6d9 26469 * commands/search.c (options): Fix help output to match actual code.
222671b2 26470
f84114f5 264712009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26472
26473 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26474 of homegrown code.
26475
bd288a20 264762009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26477
26478 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26479 on XFS or ReiserFS.
26480
8aab5e25 264812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26482
26483 Support Apple partition map with sector size different from 512 bytes.
26484
26485 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26486 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26487 and 'apart.partmap_size'.
26488
6ad6258a 264892009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
264902009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26491
26492 Fix cpuid command.
26493
26494 * commands/i386/cpuid.c (options): New variable.
26495 (grub_cmd_cpuid): Return real error.
26496 (GRUB_MOD_INIT(cpuid)): Declare options.
26497
67459bc6 264982009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26501 valid.
26502
fbc6ab54 265032009-07-31 Bean <bean123ch@gmail.com>
26504
26505 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26506 log2_inode.
26507 (grub_fshelp_node): Move inode field to the end.
26508 (grub_xfs_data): Remove inode field.
26509 (grub_xfs_inode_block): Calculate inode size using sblock.
26510 (grub_xfs_inode_offset): Likewise.
26511 (grub_xfs_read_inode): Calculate inode size using sblock.
26512 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26513 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26514 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26515 to match inode size.
26516 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26517 not accessible when data is null.
26518 (grub_xfs_open): Likewise.
26519
f45d6cfc 265202009-07-31 Bean <bean123ch@gmail.com>
26521
26522 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26523 Don't change pv->disk if it's already set.
26524
26525 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26526 (grub_raid_register): ... here.
26527 (grub_raid_rescan): Removed.
26528
26529 * include/grub/raid.h (grub_raid_rescan): Removed.
26530
26531 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26532 (fstest): Replace grub_raid_rescan with module fini function followed
26533 by init function.
26534
26535 * util/grub-probe.c: Add include file <grub/raid.h>.
26536 (probe_raid_level): New function.
26537 (probe): Detect abstraction by walking the disk device, support two
26538 level of abstraction (LVM on RAID) when detecting partition map.
26539
24443b5a 265402009-07-31 Pavel Roskin <proski@gnu.org>
26541
26542 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26543 to grub_zalloc(), it was erroneous.
26544 Reported by Bean <bean123ch@gmail.com>
26545
a275d9e7 265462009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26547
26548 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26549 embedding zone, not only the first one.
a275d9e7 26550
56c5a47f 265512009-07-29 Joe Auricchio <jauricchio@gmail.com>
26552
26553 * term/gfxterm.c (clear_char): New function.
26554 (grub_virtual_screen_setup): Use clear_char.
26555 (scroll_up): Likewise.
26556 (grub_virtual_screen_cls): Likewise.
26557
67bb323a 265582009-07-29 Felix Zielcke <fzielcke@z-51.de>
26559
26560 * util/deviceiter.c (get_acceleraid_disk_name): New static
26561 function.
26562 (grub_util_iterate_devices): Handle Accelraid devices.
26563 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26564
388a7c75 265652009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26566
26567 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26568 separator for the suggested gfxpayload string (';' collides with the
26569 parser and needs escaping).
26570
3bb7abcf 265712009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26572
26573 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26574 Clear direction flag before jumping to OS.
26575 (grub_multiboot2_real_boot): Likewise.
26576
2ddd36d7 265772009-07-28 Felix Zielcke <fzielcke@z-51.de>
26578
26579 * util/i386/pc/grub-install: Fix parsing of --disk-module
26580 option.
26581
c521b62b 265822009-07-28 Felix Zielcke <fzielcke@z-51.de>
26583
26584 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26585 when embedding.
26586
880e0a0c 265872009-07-26 Felix Zielcke <fzielcke@z-51.de>
26588
26589 * util/grub-mkconfig.in (package_version): New variable.
26590 Use it do display the version.
26591
2366e356 265922009-07-25 Felix Zielcke <fzielcke@z-51.de>
26593
26594 * kern/file.c (grub_file_open): Revert to previous check with
26595 grub_errno.
26596
7ad8c80e 265972009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26598
26599 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26600 from help line. It's out of sync with code.
26601
72b9658b 266022009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26605 entries on failed boot.
26606
77435277 266072009-07-25 Felix Zielcke <fzielcke@z-51.de>
26608
26609 * kern/file.c (grub_file_open): Fix an error check.
26610
fcaa8b21 266112009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26612
35d16c74 26613 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26614 partition map couldn't be identified.
fcaa8b21 26615
48904cd1 266162009-07-23 Pavel Roskin <proski@gnu.org>
26617
ef3c317f 26618 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26619 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26620 case of little endian words becomes just an optimization.
26621 Respect const modifier.
ad8ea1f4 26622 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26623
48904cd1 26624 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26625 to avoid loss of upper bits if align is unsigned and shorter
26626 than addr.
26627
260c9a89 266282009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26629
26630 UUID support for UFS
26631
26632 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26633 (grub_ufs_uuid): New function.
26634 (grub_ufs_fs): add .uuid
26635
f76ce889 266362009-07-21 Pavel Roskin <proski@gnu.org>
26637
26638 * kern/dl.c (grub_dl_check_header): Make static.
26639
6a6cbcaf 266402009-07-21 Felix Zielcke <fzielcke@z-51.de>
26641
26642 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26643 add drivemap for Vista. It breaks Windows 7.
26644
cffcddb2 266452009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26646
26647 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26648 128 bytes
26649
1ef44b80 266502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26651
26652 Add BFS support
26653
26654 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26655 (grub_fstest_SOURCES): Likewise.
26656 (pkglib_MODULES): Add befs.mod.
26657 (befs_mod_SOURCES): New variable.
26658 (befs_mod_CFLAGS): Likewise.
26659 (befs_mod_LDFLAGS): Likewise.
26660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26661 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26663 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26664 (grub_setup_SOURCES): Likewise.
26665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26667 (grub_setup_SOURCES): Likewise.
26668 * fs/befs.c: New file.
26669 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26670 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26671 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26672 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26673 (B_KEY_INDEX_ALIGN): New declaration.
26674 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26675 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26676 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26677 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26678 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26679 (grub_afs_mount) [MODE_BFS]: Likewise.
26680 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26681 (grub_afs_fs): Use GRUB_AFS_FSNAME
26682 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26683 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26684 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26685 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26686
4f253044 266872009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26688
26689 * util/getroot.c (find_root_device): Add support for MacOSX.
26690 * util/hostdisk.c: Likewise.
26691
57a55913 266922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 * font/font.c (find_glyph): Check whether a font is present to avoid
26695 segmentation fault.
75421ca9 26696
266972009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26698
26699 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26700
e98cd0c2 267012009-07-20 Pavel Roskin <proski@gnu.org>
26702
26703 * configure.ac: Trim excessively wordy excuses.
26704
1d2d169a 267052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 Add symlink, mtime and label support to AtheFS.
26708
26709 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26710 (grub_afs_iterate_dir): Handle symlinks.
26711 (grub_afs_open): Use grub_afs_read_symlink.
26712 (grub_afs_dir): Likewise.
26713 Pass mtime.
26714 (grub_afs_label): New function.
26715 (grub_afs_fs): Add grub_afs_label.
26716 (grub_afs_read_symlink): New function.
26717
186f3189 267182009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 Fix AtheFS support.
26721
26722 * fs/afs.c: Fix comments style.
26723 (grub_afs_blockrun): Declare as packed.
26724 (grub_afs_datastream): Likewise.
26725 (grub_afs_bnode): Likewise.
26726 (grub_afs_btree): Likewise.
26727 (grub_afs_sblock): Likewise.
26728 Declare `name' as char.
26729 (grub_afs_inode): Declare as packed.
26730 Change void *vnode to grub_uint32_t unused.
26731 (grub_afs_iterate_dir): Check that key_size is positive.
26732 (grub_afs_mount): Don't read superblock twice.
75421ca9 26733 (grub_afs_dir): Don't free node in case of error,
186f3189 26734 grub_fshelp_find_file already handles this.
26735 (grub_afs_open): Likewise.
26736
5680109e 267372009-07-19 Pavel Roskin <proski@gnu.org>
26738
26739 * Makefile.in: Remove LIBLZO and enable_lzo.
26740 * conf/i386-pc.rmk: Remove lzo support.
26741 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26742 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26743 support.
26744 * kern/i386/pc/lzo1x.S: Remove.
26745 * kern/i386/pc/startup.S: Remove lzo support.
26746 * util/i386/pc/grub-mkimage.c: Likewise.
26747
ac70fa32 267482009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26751 * fs/xfs.c (grub_xfs_dir): Likewise.
26752 * fs/afs.c (grub_afs_dir): Likewise.
26753 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26754 (grub_iso9660_open): Likewise.
26755 * fs/jfs.c (grub_jfs_open): Likewise.
26756 * fs/ext2.c (grub_ext2_dir): Likewise.
26757 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26758 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26759
eab58da2 267602009-07-16 Pavel Roskin <proski@gnu.org>
26761
d2838156 26762 * configure.ac: Never add "-c" to CFLAGS.
26763
55c70904 26764 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26765
43e6200c 26766 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26767 grub_cv_cc_efiemu should be used.
26768
ce7a733d 26769 * configure.ac: Typo fixes.
26770
eab58da2 26771 * kern/mm.c (grub_zalloc): New function.
26772 (grub_debug_zalloc): Likewise.
26773 * include/grub/mm.h: Declare grub_zalloc() and
26774 grub_debug_zalloc().
26775 * util/misc.c (grub_zalloc): New function.
26776 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26777 instead of grub_malloc(), remove unneeded initializations.
26778 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26779 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26780 * commands/parttool.c (grub_cmd_parttool): Likewise.
26781 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26782 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26783 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26784 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26785 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26786 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26787 (grub_cmd_efiemu_pnvram): Likewise.
26788 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26789 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26790 (grub_iso9660_iterate_dir): Likewise.
26791 * fs/jfs.c (grub_jfs_opendir): Likewise.
26792 * fs/ntfs.c (list_file): Likewise.
26793 (grub_ntfs_mount): Likewise.
26794 * kern/disk.c (grub_disk_open): Likewise.
26795 * kern/dl.c (grub_dl_load_core): Likewise.
26796 * kern/elf.c (grub_elf_file): Likewise.
26797 * kern/env.c (grub_env_context_open): Likewise.
26798 (grub_env_set): Likewise.
26799 (grub_env_set_data_slot): Likewise.
26800 * kern/file.c (grub_file_open): Likewise.
26801 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26802 * loader/i386/multiboot.c (grub_module): Likewise.
26803 * loader/xnu.c (grub_xnu_create_key): Likewise.
26804 (grub_xnu_create_value): Likewise.
26805 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26806 (read_config_file): Likewise.
26807 * normal/menu_entry.c (make_screen): Likewise.
26808 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26809 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26810 * script/sh/script.c (grub_script_parse): Likewise.
26811 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26812 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26813 * video/readers/png.c (grub_png_output_byte): Likewise.
26814 (grub_video_reader_png): Likewise.
26815
830afef7 268162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26817
26818 Enable all targets that can be built by default
26819
830afef7 26820 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26821 grub-mkfont and grub-fstest if they can be built
26822
ee293aee 268232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26824
26825 Fix hang and segmentation fault in grub-emu-usb
26826
26827 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26828 * util/usb.c (grub_libusb_devices): likewise
26829 (grub_libusb_init): rename to ...
26830 (GRUB_MOD_INIT (libusb)):...this
26831 (grub_libusb_fini): rename to ..
26832 (GRUB_MOD_FINI (libusb)):...this
26833 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26834 * include/grub/disk.h (grub_raid_init): removed, it's useless
26835 (grub_raid_fini): likewise
26836 (grub_lvm_init): likewise
26837 (grub_lvm_fini): likewise
26838 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26839 by grub_init_all
26840
94414221 268412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 Fix libusb
26844
26845 * Makefile.in (LIBUSB): new macro
26846 * genmk.rb (Utility/print_tail): new method
26847 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26848 (top level): call util.print_tail at the end.
26849
59ade63d 268502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 Make FreeBSD accept zpool.cache
26853
26854 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26855 type is /boot/zfs/zpool.cache
26856
a58da8c7 268572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26858
26859 Fix 64-bit efiemu
26860
26861 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26862 correct wrong typedef
26863 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26864
20591577 268652009-07-15 Pavel Roskin <proski@gnu.org>
26866
560ca572 26867 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26868 * kern/disk.c (struct grub_disk_cache): Likewise.
26869
e8e8e4fd 26870 * commands/probe.c (options): Typo fix.
26871
fde24e10 26872 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26873 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26874 accordingly.
26875 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26876
379c54c1 26877 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26878 the end of "Error" to make the message more readable.
26879
7bd8f5bf 26880 * boot/i386/pc/boot.S (kernel_segment): Remove.
26881 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26882 for destination.
26883
40b132c5 26884 * boot/i386/pc/boot.S (boot_version): Remove.
26885 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26886 Remove.
26887
20591577 26888 * include/grub/i386/pc/boot.h: Sort all offsets.
26889 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26890 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26891 * boot/i386/pc/boot.S: Assert location of every offset listed in
26892 include/grub/i386/pc/boot.h.
26893
2df32b2c 268942009-07-13 Pavel Roskin <proski@gnu.org>
26895
44b5d879 26896 * include/grub/i386/coreboot/machine.h: Rename
26897 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26898 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26899 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26900
17dc3751 26901 * kern/dl.c: Force native word size to suppress warnings when
26902 compiling grub-emu.
26903
2df32b2c 26904 * kern/device.c (grub_device_iterate): Change struct part_ent to
26905 hold the name, not a pointer to it. Use one grub_malloc() per
26906 partition, not two. Free partition_name if grub_malloc() fails.
26907 Set ents to NULL only before grub_partition_iterate() is called.
26908
75c59f59 269092009-07-11 Bean <bean123ch@gmail.com>
26910
26911 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26912 childname.
26913
0ae1bf88 269142009-07-10 Bean <bean123ch@gmail.com>
269152009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26916
26917 * kern/ieee1275/openfw.c (grub_children_iterate)
26918 (grub_devalias_iterate): Fix size evaluation for property or path
26919 strings, which was broken since r2132.
26920
8279cade 269212009-07-07 Pavel Roskin <proski@gnu.org>
26922
7d8a52d3 26923 * commands/search.c (search_file): Merge into ...
26924 (search_fs): ... this. Accept search type as argument.
26925 (grub_cmd_search): Pass search type to search_fs().
26926
25f9a05a 26927 * include/grub/util/console.h: New file.
26928 * util/console.c: Use it instead of grub/machine/console.h.
26929 * util/grub-emu.c: Likewise.
26930
8279cade 26931 * lib/arg.c (find_long_option): Remove.
26932 (find_long): Add `len' argument, make `s' const char *.
26933 (grub_arg_parse): Parse long options in place, not in a
26934 temporary buffer.
26935
4a11b60f 269362009-07-06 Pavel Roskin <proski@gnu.org>
26937
99f68041 26938 * commands/search.c (search_fs): Fix potential NULL pointer
26939 dereference.
26940
4a11b60f 26941 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26942 function pointer.
26943
e110f4de 269442009-07-06 Daniel Mierswa <impulze@impulze.org>
26945
26946 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26947 comparison.
26948
46eeb6a2 269492009-07-05 Pavel Roskin <proski@gnu.org>
26950
bab74958 26951 * include/grub/i386/linux.h (struct linux_kernel_params):
26952 Restore padding3, it's still needed.
26953
46eeb6a2 26954 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26955 FreeBSD.
26956 * util/osdetect.lua: Likewise.
26957
b4a1dc79 269582009-07-05 Bean <bean123ch@gmail.com>
26959
26960 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26961
26962 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26963 (grub_lua_getenv): Likewise.
26964 (grub_lua_setenv): Likewise.
26965 (save_errno): New function.
26966 (push_result): Likewise.
26967 (grub_lua_enum_device): Likewise.
26968 (grub_lua_enum_file): Likewise.
26969 (grub_lua_file_open): Likewise.
26970 (grub_lua_file_close): Likewise.
26971 (grub_lua_file_seek): Likewise.
26972 (grub_lua_file_read): Likewise.
26973 (grub_lua_file_getline): Likewise.
26974 (grub_lua_file_getsize): Likewise.
26975 (grub_lua_file_getpos): Likewise.
26976 (grub_lua_file_eof): Likewise.
26977 (grub_lua_file_exist): Likewise.
26978 (grub_lua_add_menu): Likewise.
26979
26980 * script/lua/grub_lua.h (isupper): New inline function.
26981 (islower): Likewise.
26982 (ispunct): Likewise.
26983 (isxdigit): Likewise.
26984 (strcspn): Change to normal function.
26985 (strpbkr): New function declaration.
26986 (memchr): Likewise.
26987
26988 * script/lua/grub_main.c (scan_str): New function.
26989 (strcspn): Likewise.
26990 (strpbrk): Likewise.
26991 (memchr): Likewise.
26992
26993 * script/lua/linit.c (lualibs): Enable the string library.
26994
26995 * util/osdetect.lua: New file.
26996
2da92295 269972009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26998
26999 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27000 `capabilities' member.
27001
b2582ec9 270022009-07-02 Pavel Roskin <proski@gnu.org>
27003
27004 * genparttoollist.sh: Add missing newline at the end.
27005
32622956 270062009-07-01 Pavel Roskin <proski@gnu.org>
27007
87a7339e 27008 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27009
d23af54e 27010 * util/hostdisk.c (open_device): Remove `const' from
27011 `sysctl_size', as sysctlbyname() can change it (in this case it
27012 doesn't actually happen).
27013
c94b18a9 27014 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27015 using signed long int constants.
27016
c6cd3ef0 27017 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27018 constant to avoid a warning on FreeBSD.
27019
0df63420 27020 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27021 where it's needed.
27022
999577f1 27023 * Makefile.in: Install include/grub/machine symlink.
27024
6f41557f 27025 * Makefile.in: When installing symlinks, use "cp -fR", which
27026 works on FreeBSD and MacOSX.
27027 From Yves Blusseau <cl7m42e02@sneakemail.com>
27028
c8d22988 27029 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27030 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27031
1b96e952 27032 * util/misc.c: Move grub_reboot() and grub_halt() ...
27033 * util/grub-emu.c: ... here. Make main_env static.
27034 * include/grub/util/misc.h: Remove main_env.
27035
2ef0084d 27036 * kern/mm.c: Use correct format to print size_t.
27037
32622956 27038 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27039 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27040 * kern/powerpc/dl.c: Likewise.
27041 * kern/sparc64/dl.c: Likewise.
27042 * kern/x86_64/dl.c: Likewise.
27043
3f7f0cd0 270442009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27045
27046 Fix grub-emu build on sparc64-ieee1275.
27047
75421ca9 27048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27050
211d06b5 270512009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27052
27053 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27054 (grub_reboot, grub_halt): New functions.
27055
27056 * util/i386/pc/misc.c: Delete. Update all users.
27057 * util/sparc64/ieee1275/misc.c: Likewise.
27058 * util/powerpc/ieee1275/misc.c: Likewise.
27059
aaf53e3c 270602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27061
27062 * conf/i386.rmk (setjmp_mod_SOURCES)
27063 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27064 * conf/common.rmk (setjmp_mod_SOURCES)
27065 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27066 to use $(target_cpu).
27067 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27068 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27069 * conf/powerpc-ieee1275.rmk: Likewise.
27070 * conf/sparc64-ieee1275.rmk: Likewise.
27071
27072 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27073 $(target_cpu) for kern/$(target_cpu)/dl.c.
27074 * conf/i386-efi.rmk: Likewise.
27075 * conf/i386-ieee1275.rmk: Likewise.
27076 * conf/x86_64-efi.rmk: Likewise.
27077 * conf/i386-coreboot.rmk: Likewise.
27078 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27079 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27080 kern/$(target_cpu)/cache.S.
27081 * conf/sparc64-ieee1275.rmk: Likewise.
27082
a337130b 270832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27084
27085 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27086 type to `grub_uint8_t', and adjust `padding9' accordingly.
27087
c6fe4d53 270882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27089
b09db61d 27090 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27091
c6fe4d53 27092 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27093 assembly in final jump, using register constraints.
27094
b09db61d 27095 (grub_linux_boot): For text mode, initialize `have_vga' using
27096 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27097
27098 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27099 right before the final jump.
27100
27101 Set `video_mode' to 0x3.
27102
27103 Document initialization of `video_page', `video_mode' and
27104 `video_ega_bx'.
27105
28333ad0 271062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27107
27108 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27109 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27110 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27111
02164e1b 271122009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27113
27114 Fix build on Debian / sparc.
27115
27116 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27117
18b6c557 271182009-06-28 Pavel Roskin <proski@gnu.org>
27119
85f2aab6 27120 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27121 fix a warning.
27122
18b6c557 27123 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27124
ad760f81 271252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27126
27127 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27128 `err'.
27129
87a4623b 271302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27131
27132 Revert r2338.
27133
27134 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27135 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27136 grub_errno / grub_errmsg appropriately.
87a4623b 27137 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27138
8231fb77 271392009-06-27 Pavel Roskin <proski@gnu.org>
271402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27141
27142 * include/grub/dl.h: Include grub/elf.h.
27143 (struct grub_dl): Add symtab field.
27144 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27145 GRUB_MODULES_MACHINE_READONLY.
27146 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27147 of the header for read-only modules.
27148 (grub_dl_unload): Free mod->symtab for read-only modules.
27149 * kern/i386/dl.c: Use mod->symtab.
27150 * kern/powerpc/dl.c: Likewise.
27151 * kern/sparc64/dl.c: Likewise.
27152 * kern/x86_64/dl.c: Likewise.
27153
27154 * conf/i386-qemu.rmk: New file.
27155 * kern/i386/qemu/startup.S: Likewise.
27156 * kern/i386/qemu/mmap.c: Likewise.
27157 * boot/i386/qemu/boot.S: Likewise.
27158 * include/grub/i386/qemu/time.h: Likewise.
27159 * include/grub/i386/qemu/serial.h: Likewise.
27160 * include/grub/i386/qemu/kernel.h: Likewise.
27161 * include/grub/i386/qemu/console.h: Likewise.
27162 * include/grub/i386/qemu/boot.h: Likewise.
27163 * include/grub/i386/qemu/init.h: Likewise.
27164 * include/grub/i386/qemu/machine.h: Likewise.
27165 * include/grub/i386/qemu/loader.h: Likewise.
27166 * include/grub/i386/qemu/memory.h: Likewise.
27167
27168 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27169 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27170 [qemu] (pkglib_IMAGES): Add `boot.img'.
27171 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27172 [qemu] (boot_img_FORMAT): New variables.
27173 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27174 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27175 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27176 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27177 [qemu] (kernel_img_FORMAT): New variables.
27178
27179 * configure.ac: Recognise `i386-qemu'.
27180
27181 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27182 (for no compression).
27183 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27184 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27185 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27186 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27187 ifdefs).
27188
97fe384e 271892009-06-27 Pavel Roskin <proski@gnu.org>
27190
27191 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27192 read.
27193 * efiemu/prepare32.c: Likewise.
27194 * efiemu/prepare64.c: Likewise.
27195
c402ab17 271962009-06-26 Pavel Roskin <proski@gnu.org>
27197
27198 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27199 * include/grub/elf.h: Define symbols without "32" or "64" based
27200 on GRUB_TARGET_WORDSIZE.
27201 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27202 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27203 ELF definitions.
27204 * efiemu/loadcore64.c: Likewise.
27205 * loader/i386/bsd32.c: Likewise.
27206 * loader/i386/bsd64.c: Likewise.
27207 * kern/dl.c: Remove own ELF definitions.
27208 * util/i386/efi/grub-mkimage.c: Likewise.
27209
9bbdfd4d 272102009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27211
27212 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27213 segment 0x0 unconditionally, because the reference generated by
27214 GAS is an absolute address.
27215
a42ce6e9 272162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27217
27218 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27219 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27220
c952cf92 272212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27222
27223 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27224 indexes. Check for -f explicitly.
cc3752ad 27225 (search_file): Improve error message.
27226 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27227
132a0a59 272282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27229
27230 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27231 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27232
387a140c 272332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27234
27235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27236 * conf/i386-ieee1275.rmk: Likewise.
27237 * conf/i386-coreboot.rmk: Likewise.
27238
27239 * kern/i386/pc/startup.S (grub_stop): Remove function.
27240 * kern/i386/ieee1275/startup.S: Likewise.
27241 * kern/i386/coreboot/startup.S: Likewise.
27242 * kern/i386/misc.S (grub_stop): New function.
27243
41da9665 272442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27245
27246 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27247 * kern/i386/realmode.S (real_to_prot): ... to here.
27248
bf337234 272492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27252 with `kernel.img'.
27253 (kernel_elf_SOURCES): Rename to ...
27254 (kernel_img_SOURCES): ... this.
27255 (kernel_elf_HEADERS): Rename to ...
27256 (kernel_img_HEADERS): ... this. Update all users.
27257 (kernel_elf_ASFLAGS): Rename to ...
27258 (kernel_img_ASFLAGS): ... this.
27259 (kernel_elf_CFLAGS): Rename to ...
27260 (kernel_img_CFLAGS): ... this.
27261 (kernel_elf_LDFLAGS): Rename to ...
27262 (kernel_img_LDFLAGS): ... this.
27263 * conf/i386-coreboot.rmk: Likewise.
27264 * conf/powerpc-ieee1275.rmk: Likewise.
27265
27266 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27267 with "kernel.img".
27268
f52196ff 272692009-06-21 Pavel Roskin <proski@gnu.org>
27270
c3cee413 27271 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27272 to match nested functions.
27273 * loader/sparc64/ieee1275/linux.c: Likewise.
27274
f52196ff 27275 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27276
58750afc 272772009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27278
27279 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27280 all i386 platforms.
27281
15355c7d 272822009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27283
27284 Fix asm file handling on ELF, and remove workarounds.
27285
27286 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27287 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27288 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27289 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27290
3f3ec72b 272912009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 Load BSD ELF modules
27294
27295 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27296 and loader/i386/bsd64.c
27297 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27298 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27299 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27300 (grub_freebsd_load_elfmodule32): New declaration
27301 (grub_freebsd_load_elfmoduleobj64): Likewise
27302 (grub_freebsd_load_elf_meta32): Likewise
27303 (grub_freebsd_load_elf_meta64): Likewise
27304 (grub_freebsd_add_meta): Likewise
27305 (grub_freebsd_add_meta_module): Likewise
27306 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27307 (grub_freebsd_add_meta_module): Likewise and move module-specific
27308 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27309 (grub_cmd_freebsd): Add elf-kernel specific parts
27310 based on grub_freebsd_add_meta_module
27311 (grub_cmd_freebsd_module): Add type parsing moved from
27312 grub_freebsd_add_meta_module
27313 (grub_cmd_freebsd_module_elf): New function
27314 (cmd_freebsd_module_elf): New variable
27315 (GRUB_MOD_INIT): Register freebsd_module_elf
27316 * loader/i386/bsd32.c: New file
27317 * loader/i386/bsd64.c: Likewise
27318 * loader/i386/bsdXX.c: Likewise
27319 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27320 (grub_elf64_load): Likewise
27321 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27322 All users updated
27323 (grub_elf64_load_hook_t): Likewise
27324
0db15301 273252009-06-21 Colin Watson <cjwatson@ubuntu.com>
27326
27327 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27328 variable.
27329 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27330 don't write a menu entry for recovery mode.
27331
546796c1 273322009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27333
27334 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27335 after it's no longer needed.
27336
cd7310d5 273372009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27338
27339 * include/grub/i386/loader.h (grub_linux_prot_size)
27340 (grub_linux_tmp_addr, grub_linux_real_addr)
27341 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27342 GRUB_MACHINE_PCBIOS.
27343 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27344 common grub_util_info() call to ...
27345 (generate_image): ... here.
27346 Fix use of uninitialized memory, comparison of signed with
27347 unsigned integers and memory leak.
27348 Remove bogus module address message.
27349
ab32d3b5 273502009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27353 grub_raid_register
27354 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27355
024ef597 273562009-06-19 Pavel Roskin <proski@gnu.org>
27357
27358 * configure.ac: Remove stray AC_MSG_CHECKING.
27359
3ac72b51 273602009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27363
e14cd814 273642009-06-18 Pavel Roskin <proski@gnu.org>
27365
27366 * conf/common.rmk: Add fs_file.mod.
27367 * disk/fs_file.c: New file.
27368 * include/grub/disk.h (enum grub_disk_dev_id): Add
27369 GRUB_DISK_DEVICE_FILE_ID.
27370
26586d98 273712009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27372
27373 Fix build with Apple's toolchain. Part 2
27374
27375 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27376 a fake start
27377
26de2bcd 273782009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 Fix build with Apple's toolchain. Part 1
27381
27382 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27383 for long calls
27384 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27385 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27386 Apple's toolchain
27387
09b3490b 273882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27389
27390 Fix warnings
27391
27392 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27393 (decomp_block): initialize ch
27394 use grub_memcpy instead of memcpy
27395
c22a006a 273962009-06-17 Pavel Roskin <proski@gnu.org>
27397
d3638678 27398 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27399 version, use declarations needed to use vga_text as the startup
27400 console.
27401
c22a006a 27402 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27403 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27404 the kernel.
27405 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27406 and grub_at_keyboard_fini(), it's done on module load and
27407 unload.
27408
05b129e0 274092009-06-17 Felix Zielcke <fzielcke@z-51.de>
27410
27411 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27412 file can't be found.
27413 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27414
cf24ed9e 274152009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27416
27417 Fix newline handling
27418
27419 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27420 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27421 (grub_script_yylex): don't segfault on unterminated script
27422 newline terminates command and variable
27423
74aa8e4b 274242009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27425
27426 avoid double grub_adjust_range call. Bug reported by David Simner
27427
27428 * kern/disk.c (grub_disk_write): change to raw disk access before
27429 calling disk_read
27430
1bd265f3 274312009-06-17 Colin Watson <cjwatson@ubuntu.com>
27432
27433 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27434 spaces, for the benefit of help2man.
27435 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27436
a2d08c06 274372009-06-16 Pavel Roskin <proski@gnu.org>
27438
27439 * kern/i386/halt.c: Include grub/machine/init.h.
27440 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27441
b97bcb19 274422009-06-16 Felix Zielcke <fzielcke@z-51.de>
27443
27444 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27445 drivemap menuentry.
27446
0644f96c 274472009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27448
27449 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27450 `echo' command.
27451
3ef17a2e 274522009-06-16 Pavel Roskin <proski@gnu.org>
27453
27454 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27455 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27456 save %dx, we only need %dl and we never change it.
27457 * boot/i386/pc/cdboot.S: Don't set the root drive.
27458 * boot/i386/pc/pxeboot.S: Likewise.
27459 * include/grub/i386/pc/boot.h: Remove
27460 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27461 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27462 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27463 * kern/i386/pc/init.c (make_install_device): Remove references
27464 to grub_root_drive.
27465 * kern/i386/pc/startup.S: Likewise.
27466 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27467
693fe637 274682009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27469
27470 xnu_uuid command
27471
27472 * commands/xnu_uuid.c: new file
27473 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27474 (xnu_uuid_mod_SOURCES): new variable
27475 (xnu_uuid_mod_CFLAGS): likewise
27476 (xnu_uuid_mod_LDFLAGS): likewise
27477 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27478 * conf/i386-ieee1275.rmk: likewise
27479 * conf/i386-pc.rmk: likewise
27480 * conf/powerpc-ieee1275.rmk: likewise
27481 * conf/sparc64-ieee1275.rmk: likewise
27482 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27483
c9da87d0 274842009-06-16 Pavel Roskin <proski@gnu.org>
27485
27486 * configure.ac: Avoid '==' in test command, it's not portable.
27487
9c6f4596 274882009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27489
27490 Probe command
27491
27492 * commands/probe.c: new file
27493 * conf/common.rmk (pkglib_MODULES): add probe.mod
27494 (probe_mod_SOURCES): new variable
27495 (probe_mod_CFLAGS): likewise
27496 (probe_mod_LDFLAGS): likewise
27497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27498 * conf/i386-ieee1275.rmk: likewise
27499 * conf/i386-pc.rmk: likewise
27500 * conf/powerpc-ieee1275.rmk: likewise
27501 * conf/sparc64-ieee1275.rmk: likewise
27502
70b7f9fd 275032009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27504
27505 Fix handling of string like \"hello\" and "a
27506 b"
27507
27508 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27509 (grub_script_yylex): fix parsing of quoting, escaping and newline
27510
71c79a6b 275112009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27512
dd74360c 27513 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27514 handling
dd74360c 27515
0644f96c 275162009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27517
27518 * util/grub-mkconfig.in: Fix parsing of --output option.
27519
e40893c3 275202009-06-12 Pavel Roskin <proski@gnu.org>
27521
27522 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27523 genmk.rb don't need to be generated or installed.
27524
3a1acfe2 275252009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27526
27527 * commands/i386/pc/drivemap_int13h.S: add more comments
27528
3a4575d4 275292009-06-11 Pavel Roskin <proski@gnu.org>
27530
0658e928 27531 * Makefile.in (uninstall): Uninstall manuals.
27532
ca0388f0 27533 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27534 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27535 and update-grub_lib in two places.
27536 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27537
e3b27c39 27538 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27539 a compiler warning.
27540
3a4575d4 27541 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27542 `entry_lo' to fix variable shadowing.
27543
af1f4f55 275442009-06-11 Christian Franke <franke@computer.org>
27545
27546 * kern/misc.c (__enable_execute_stack): Add missing return type
27547 to prevent gcc warning.
27548
5225e649 275492009-06-11 Felix Zielcke <fzielcke@z-51.de>
27550
27551 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27552
7d83bd47 275532009-06-11 Pavel Roskin <proski@gnu.org>
27554
c1cb63ba 27555 * Makefile.in: Don't rely on any scripts being executable.
27556 Always use $(SHELL) to run shell scripts.
27557
7d83bd47 27558 * configure.ac: Always define ___main if using -nostdlib. This
27559 fixes tests on Cygwin.
27560
948f48e7 275612009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27562
27563 UDF fix
27564
7d83bd47 27565 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27566 is in bytes and not in blocks
7d83bd47 27567
8ada9bc1 275682009-06-11 Pavel Roskin <proski@gnu.org>
27569
27570 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27571 warning.
27572
25ad2323 275732009-06-11 Felix Zielcke <fzielcke@z-51.de>
27574
27575 * util/grub.d/30_os-prober.in: Fix a comment. Source
27576 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27577 to set the root device. Place drivemap command in the generated
27578 chain entry.
27579
e65acb0c 275802009-06-11 Pavel Roskin <proski@gnu.org>
27581
27582 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27583 have long been resolved.
27584
f285fe2d 275852009-06-11 Colin Watson <cjwatson@ubuntu.com>
27586
bd47b0b5 27587 * util/grub.d/10_linux.in: Capitalise "Linux".
27588
f285fe2d 27589 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27590
a0c62e4e 275912009-06-11 Pavel Roskin <proski@gnu.org>
27592
b6783cb2 27593 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27594 fix a gcc warning and ensure that the function won't ever exit.
27595
dde032e8 27596 * kern/i386/ieee1275/init.c: Add missing prototype for
27597 grub_stop_floppy().
27598
22cd079d 27599 * loader/ieee1275/multiboot2.c [__i386__]: Include
27600 grub/cpu/multiboot.h.
27601
a0c62e4e 27602 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27603 casts to short - they are not portable and cause warnings. Fix
27604 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27605
63963d17 276062009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27607
27608 Drivemap fixes
27609
27610 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27611 new function
27612 (grub_get_root_biosnumber_saved): new variable
27613 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27614 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27615 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27616 %dx after the call if necessary
27617 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27618 (boot_mod_SOURCES): remove
27619 (boot_mod_CFLAGS): remove
27620 (boot_mod_LDFLAGS): remove
27621 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27622 (boot_mod_SOURCES): new variable
27623 (boot_mod_CFLAGS): likewise
27624 (boot_mod_LDFLAGS): likewise
27625 * conf/i386-efi.rmk: likewise
27626 * conf/i386-ieee1275.rmk: likewise
27627 * conf/i386-pc.rmk: likewise
27628 * conf/powerpc-ieee1275.rmk: likewise
27629 * conf/sparc64-ieee1275.rmk: likewise
27630 * conf/x86_64-efi.rmk: likewise
27631 * include/grub/i386/pc/biosnum.h: new file
27632 * lib/i386/pc/biosnum.c: likewise
27633 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27634 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27635 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27636
33abf7ae 276372009-06-10 Pavel Roskin <proski@gnu.org>
27638
5ac35b35 27639 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27640 Use separate variables. Read only the file size at the end, but
27641 not the checksum that we don't use.
27642
5c5215d5 27643 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27644 Adjust all callers.
27645
27d5fef7 27646 * kern/ieee1275/openfw.c: Remove libc includes.
27647 * kern/ieee1275/cmain.c: Likewise.
27648 * include/grub/ieee1275/ieee1275.h: Likewise.
27649
33abf7ae 27650 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27651 compiler warnings.
27652
19d50c2b 276532009-06-10 Felix Zielcke <fzielcke@z-51.de>
27654
27655 * Makefile.in: Remove all trailing whitespace.
27656 * conf/i386-pc.rmk: Likewise.
27657 * conf/powerpc-ieee1275.rmk: Likewise.
27658 * conf/sparc64-ieee1275.rmk: Likewise.
27659 * docs/grub.texi: Likewise.
27660 * docs/texinfo.tex: Likewise.
27661 * disk/fs_uuid.c: Likewise.
27662 * disk/lvm.c: Likewise.
27663 * disk/scsi.c: Likewise.
27664 * disk/ata.c: Likewise.
27665 * disk/ieee1275/ofdisk.c: Likewise.
27666 * disk/i386/pc/biosdisk.c: Likewise.
27667 * disk/host.c: Likewise.
27668 * disk/raid.c: Likewise.
27669 * disk/efi/efidisk.c: Likewise.
27670 * disk/usbms.c: Likewise.
27671 * disk/memdisk.c: Likewise.
27672 * disk/loopback.c: Likewise.
27673 * kern/powerpc/dl.c: Likewise.
27674 * kern/device.c: Likewise.
27675 * kern/dl.c: Likewise.
27676 * kern/sparc64/dl.c: Likewise.
27677 * kern/ieee1275/ieee1275.c: Likewise.
27678 * kern/term.c: Likewise.
27679 * kern/fs.c: Likewise.
27680 * kern/i386/dl.c: Likewise.
27681 * kern/i386/pc/startup.S: Likewise.
27682 * kern/i386/pc/init.c: Likewise.
27683 * kern/i386/pc/mmap.c: Likewise.
27684 * kern/i386/pc/lzo1x.S: Likewise.
27685 * kern/i386/ieee1275/init.c: Likewise.
27686 * kern/i386/realmode.S: Likewise.
27687 * kern/i386/tsc.c: Likewise.
27688 * kern/partition.c: Likewise.
27689 * kern/corecmd.c: Likewise.
27690 * kern/file.c: Likewise.
27691 * kern/efi/efi.c: Likewise.
27692 * kern/efi/init.c: Likewise.
27693 * kern/efi/mm.c: Likewise.
27694 * kern/main.c: Likewise.
27695 * kern/err.c: Likewise.
27696 * kern/env.c: Likewise.
27697 * kern/disk.c: Likewise.
27698 * kern/generic/millisleep.c: Likewise.
27699 * kern/generic/rtc_get_time_ms.c: Likewise.
27700 * kern/misc.c: Likewise.
27701 * kern/parser.c: Likewise.
27702 * genmk.rb: Likewise.
27703 * configure.ac: Likewise.
27704 * boot/i386/pc/diskboot.S: Likewise.
27705 * boot/i386/pc/pxeboot.S: Likewise.
27706 * boot/i386/pc/boot.S: Likewise.
27707 * boot/i386/pc/lnxboot.S: Likewise.
27708 * boot/i386/pc/cdboot.S: Likewise.
27709 * parttool/pcpart.c: Likewise.
27710 * video/readers/tga.c: Likewise.
27711 * video/video.c: Likewise.
27712 * video/bitmap.c: Likewise.
27713 * lib/envblk.c: Likewise.
27714 * lib/i386/setjmp.S: Likewise.
27715 * fs/xfs.c: Likewise.
27716 * fs/afs.c: Likewise.
27717 * fs/fat.c: Likewise.
27718 * fs/ntfs.c: Likewise.
27719 * fs/udf.c: Likewise.
27720 * fs/affs.c: Likewise.
27721 * fs/iso9660.c: Likewise.
27722 * fs/hfs.c: Likewise.
27723 * fs/fshelp.c: Likewise.
27724 * fs/ext2.c: Likewise.
27725 * fs/jfs.c: Likewise.
27726 * fs/reiserfs.c: Likewise.
27727 * fs/hfsplus.c: Likewise.
27728 * fs/minix.c: Likewise.
27729 * fs/cpio.c: Likewise.
27730 * fs/sfs.c: Likewise.
27731 * fs/ufs.c: Likewise.
27732 * efiemu/prepare.c: Likewise.
27733 * efiemu/loadcore_common.c: Likewise.
27734 * efiemu/runtime/efiemu.sh: Likewise.
27735 * efiemu/runtime/efiemu.S: Likewise.
27736 * efiemu/runtime/efiemu.c: Likewise.
27737 * efiemu/pnvram.c: Likewise.
27738 * efiemu/main.c: Likewise.
27739 * efiemu/i386/pc/cfgtables.c: Likewise.
27740 * efiemu/i386/loadcore64.c: Likewise.
27741 * efiemu/i386/loadcore32.c: Likewise.
27742 * efiemu/loadcore.c: Likewise.
27743 * efiemu/symbols.c: Likewise.
27744 * efiemu/mm.c: Likewise.
27745 * include/grub/autoefi.h: Likewise.
27746 * include/grub/datetime.h: Likewise.
27747 * include/grub/term.h: Likewise.
27748 * include/grub/hfs.h: Likewise.
27749 * include/grub/lvm.h: Likewise.
27750 * include/grub/i386/tsc.h: Likewise.
27751 * include/grub/i386/linux.h: Likewise.
27752 * include/grub/i386/xnu.h: Likewise.
27753 * include/grub/i386/efiemu.h: Likewise.
27754 * include/grub/i386/pc/biosdisk.h: Likewise.
27755 * include/grub/i386/pc/memory.h: Likewise.
27756 * include/grub/i386/pc/vbe.h: Likewise.
27757 * include/grub/parttool.h: Likewise.
27758 * include/grub/video.h: Likewise.
27759 * include/grub/memory.h: Likewise.
27760 * include/grub/fs.h: Likewise.
27761 * include/grub/partition.h: Likewise.
27762 * include/grub/xnu.h: Likewise.
27763 * include/grub/efi/api.h: Likewise.
27764 * include/grub/efi/pe32.h: Likewise.
27765 * include/grub/efi/memory.h: Likewise.
27766 * include/grub/multiboot.h: Likewise.
27767 * include/grub/usbdesc.h: Likewise.
27768 * include/grub/multiboot2.h: Likewise.
27769 * include/grub/acpi.h: Likewise.
27770 * include/grub/efiemu/efiemu.h: Likewise.
27771 * include/grub/disk.h: Likewise.
27772 * include/grub/ieee1275/ieee1275.h: Likewise.
27773 * include/grub/net.h: Likewise.
27774 * include/grub/machoload.h: Likewise.
27775 * include/grub/macho.h: Likewise.
27776 * include/multiboot.h: Likewise.
27777 * genmoddep.awk: Likewise.
27778 * normal/main.c: Likewise.
27779 * normal/menu_entry.c: Likewise.
27780 * normal/menu_viewer.c: Likewise.
27781 * normal/completion.c: Likewise.
27782 * normal/cmdline.c: Likewise.
27783 * normal/misc.c: Likewise.
27784 * normal/datetime.c: Likewise.
27785 * bus/usb/usbtrans.c: Likewise.
27786 * bus/usb/ohci.c: Likewise.
27787 * bus/usb/uhci.c: Likewise.
27788 * bus/usb/usb.c: Likewise.
27789 * mmap/efi/mmap.c: Likewise.
27790 * mmap/i386/pc/mmap_helper.S: Likewise.
27791 * mmap/i386/pc/mmap.c: Likewise.
27792 * mmap/i386/mmap.c: Likewise.
27793 * mmap/i386/uppermem.c: Likewise.
27794 * mmap/mmap.c: Likewise.
27795 * commands/acpi.c: Likewise.
27796 * commands/echo.c: Likewise.
27797 * commands/blocklist.c: Likewise.
27798 * commands/loadenv.c: Likewise.
27799 * commands/usbtest.c: Likewise.
27800 * commands/boot.c: Likewise.
27801 * commands/parttool.c: Likewise.
27802 * commands/search.c: Likewise.
27803 * commands/cat.c: Likewise.
27804 * commands/i386/pc/play.c: Likewise.
27805 * commands/i386/pc/drivemap.c: Likewise.
27806 * commands/i386/pc/vbeinfo.c: Likewise.
27807 * commands/i386/pc/acpi.c: Likewise.
27808 * commands/i386/pc/vbetest.c: Likewise.
27809 * commands/ls.c: Likewise.
27810 * commands/cmp.c: Likewise.
27811 * commands/test.c: Likewise.
27812 * commands/efi/acpi.c: Likewise.
27813 * commands/gptsync.c: Likewise.
27814 * commands/help.c: Likewise.
27815 * partmap/amiga.c: Likewise.
27816 * partmap/apple.c: Likewise.
27817 * partmap/acorn.c: Likewise.
27818 * partmap/pc.c: Likewise.
27819 * partmap/sun.c: Likewise.
27820 * partmap/gpt.c: Likewise.
27821 * script/sh/lexer.c: Likewise.
27822 * script/sh/function.c: Likewise.
27823 * font/font.c: Likewise.
27824 * font/font_cmd.c: Likewise.
27825 * loader/powerpc/ieee1275/linux.c: Likewise.
27826 * loader/efi/chainloader.c: Likewise.
27827 * loader/multiboot_loader.c: Likewise.
27828 * loader/macho.c: Likewise.
27829 * loader/i386/multiboot.c: Likewise.
27830 * loader/i386/linux.c: Likewise.
27831 * loader/i386/pc/linux.c: Likewise.
27832 * loader/i386/pc/multiboot2.c: Likewise.
27833 * loader/i386/pc/chainloader.c: Likewise.
27834 * loader/i386/pc/xnu.c: Likewise.
27835 * loader/i386/bsd_trampoline.S: Likewise.
27836 * loader/i386/efi/linux.c: Likewise.
27837 * loader/i386/multiboot_elfxx.c: Likewise.
27838 * loader/i386/bsd_helper.S: Likewise.
27839 * loader/i386/bsd.c: Likewise.
27840 * loader/i386/linux_trampoline.S: Likewise.
27841 * loader/i386/xnu_helper.S: Likewise.
27842 * loader/i386/xnu.c: Likewise.
27843 * loader/i386/bsd_pagetable.c: Likewise.
27844 * loader/i386/multiboot_helper.S: Likewise.
27845 * loader/xnu.c: Likewise.
27846 * loader/xnu_resume.c: Likewise.
27847 * io/gzio.c: Likewise.
27848 * term/efi/console.c: Likewise.
27849 * term/terminfo.c: Likewise.
27850 * term/ieee1275/ofconsole.c: Likewise.
27851 * term/i386/pc/serial.c: Likewise.
27852 * term/i386/pc/vesafb.c: Likewise.
27853 * term/i386/pc/vga.c: Likewise.
27854 * term/usb_keyboard.c: Likewise.
27855 * term/gfxterm.c: Likewise.
27856 * aclocal.m4: Likewise.
27857 * util/lvm.c: Likewise.
27858 * util/grub.d/30_os-prober.in: Likewise.
27859 * util/grub.d/10_hurd.in: Likewise.
27860 * util/console.c: Likewise.
27861 * util/grub-macho2img.c: Likewise.
27862 * util/grub-probe.c: Likewise.
27863 * util/hostfs.c: Likewise.
27864 * util/i386/pc/grub-mkimage.c: Likewise.
27865 * util/i386/pc/grub-setup.c: Likewise.
27866 * util/i386/efi/grub-mkimage.c: Likewise.
27867 * util/grub-mkconfig.in: Likewise.
27868 * util/raid.c: Likewise.
27869 * util/resolve.c: Likewise.
27870 * util/grub-mkdevicemap.c: Likewise.
27871 * util/grub-emu.c: Likewise.
27872 * util/getroot.c: Likewise.
27873 * util/hostdisk.c: Likewise.
27874 * util/usb.c: Likewise.
27875 * util/grub-editenv.c: Likewise.
27876 * util/misc.c: Likewise.
27877
d2d49665 278782009-06-10 Felix Zielcke <fzielcke@z-51.de>
27879
27880 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27881 `genparttoollist.sh'.
27882 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27883 Add `*.sh' to the list find searches for and change `mdate.sh'
27884 to `mdate-sh'.
27885
fe052e37 278862009-06-10 Pavel Roskin <proski@gnu.org>
27887
2763ac18 27888 * include/grub/multiboot2.h: Provide compatibility defines for
27889 multiboot2.h.
27890 * include/multiboot2.h: Include stdint.h only if needed, using
27891 angle brackets.
27892 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27893 grub/multiboot2.h.
27894 * loader/ieee1275/multiboot2.c: Likewise.
27895 * loader/multiboot2.c: Likewise.
27896 * loader/multiboot_loader.c: Likewise.
27897
437e6adc 27898 * configure.ac: Use -nostdlib when probing for the target. It
27899 should not be required to have libc for the target.
27900
06a6836c 27901 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27902 they fail without libc headers for the target.
27903 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27904 exports.
27905 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27906 preprocessor conditionals.
27907
fe052e37 27908 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27909 build system doesn't need to be aware of the tar.c internals.
27910
afd22553 279112009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27912
afd22553 27913 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27914
6b787c4f 279152009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27916
27917 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27918 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27919
279202009-06-09 Felix Zielcke <fzielcke@z-51.de>
27921
27922 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27923 aren't available if ata.mod gets used.
6b787c4f 27924
473d1e45 279252009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27926
473d1e45 27927 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27928 initialising controller.
473d1e45 27929 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27930
255a27d4 279312009-06-08 Felix Zielcke <fzielcke@z-51.de>
27932
27933 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27934 to choose between ata and biosdisk module on i386-pc.
27935
473d1e45 279362009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27937
d55842d8 27938 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27939 Subclass and Programming Interface fields in terms of the 3 byte
27940 Class Code register.
27941 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27942
fa5db0b1 27943 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27944 interface is OHCI. Add grub_dprintf for symmetry with
27945 bus/usb/uhci.c.
27946 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27947 interface is UHCI. Add interf variable for programming
27948 interface. Print interface with class/subclass.
27949
c0947beb 27950 * bus/usb/ohci.c: Set interf with correct field.
27951
69da8877 27952 * bus/usb/uhci.c: Remove unneeded doubled lines.
27953 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27954 Remove whitespace inside comment.
27955
9e172e30 279562009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27957
27958 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27959 as fallback an equivalent option without depth.
27960
de65ee2b 279612009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27962
27963 Not fail if unable to retrieve C/H/S on LBA disks
27964
473d1e45 27965 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27966 if unable to retrieve C/H/S on LBA disks
27967
b57ea2c9 279682009-06-08 Pavel Roskin <proski@gnu.org>
27969
27970 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27971 about aliasing.
27972
af361263 279732009-06-08 Felix Zielcke <fzielcke@z-51.de>
27974
27975 * Makefile.in (uninstall): Remove all $lib_DATA files.
27976
4c9ec6b3 279772009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27978
27979 Bugfix: install on partitionless device
27980
27981 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27982 is a whole disk
27983
e76fc924 279842009-06-08 Felix Zielcke <fzielcke@z-51.de>
27985
27986 * Makefile.in (uninstall): Remove all $include_DATA files.
27987
ba5a0d05 279882009-06-08 Felix Zielcke <fzielcke@z-51.de>
27989
27990 * commands/true.c: New file. Implement the true and false commands.
27991 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27992 (true_mod_SOURCES): New variable.
27993 (true_mod_CFLAGS): Likewise.
27994 (true_mod_LDFLAGS): Likewise.
27995
c8048e32 279962009-06-05 Colin D Bennett <colin@gibibit.com>
27997
27998 Optimized font character lookup using binary search instead of linear
27999 search. Fonts now are required to have the character index ordered by
28000 code point.
28001
28002 * font/font.c (load_font_index): Verify that fonts have ordered
28003 character indices.
28004 (find_glyph): Use binary search instead of linear search to find a
28005 character in a font.
28006
408305be 280072009-06-05 Michael Scherer <misc@mandriva.org>
28008
28009 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28010 uses case sensitive btree.
28011 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28012 only for case insensitive filesystems.
28013
8ee1e0d9 280142009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28015
28016 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28017 * conf/common.rmk (search_mod_CFLAGS): likewise
28018
a9966eb1 280192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28020
473d1e45 28021 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28022 compensate a compiler bug
28023
9e7100fb 280242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28025
473d1e45 28026 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28027 instead of '\b'
473d1e45 28028
ede21d71 280292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28030
28031 Definitions for creating asm symbols with Apple's CC
28032
28033 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28034 [APPLE_CC] (VARIABLE): likewise
28035
9dbf7653 280362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28037
28038 Disable lnxboot.img when compiled
28039 with Apple's CC
28040
28041 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28042 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28043 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28044 [! APPLE_CC] (CODE_LENG): skip
28045 [! APPLE_CC] (setup_sects): likewise
28046 [! APPLE_CC]: skip filling
473d1e45 28047
e93cdc3d 280482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 Address in trampolines based on 32-bit registers when compiled
28051 with Apple's CC
28052
473d1e45 28053 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28054 for addresses
28055 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28056
6c688477 280572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28058
28059 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28060
28061 * kern/misc.c [APPLE_CC] (memcpy): new function
28062 [APPLE_CC] (memmove): likewise
28063 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28064 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28065 (memset): likewise
28066 (abort): likewise
28067 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28068 APPLE_CC are defined
28069 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28070 (grub_assert_fail): make prototype conditional
28071
e37ffc5c 280722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28073
28074 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28075
473d1e45 28076 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28077 grub-macho2img
e37ffc5c 28078 (CLEANFILES): add grub-macho2img
28079 (grub_macho2img_SOURCES): new variable
28080 * kern/i386/pc/startup.S (bss_start): new variable
28081 (bss_end): likewise
28082 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28083 * util/grub-macho2img.c: new file
28084
cf00df31 280852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28086
28087 Use objconv when compiling with Apple's CC
28088
28089 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28090 (efiemu64.o): likewise
28091 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28092 when compiling with Apple's CC
28093 (efiemu64_s.o): likewise
28094 * configure.ac: check for objconv when compiling with Apple's CC
28095 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28096
d119a20c 280972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28098
28099 Define segment as well as section when compiling with
28100 Apple's CC
28101
28102 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28103 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28104 (efiemu_convert_pointer): likewise
28105 (efiemu_set_virtual_address_map): likewise
28106 (efiemu_convert_pointer): likewise
28107 (efiemu_getcrc32): likewise
28108 (init_crc32_table): likewise
28109 (reflect): likewise
28110 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28111 (GRUB_MOD_DEP): likewise
473d1e45 28112
c8600122 281132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28114
28115 Allow a compilation without -mcmodel=large
28116
28117 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28118 when compiled without -mcmodel=large
473d1e45 28119 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28120 without -mcmodel=large
473d1e45 28121 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28122 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28123
e8df1d4e 281242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28125
28126 Remove nested functions in efiemu core
28127
28128 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28129
cc6c3ac1 281302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28131
28132 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28133
28134 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28135 temporary storage
473d1e45 28136 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28137 using Apple's CC
cc6c3ac1 28138 (grub_cpu_is_tsc_supported): likewise
28139 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28140
3e325901 281412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 Absolute addressing through constant with Apple's cc
28144
28145 * kern/i386/pc/startup.S: Define necessary constants
28146 and address through it when using ABS with Apple's CC
28147 * boot/i386/pc/diskboot.S: likewise
28148 * boot/i386/pc/boot.S: likewise
28149 * boot/i386/pc/lnxboot.S: likewise
28150 * boot/i386/pc/cdboot.S: likewise
28151 * mmap/i386/pc/mmap_helper.S: likewise
28152 * commands/i386/pc/drivemap_int13h.S: likewise
28153
2b167a72 281542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 Check if compiler is apple cc
28157
28158 * Makefile.in (ASFLAGS): new variable
28159 (TARGET_ASFLAGS): likewise
28160 (TARGET_MODULE_FORMAT): likewise
28161 (TARGET_APPLE_CC): likewise
28162 (OBJCONV): likewise
28163 (TARGET_IMG_CFLAGS): likewise
28164 (TARGET_CPPFLAGS): add includedir
28165 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28166 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28167 Check for linker script only if compiler isn't Apple's CC
28168 (TARGET_MODULE_FORMAT): set
28169 (TARGET_APPLE_CC): likewise
28170 (TARGET_ASFLAGS): likewise
28171 (ASFLAGS): likewise
28172 Check for objcopy only if compiler isn't Apple's CC
28173 Check for BSS symbol only if compiler isn't Apple's CC
28174 * genmk.rb: adapt nm options if we use Apple's utils
28175 * aclocal.m4 (grub_apple_cc): new test
28176 (grub_apple_target_cc): likewise
473d1e45 28177
fb14123e 281782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 Simplify sed expressions and improve awk
28181
28182 * Makefile.in (install-local): simplify sed expression
28183 * gencmdlist.sh: likewise
28184 * genmoddep.awk: avoid adding module as a dependency of itself
28185
5b889789 281862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28187
28188 Add missing start symbols
28189
28190 * boot/i386/pc/boot.S: add start
fb14123e 28191 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28192
fd2bf2e3 281932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28196
28197 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28198 (relocate_addresses): consider both r_addend and value at offset
28199 (make_mods_section): zerofill modinfo and header
28200 (convert_elf): write prefix here
473d1e45 28201
5389763d 282022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28203
28204 Use .asciz instead of .string
28205
28206 * i386/pc/diskboot.S: use .asciz instead of .string
28207 * i386/pc/boot.S: likewise
28208 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28209 (GRUB_MOD_NAME): likewise
473d1e45 28210
3eb5ed4e 282112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28212
28213 gfxpayload support
28214
28215 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28216 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28217 (grub_video_setup): remove
28218 (grub_video_set_mode): new prototype
28219 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28220 (vid_mode): remove
28221 (linux_vesafb_res): compile only on PCBIOS
28222 (grub_linux_boot): support gfxpayload
28223 * loader/i386/pc/xnu.c (video_hook): new function
28224 (grub_xnu_set_video): support gfxpayload
28225 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28226 (DEFAULT_VIDEO_HEIGHT): likewise
28227 (DEFAULT_VIDEO_FLAGS): likewise
28228 (DEFAULT_VIDEO_MODE): new definition
28229 (video_hook): new function
28230 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28231 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28232 loading xnu
28233 * video/video.c (grub_video_setup): removed
473d1e45 28234 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28235 grub_video_setup
28236
4b0e1143 282372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28238
28239 Avoid calling biosdisk in drivemap
28240
28241 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28242 (revparse_biosdisk): likewise
28243 (list_mappings): derive name from id directly
28244 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28245
fda6cb98 282462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28247
28248 Script fixes
28249
28250 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28251 (grub_lexer_param): add tokenonhold
28252 (grub_script_create_cmdline): remove cmdline. All callers updated
28253 (grub_script_function_create): make functionname
28254 grub_script_arg. All callers updated
28255 (grub_script_execute_argument_to_string): new prototype
28256 * kern/parser.c (state_transitions): reorder
28257 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28258 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28259 make global
28260 (grub_script_execute_cmdline): use new format
28261 * script/sh/function.c (grub_script_function_create): make functionname
28262 grub_script_arg. All callers updated
473d1e45 28263 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28264 (grub_script_yylex): remove
28265 (grub_script_yylex2): renamed to ...
28266 (grub_script_yylex): ...renamed
28267 parse the expressions like a${b}c
28268 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28269 (GRUB_PARSER_TOKEN_VAR): remove
28270 (GRUB_PARSER_TOKEN_NAME): likewise
28271 ("if"): declare as typeless
28272 ("while"): likewise
28273 ("function"): likewise
28274 ("else"): likewise
28275 ("then"): likewise
28276 ("fi"): likewise
28277 (text): remove
28278 (argument): likewise
28279 (script): accept empty scripts and make exit on error
28280 (arguments): use GRUB_PARSER_TOKEN_ARG
28281 (function): likewise
28282 (command): move error handling to script
28283 (menuentry): move grub_script_lexer_ref before
473d1e45 28284 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28285 argument. All callers updated
28286
f4448a07 282872009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28288
28289 Prevent GRUB from probing floppies during boot.
28290
28291 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28292 * commands/search.c (options): Add --no-floppy.
28293 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28294 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28295 --no-floppy when searching for UUIDs.
28296
2bf5885a 282972009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28298
28299 Simplify the code duplication in commands/search.c.
28300
28301 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28302 (search_fs): ... this. Update all users.
28303
f6fd460a 283042009-06-03 Felix Zielcke <fzielcke@z-51.de>
28305
28306 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28307
cbb3c83e 283082009-05-28 Pavel Roskin <proski@gnu.org>
28309
57788cfd 28310 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28311 Remove the original symlink explicitly.
28312
cbb3c83e 28313 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28314 just one slash. That's how grub_fshelp_find_file() does it.
28315
cd0d5e30 283162009-05-26 Pavel Roskin <proski@gnu.org>
28317
f0f8bbe2 28318 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28319 to `str'.
28320
cd0d5e30 28321 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28322 possibly unused.
28323
8c2cab51 283242009-05-25 Christian Franke <franke@computer.org>
28325
28326 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28327 register.
28328 (grub_atapi_identify): Add wait after drive select.
28329 (grub_ata_identify): Do more strict status register check before
28330 calling grub_atapi_identify (). Suppress error message if status
28331 register is 0x00 after command failure. Add status register
28332 check after PIO read to avoid bogus identify due to stuck DRQ.
28333 Thanks to Pavel Roskin for testing.
28334 (grub_device_initialize): Remove unsafe status register check.
28335 Thanks to 'phcoder' for problem report and patch.
28336 Prevent sign extension in debug message.
28337
230c0ad6 283382009-05-23 Colin D Bennett <colin@gibibit.com>
28339
28340 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28341 definition file, and functions defined in `normal/menu.c' have had
28342 their prototypes moved to `include/grub/menu.h' for consistency.
28343
28344 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28345 from normal.h.
28346 (grub_menu_get_entry): Likewise.
28347 (grub_menu_get_timeout): Likewise.
28348 (grub_menu_set_timeout): Likewise.
28349 (grub_menu_execute_entry): Likewise.
28350 (grub_menu_execute_with_fallback): Likewise.
28351 (grub_menu_entry_run): Likewise.
28352
28353 * include/grub/normal.h: Re-ordered and grouped function
28354 prototypes by file that the function is defined in.
28355 (grub_menu_execute_callback): Removed; moved to menu.h.
28356 (grub_menu_get_entry): Likewise.
28357 (grub_menu_get_timeout): Likewise.
28358 (grub_menu_set_timeout): Likewise.
28359 (grub_menu_execute_entry): Likewise.
28360 (grub_menu_execute_with_fallback): Likewise.
28361 (grub_menu_entry_run): Likewise.
28362 (grub_menu_addentry): Renamed from this ...
28363 (grub_normal_add_menu_entry): ... to this.
28364
28365 * normal/main.c (grub_menu_addentry): Renamed from this ...
28366 (grub_normal_add_menu_entry): ... to this.
28367
28368 * script/sh/execute.c (grub_script_execute_menuentry): Update
28369 reference to renamed grub_menu_addentry function.
28370
861f03a5 283712009-05-23 Felix Zielcke <fzielcke@z-51.de>
28372
28373 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28374
96b1619a 283752009-05-22 Pavel Roskin <proski@gnu.org>
28376
bf6a5fb2 28377 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28378 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28379 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28380 compiling for the i386 targets, but not for the utilities.
28381
96b1619a 28382 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28383 to grub_uint8_t.
28384 (grub_root_drive): Likewise.
28385 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28386 remove alignment.
28387 (grub_root_drive): Change size to byte.
28388 (grub_start_addr): Remove.
28389 (grub_end_addr): Likewise.
28390 (grub_apm_bios_info): Likewise.
28391
b729776b 283922009-05-21 Felix Zielcke <fzielcke@z-51.de>
28393
28394 * normal/i386: Remove.
28395 * normal/powerpc: Likewise.
28396 * normal/sparc64: Likewise.
28397 * normal/x86_64: Likewise.
28398
0a15ce80 283992009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28400
28401 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28402 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28403 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28404
33db9015 284052009-05-18 Colin D Bennett <colin@gibibit.com>
28406
d6da58e6 28407 Display error messages when parsing a Lua statement fails.
28408 Previously, executing a syntactically invalid statement like
28409 ")foo" or "bar;" would silently fail.
33db9015 28410
28411 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28412 (grub_lua_parse_line): Improved reporting of Lua parser and
28413 execution errors.
33db9015 28414
46422c89 284152009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28416
28417 Remove -Werror which causes build to fail on some systems
28418
28419 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28420 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28421 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28422
22f53a96 284232009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 trampoline for linux on 64-bit platform
28426
18f547ad 28427 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28428 loader/i386/efi/linux_trampoline.S
28429 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28430 declaration
d6da58e6 28431 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28432 here
22f53a96 28433 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28434 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28435 trampoline
22f53a96 28436 (jumpvector): removed
28437 (grub_linux_trampoline_start): new declaration
28438 (grub_linux_trampoline_end): likewise
28439 (grub_linux_boot): use trampoline when on 64-bit platform
28440 * loader/i386/linux.c: likewise
28441
cb5a0f40 284422009-05-16 Pavel Roskin <proski@gnu.org>
28443
28444 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28445 const to avoid a warning.
28446 (grub_lua_setenv): Likewise.
28447 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28448 lmsg to fix a warning.
28449
334f2c28 284502009-05-16 Felix Zielcke <fzielcke@z-51.de>
28451
28452 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28453 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28454 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28455 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28456 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28457 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28458 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28459 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28460
59e5d3ec 284612009-05-16 Felix Zielcke <fzielcke@z-51.de>
28462
28463 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28464
9d87a1ba 284652009-05-16 Bean <bean123ch@gmail.com>
28466
28467 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28468 (lua_mod_SOURCES): New variable.
28469 (lua_mod_CFLAGS): Likewise.
28470 (lua_mod_LDFLAGS): Likewise.
28471
28472 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28473 (setjmp_mod_SOURCES): New variable.
28474 (setjmp_mod_CFLAGS): Likewise.
28475 (setjmp_LDFLAGS): Likewise.
28476
28477 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28478 (setjmp_mod_SOURCES): New variable.
28479 (setjmp_mod_CFLAGS): Likewise.
28480 (setjmp_LDFLAGS): Likewise.
28481
28482 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28483 (setjmp_mod_SOURCES): New variable.
28484 (setjmp_mod_CFLAGS): Likewise.
28485 (setjmp_LDFLAGS): Likewise.
28486
28487 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28488 (setjmp_mod_SOURCES): New variable.
28489 (setjmp_mod_CFLAGS): Likewise.
28490 (setjmp_LDFLAGS): Likewise.
28491
28492 * normal/i386/setjmp.S: Moved from here ...
28493 * lib/i386/setjmp.S: ... Moved here
28494 * normal/x86_64/setjmp.S: Moved from here ...
28495 * lib/x86_64/setjmp.S: ... Moved here
28496 * normal/powerpc/setjmp.S: Moved from here ...
28497 * lib/powerpc/setjmp.S: ... Moved here
28498 * normal/sparc64/setjmp.S: Moved from here ...
28499 * lib/sparc64/setjmp.S: ... Moved here
28500
28501 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28502 returns_twice in mingw.
28503
28504 * script/lua/grub_lib.c: New file.
28505 * script/lua/grub_lib.h: Likewise.
28506 * script/lua/grub_lua.h: Likewise.
28507 * script/lua/grub_main.c: Likewise.
28508 * script/lua/lapi.c: Likewise.
28509 * script/lua/lapi.h: Likewise.
28510 * script/lua/lauxlib.c: Likewise.
28511 * script/lua/lauxlib.h: Likewise.
28512 * script/lua/lbaselib.c: Likewise.
28513 * script/lua/lcode.c: Likewise.
28514 * script/lua/lcode.h: Likewise.
28515 * script/lua/ldblib.c: Likewise.
28516 * script/lua/ldebug.c: Likewise.
28517 * script/lua/ldebug.h: Likewise.
28518 * script/lua/ldo.c: Likewise.
28519 * script/lua/ldo.h: Likewise.
28520 * script/lua/ldump.c: Likewise.
28521 * script/lua/lfunc.c: Likewise.
28522 * script/lua/lfunc.h: Likewise.
28523 * script/lua/lgc.c: Likewise.
28524 * script/lua/lgc.h: Likewise.
28525 * script/lua/linit.c: Likewise.
28526 * script/lua/liolib.c: Likewise.
28527 * script/lua/llex.c: Likewise.
28528 * script/lua/llex.h: Likewise.
28529 * script/lua/llimits.h: Likewise.
28530 * script/lua/lmathlib.c: Likewise.
28531 * script/lua/lmem.c: Likewise.
28532 * script/lua/lmem.h: Likewise.
28533 * script/lua/loadlib.c: Likewise.
28534 * script/lua/lobject.c: Likewise.
28535 * script/lua/lobject.h: Likewise.
28536 * script/lua/lopcodes.c: Likewise.
28537 * script/lua/lopcodes.h: Likewise.
28538 * script/lua/loslib.c: Likewise.
28539 * script/lua/lparser.c: Likewise.
28540 * script/lua/lparser.h: Likewise.
28541 * script/lua/lstate.c: Likewise.
28542 * script/lua/lstate.h: Likewise.
28543 * script/lua/lstring.c: Likewise.
28544 * script/lua/lstring.h: Likewise.
28545 * script/lua/lstrlib.c: Likewise.
28546 * script/lua/ltable.c: Likewise.
28547 * script/lua/ltable.h: Likewise.
28548 * script/lua/ltablib.c: Likewise.
28549 * script/lua/ltm.c: Likewise.
28550 * script/lua/ltm.h: Likewise.
28551 * script/lua/lua.h: Likewise.
28552 * script/lua/luaconf.h: Likewise.
28553 * script/lua/lualib.h: Likewise.
28554 * script/lua/lundump.c: Likewise.
28555 * script/lua/lundump.h: Likewise.
28556 * script/lua/lvm.c: Likewise.
28557 * script/lua/lvm.h: Likewise.
28558 * script/lua/lzio.c: Likewise.
28559 * script/lua/lzio.h: Likewise.
28560
5e898c9d 285612009-05-16 Bean <bean123ch@gmail.com>
28562
28563 * include/grub/kernel.h (grub_module_header_types): Add type
28564 OBJ_TYPE_CONFIG.
28565
28566 * kern/main.c (grub_load_config): New function.
28567 (grub_main): Call grub_load_config to read boot config.
28568
28569 * grub-mkimage (generate_image): New parameter config_path.
28570 (options): New option --config.
28571 (main): Parse --config option, and pass it to generate_image.
28572
cf353a47 285732009-05-14 Christian Franke <franke@computer.org>
28574
28575 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28576 This fixes build on Cygwin.
28577
3834887f 285782009-05-14 Pavel Roskin <proski@gnu.org>
28579
28580 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28581 jump. This saves two bytes, so the typical case of 2 swapped
28582 drives would fit 32 bytes.
28583
8090fc01 285842009-05-13 Pavel Roskin <proski@gnu.org>
28585
ac963883 28586 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28587 grub_uint32_t to avoid a warning.
28588
8090fc01 28589 * loader/i386/linux.c (allocate_pages): When assigning
28590 real_mode_mem, cast through grub_size_t to fix a warning. The
28591 code already makes sure that the value would fit a pointer.
28592 (grub_linux_setup_video): Cast render_target->data to
28593 grub_size_t to fix a warning.
28594
18f547ad 285952009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28596
28597 * commands/i386/pc/drivemap.c: New file - implement drivemap
28598 command.
28599 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28600 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28601
6f6a8b28 286022009-05-13 Pavel Roskin <proski@gnu.org>
28603
28604 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28605 embedding_area_exists.
28606
15fbf4c4 286072009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28608
28609 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28610 it easier to understand / work with.
59978c8a 28611 Improve warning messages for cases where there's no embedding area,
28612 or when it is too small (or core.img too large).
15fbf4c4 28613
238e871f 286142009-05-13 Pavel Roskin <proski@gnu.org>
28615
0ab3a9a4 28616 * loader/i386/pc/multiboot2.c: Add necessary includes for
28617 grub_multiboot2_real_boot().
28618
a2c8c5f8 28619 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28620 PX record is always little-endian. We only need the lower 2
28621 bytes of the mode.
28622
faec96af 28623 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28624 facilitate code reuse.
28625 (grub_cpio_mount): Use "struct head", not a char buffer. This
28626 fixes a warning reported by gcc 4.4.
28627
238e871f 28628 * kernel/disk.c (grub_disk_read): Use void pointer for the
28629 buffer.
28630 (grub_disk_write): Use const void pointer for the buffer.
28631 Adjust all callers. Remove unnecessary casts.
28632
901d2f0c 286332009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28634
28635 * util/i386/pc/grub-install.in: Update copyright year.
28636
18f547ad 286372009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28638
28639 gptsync
28640
28641 * commands/gptsync.c: new file
28642 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28643 (gptsync_mod_SOURCES): new variable
28644 (gptsync_mod_CFLAGS): likewise
28645 (gptsync_mod_LDFLAGS): likewise
18f547ad 28646 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28647 new definition
28648 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28650 * conf/i386-ieee1275.rmk: likewise
28651 * conf/i386-pc.rmk: likewise
28652 * conf/powerpc-ieee1275.rmk: likewise
28653
b4ba690a 286542009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28655
28656 Fixed grub-emu
28657
28658 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28659 (grub_dl_ref): likewise
28660
317e1a44 286612009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28662
28663 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28664 split in two functions (one for msdos and one for gpt).
28665
041b8094 286662009-05-08 Pavel Roskin <proski@gnu.org>
28667
752473c2 28668 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28669 not modified.
28670
041b8094 28671 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28672 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28673 Initialize them with -1. Add sanity check for bad1. Eliminate
28674 nerr variable.
28675
172800ce 286762009-05-08 David S. Miller <davem@davemloft.net>
28677
28678 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28679
29aa5e81 286802009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28681
28682 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28683 existence.
29aa5e81 28684
96613b62 286852009-05-05 Felix Zielcke <fzielcke@z-51.de>
28686
28687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28688 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28689
eef73c8a 286902009-05-05 David S. Miller <davem@davemloft.net>
28691
28692 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28693
119494b5 286942009-05-05 Pavel Roskin <proski@gnu.org>
28695
28696 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28697 of grub_dl_ref() and grub_dl_unref().
28698 * commands/parttool.c: Remove preprocessor conditionals around
28699 grub_dl_ref() and grub_dl_unref().
28700 * fs/affs.c: Likewise.
28701 * fs/afs.c: Likewise.
28702 * fs/cpio.c: Likewise.
28703 * fs/ext2.c: Likewise.
28704 * fs/fat.c: Likewise.
28705 * fs/hfs.c: Likewise.
28706 * fs/hfsplus.c: Likewise.
28707 * fs/iso9660.c: Likewise.
28708 * fs/jfs.c: Likewise.
28709 * fs/minix.c: Likewise.
28710 * fs/ntfs.c: Likewise.
28711 * fs/reiserfs.c: Likewise.
28712 * fs/sfs.c: Likewise.
28713 * fs/udf.c: Likewise.
28714 * fs/ufs.c: Likewise.
28715 * fs/xfs.c: Likewise.
28716 * include/grub/dl.h: Likewise.
28717 * loader/xnu.c: Likewise.
28718
de5fd76e 287192009-05-04 Pavel Roskin <proski@gnu.org>
28720
28721 * commands/acpi.c: Remove unused variable my_mod.
28722 * partmap/amiga.c: Likewise.
28723 * partmap/apple.c: Likewise.
28724 * partmap/gpt.c: Likewise.
28725 * partmap/pc.c: Likewise.
28726 * partmap/sun.c: Likewise.
28727 * term/gfxterm.c: Likewise.
28728 * term/i386/pc/vesafb.c: Likewise.
28729 * term/i386/pc/vga.c: Likewise.
28730
983598ad 287312009-05-04 David S. Miller <davem@davemloft.net>
28732
28733 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28734 pointer args to grub_ieee1275_get_property().
28735
8aadec43 28736 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28737
9554b15e 28738 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28739 devices, and do not traverse down under controller nodes.
28740
67e23c90 28741 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28742 (grub_ofdisk_open): Use it to un-escape "," characters.
28743 * kern/disk.c (find_part_sep): New.
28744 (grub_disk_open): Use it to find the first non-escaped ','
28745 character in the disk name.
28746 * util/ieee1275/devicemap.c (escape_of_path): New.
28747 (grub_util_emit_devicemap_entry): Use it.
28748 * util/sparc64/ieee1275/grub-install.in: Update script to
28749 strip partition specifiers properly by not triggering on
28750 '\' escaped ',' characters.
28751
74bfdd2f 287522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28755 to 0x300.
28756 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28757 resolutions.
28758 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28759 on documentation from Wikipedia).
28760
4241d2b1 287612009-05-04 Pavel Roskin <proski@gnu.org>
28762
28763 * disk/ata.c: Spelling fixes.
28764 * disk/raid.c: Likewise.
28765 * disk/usbms.c: Likewise.
28766 * disk/dmraid_nvidia.c: Likewise.
28767 * kern/ieee1275/openfw.c: Likewise.
28768 * kern/ieee1275/init.c: Likewise.
28769 * kern/ieee1275/cmain.c: Likewise.
28770 * boot/i386/pc/cdboot.S: Likewise.
28771 * video/readers/png.c: Likewise.
28772 * video/i386/pc/vbe.c: Likewise.
28773 * fs/udf.c: Likewise.
28774 * fs/hfs.c: Likewise.
28775 * fs/reiserfs.c: Likewise.
28776 * efiemu/runtime/efiemu.c: Likewise.
28777 * efiemu/main.c: Likewise.
28778 * efiemu/mm.c: Likewise.
28779 * include/grub/elf.h: Likewise.
28780 * include/grub/xnu.h: Likewise.
28781 * include/grub/usbdesc.h: Likewise.
28782 * include/grub/usb.h: Likewise.
28783 * include/grub/script_sh.h: Likewise.
28784 * include/grub/lib/LzmaEnc.h: Likewise.
28785 * include/grub/efiemu/efiemu.h: Likewise.
28786 * include/grub/command.h: Likewise.
28787 * normal/menu.c: Likewise.
28788 * normal/main.c: Likewise.
28789 * normal/datetime.c: Likewise.
28790 * bus/usb/uhci.c: Likewise.
28791 * mmap/i386/uppermem.c: Likewise.
28792 * mmap/mmap.c: Likewise.
28793 * commands/acpi.c: Likewise.
28794 * commands/test.c: Likewise.
28795 * partmap/apple.c: Likewise.
28796 * font/font.c: Likewise.
28797 * loader/sparc64/ieee1275/linux.c: Likewise.
28798 * loader/macho.c: Likewise.
28799 * loader/i386/bsd_trampoline.S: Likewise.
28800 * loader/i386/bsd.c: Likewise.
28801 * loader/xnu.c: Likewise.
28802 * term/i386/pc/vesafb.c: Likewise.
28803 * term/usb_keyboard.c: Likewise.
28804 * util/resolve.c: Likewise.
28805 * util/getroot.c: Likewise.
28806
0cfc0083 288072009-05-04 Felix Zielcke <fzielcke@z-51.de>
28808
28809 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28810
7c1d00cd 288112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28812
28813 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28814 build error.
28815
b01f0548 288162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28817
28818 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28819 parameter only available on BIOS.
28820
ecc3eb22 288212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 Removed wrong semicolon in declaration
28824
28825 * grub/misc.h (grub_dprintf): remove semicolon
28826
112972a9 288272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28828
28829 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28830 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28831 is done by grub_cmd_linux() now).
28832 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28833 restore video to text mode.
28834 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28835 indicates lack of "vga=" parameter. "vga=0" is mapped to
28836 `GRUB_LINUX_VID_MODE_NORMAL'.
28837
afd5c115 288382009-05-04 Felix Zielcke <fzielcke@z-51.de>
28839
28840 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28841 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28842 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28843 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28844 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28845 `grub_script.tab.c'.
28846
28847 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28852
faa517ce 28853 * Makefile.in: Remove duplicated 2008 in Copyright line.
28854
ae0c0bdc 288552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28856
473d1e45 28857 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28858 unconditionally.
28859 * include/grub/util/misc.h (grub_util_warn): New declaration.
28860
28861 * util/i386/pc/grub-install.in: Understand --force and pass it down
28862 to grub-setup.
28863
28864 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28865 down to setup().
28866 (setup): Improve error messages and add warnings when requested to
28867 install in odd layouts. Refuse to install using blocklists unless
28868 --force was set.
28869
18f547ad 288702009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28871
28872 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28873
6d260daa 288742009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28875
28876 Updated copyright year
28877
28878 * fs/hfsplus.c: updated copyright year
18f547ad 28879
69f853f8 288802009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 HFS+ UUID
28883
18f547ad 28884 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28885 in the space previously used by unused3
28886 (grub_hfsplus_uuid): new function
28887 (grub_hfsplus_fs): added uuid field
28888
4c402e73 288892009-05-03 Pavel Roskin <proski@gnu.org>
28890
28891 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28892 suppress warnings. It's no longer needed.
28893 * disk/host.c: Likewise.
28894 * disk/ata_pthru.c: Likewise.
28895 * disk/loopback.c: Likewise.
28896 * hook/datehook.c: Likewise.
28897 * parttool/pcpart.c: Likewise.
28898 * fs/i386/pc/pxe.c: Likewise.
28899 * fs/ntfscomp.c: Likewise.
28900 * efiemu/main.c: Likewise.
28901 * mmap/mmap.c: Likewise.
28902 * commands/crc.c: Likewise.
28903 * commands/hexdump.c: Likewise.
28904 * commands/hdparm.c: Likewise.
28905 * commands/acpi.c: Likewise.
28906 * commands/echo.c: Likewise.
28907 * commands/minicmd.c: Likewise.
28908 * commands/blocklist.c: Likewise.
28909 * commands/memrw.c: Likewise.
28910 * commands/loadenv.c: Likewise.
28911 * commands/usbtest.c: Likewise.
28912 * commands/lsmmap.c: Likewise.
28913 * commands/boot.c: Likewise.
28914 * commands/parttool.c: Likewise.
28915 * commands/configfile.c: Likewise.
28916 * commands/search.c: Likewise.
28917 * commands/ieee1275/suspend.c: Likewise.
28918 * commands/cat.c: Likewise.
28919 * commands/i386/pc/pxecmd.c: Likewise.
28920 * commands/i386/pc/play.c: Likewise.
28921 * commands/i386/pc/halt.c: Likewise.
28922 * commands/i386/pc/vbeinfo.c: Likewise.
28923 * commands/i386/pc/vbetest.c: Likewise.
28924 * commands/lspci.c: Likewise.
28925 * commands/date.c: Likewise.
28926 * commands/handler.c: Likewise.
28927 * commands/ls.c: Likewise.
28928 * commands/test.c: Likewise.
28929 * commands/cmp.c: Likewise.
28930 * commands/efi/loadbios.c: Likewise.
28931 * commands/efi/fixvideo.c: Likewise.
28932 * commands/halt.c: Likewise.
28933 * commands/help.c: Likewise.
28934 * commands/reboot.c: Likewise.
28935 * hello/hello.c: Likewise.
28936 * script/sh/main.c: Likewise.
28937 * loader/xnu.c: Likewise.
28938 * term/terminfo.c: Likewise.
28939 * term/i386/pc/serial.c: Likewise.
28940 * term/usb_keyboard.c: Likewise.
28941
515b5079 289422009-05-03 David S. Miller <davem@davemloft.net>
28943
28944 * normal/menu.c: Include grub/parser.h
28945
dfc31a22 289462009-05-03 Pavel Roskin <proski@gnu.org>
28947
2fee74f1 28948 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28949 not char*.
28950 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28951 Suggested by Javier Martín <lordhabbit@gmail.com>
28952
dfc31a22 28953 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28954 efiemu??.o doesn't exist.
28955 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28956 copying.
28957
18f547ad 289582009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28959
28960 FreeBSD 64-bit support
28961
18f547ad 28962 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28963 and loader/i386/bsd_trampoline.S
28964 (bsd_mod_ASFLAGS): new variable
28965 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28966 (FREEBSD_MODTYPE_KERNEL64): likewise
28967 (grub_bsd64_trampoline_start): likewise
28968 (grub_bsd64_trampoline_end): likewise
28969 (grub_bsd64_trampoline_selfjump): likewise
28970 (grub_bsd64_trampoline_gdt): likewise
28971 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28972 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28973 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28974 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28975 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28976 of "attrib" member
28977 * loader/i386/bsd_pagetable.c: new file
28978 * loader/i386/bsd_trampoline.S: likewise
28979 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28980 (ALIGN_VAR): likewise
28981 (entry_hi): new variable
28982 (kern_end_mdofs): likewise
28983 (is_64bit): likewise
28984 (grub_freebsd_add_meta): use ALIGN_VAR
28985 (grub_e820_mmap): new declaration
28986 (grub_freebsd_add_mmap): new function
28987 (grub_freebsd_add_meta_module): support 64 bit kernels
28988 (grub_freebsd_list_modules): use ALIGN_VAR
28989 (gdt_descriptor): new declaration
28990 (grub_freebsd_boot): support 64 bit kernels
28991 (grub_bsd_elf64_hook): new function
28992 (grub_bsd_load_elf): support elf64
28993
038c5720 289942009-05-03 Bean <bean123ch@gmail.com>
28995
28996 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28997 after we get the result of if statement.
28998
fc45fb58 289992009-05-03 Bean <bean123ch@gmail.com>
29000
29001 * Makefile.in (enable_efiemu): New variable.
29002
29003 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29004 set.
29005 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29006 path.
29007 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29008 path, add -mno-red-zone option.
29009 (efiemu64_s.o): Likewise.
29010 (efiemu64.o): Use macro $^ for source file.
29011
29012 * configure.ac (--enable-efiemu): New option.
29013
bbee0f2b 290142009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29015
29016 xnu support
29017
29018 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29019 (pkglib_MODULES): add xnu.mod
29020 (xnu_mod_SOURCES): new variable
29021 (xnu_mod_CFLAGS): likewise
29022 (xnu_mod_LDFLAGS): likewise
29023 (xnu_mod_ASFLAGS): likewise
29024 * conf/i386-pc.rmk: likewise
29025 * conf/x86_64-efi.rmk: likewise
7dd4a573 29026 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29027 new declaration
29028 * include/grub/i386/macho.h: new file
29029 * include/grub/i386/xnu.h: likewise
29030 * include/grub/macho.h: likewise
29031 * include/grub/machoload.h: likewise
29032 * include/grub/x86_64/macho.h: likewise
29033 * include/grub/x86_64/xnu.h: likewise
29034 * include/grub/xnu.h: likewise
29035 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29036 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29037 * loader/i386/efi/xnu.c: new file
29038 * loader/i386/pc/xnu.c: likewise
29039 * loader/i386/xnu.c: likewise
29040 * loader/i386/xnu_helper.S: likewise
29041 * loader/macho.c: likewise
29042 * loader/xnu.c: likewise
29043 * loader/xnu_resume.c: likewise
29044 * util/grub-dumpdevtree: likewise
29045 * include/grub/i386/pit.h: include grub/err.h
29046 (grub_pit_wait): export
29047 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29048
5caf964d 290492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29050
29051 Efiemu
7dd4a573 29052
5caf964d 29053 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29054 _linux_efi, linux_efi.
29055 new files in grub-emu
5caf964d 29056 new targets efiemu32.o and efiemu64.o
29057 * loader/linux_normal_efiemu.c: likewise
29058 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29059 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29060 files to copy
29061 * include/grub/autoefi.h: new file
7dd4a573 29062 * include/grub/i386/efiemu.h: likewise
5caf964d 29063 * include/grub/i386/pc/efiemu.h: likewise
29064 * include/grub/efi/api.h: add LL suffix when necessary
29065 new definitions relating to tables
29066 * include/grub/efiemu/efiemu.h: new file
29067 * include/grub/efiemu/runtime.h: likewise
29068 * efiemu/prepare.c: likewise
29069 * efiemu/loadcore_common.c: likewise
29070 * efiemu/loadcore64.c: likewise
29071 * efiemu/runtime/efiemu.sh: likewise
29072 * efiemu/runtime/efiemu.S: likewise
29073 * efiemu/runtime/efiemu.c: likewise
29074 * efiemu/runtime/config.h: likewise
29075 * efiemu/prepare32.c: likewise
29076 * efiemu/main.c: likewise
29077 * efiemu/modules/pnvram.c: likewise
29078 * efiemu/modules/i386: likewise
29079 * efiemu/modules/i386/pc: likewise
29080 * efiemu/modules/acpi.c: likewise
29081 * efiemu/i386/pc/cfgtables.c: likewise
29082 * efiemu/i386/loadcore64.c: likewise
29083 * efiemu/i386/loadcore32.c: likewise
29084 * efiemu/prepare64.c: likewise
29085 * efiemu/loadcore.c: likewise
29086 * efiemu/symbols.c: likewise
29087 * efiemu/mm.c: likewise
29088 * efiemu/loadcore32.c: likewise
7dd4a573 29089
290902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29091
29092 ACPI spoofing
29093
29094 * commands/acpi.c: new file
29095 * commands/i386/pc/acpi.c: likewise
29096 * commands/efi/acpi.c: likewise
29097 * include/grub/acpi.h: likewise
29098 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29099 (acpi_mod_SOURCES): new variable
29100 (acpi_mod_CFLAGS): likewise
29101 (acpi_mod_LDFLAGS): likewise
29102 * conf/i386-efi.rmk: likewise
29103 * conf/x86_64-efi.rmk: likewise
29104
7dd4a573 291052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29106
29107 Missing part from mmap patch
29108
29109 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29110 (grub_mmap_unregister)
29111 (grub_mmap_free_and_unregister): use grub_mmap_register
29112
7dd4a573 291132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29114
29115 Mmap services
29116
29117 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29118 * loader/i386/linux.c (find_mmap_size): likewise
29119 (allocate_pages): likewise
29120 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29121 (grub_fill_multiboot_mmap): likewise
29122 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29123 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29124 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29125 (OPENBSD_MMAP_RESERVED): likewise
29126 * include/grub/i386/pc/memory.h: include grub/memory.h
29127 (grub_lower_mem): removed
29128 (grub_upper_mem): likewise
29129 (GRUB_MACHINE_MEMORY_ACPI): new definition
29130 (GRUB_MACHINE_MEMORY_NVS): likewise
29131 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29132 (GRUB_MACHINE_MEMORY_HOLE): likewise
29133 (grub_machine_mmap_register): likewise
29134 (grub_machine_mmap_unregister): likewise
29135 (grub_machine_get_upper): likewise
29136 (grub_machine_get_lower): likewise
29137 (grub_machine_get_post64): likewise
29138 * include/grub/i386/efi/memory.h: new file
29139 * include/grub/x86_64/efi/memory.h: likewise
29140 * include/grub/efi/memory.h: likewise
29141 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29142 (mmap_mod_SOURCES): new variable
29143 (mmap_mod_LDFLAGS): likewise
29144 (mmap_mod_ASFLAGS): likewise
29145 * conf/i386-coreboot.rmk: likewise
29146 * conf/i386-ieee1275.rmk: likewise
29147 * conf/i386-efi.rmk: likewise
29148 * conf/x86_64-efi.rmk: likewise
29149 * include/grub/types.h (UINT_TO_PTR): new macro
29150 (PTR_TO_UINT32): likewise
29151 (PTR_TO_UINT64): likewise
29152 * include/grub/memory.h: new file
29153 * mmap/i386/pc/mmap.c: likewise
29154 * mmap/i386/pc/mmap_helper.S: likewise
29155 * mmap/i386/uppermem.c: likewise
29156 * mmap/mmap.c: likewise
29157 * mmap/efi/mmap.c: likewise
7dd4a573 29158 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29159 grub_upper_mem
29160 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29161 (grub_upper_mem): likewise
29162 (grub_machine_init): don't use grub_upper_mem,
29163 make grub_lower_mem local
29164 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29165 grub_mmap_iterate and grub_mmap_get_upper
29166 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29167
d558e6b5 291682009-05-02 Bean <bean123ch@gmail.com>
29169
29170 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29171 script/sh/parser.y.
29172 (pkglib_MODULES): Add normal.mod and sh.mod.
29173 (normal_SOURCES): New variable.
29174 (normal_mod_CFLAGS): Likewise.
29175 (normal_mod_LDFLAGS): Likewise.
29176 (sh_mod_SOURCES): Likewise.
29177 (sh_mod_CFLAGS): Likewise.
29178 (sh_mod_LDFLAGS): Likewise.
29179
29180 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29181 script/sh/lexer.c_DEPENDENCIES.
29182 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29183 kern/rescue_reader.c and kern/rescue_parser.c.
29184 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29185 (grub_emu_SOURCES): Change source files.
29186 (pkglib_MODULES): Remove normal.mod.
29187 (normal_SOURCES): Removed.
29188 (normal_mod_CFLAGS): Likewise.
29189 (normal_mod_LDFLAGS): Likewise.
29190 * conf/i386-coreboot.rmk: Likewise.
29191 * conf/i386-efi.rmk: Likewise.
29192 * conf/i386-ieee1276.rmk: Likewise.
29193 * conf/powerpc-ieee1275.rmk: Likewise.
29194 * conf/sparc64-ieee1275.rmk: Likewise.
29195 * conf/x86_64-efi.rmk: Likewise.
29196
29197 * include/grub/command.h (grub_command_execute): New inline function.
29198
29199 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29200
29201 * include/grub/normal.h: Remove <grub/setjmp.h>.
29202 (grub_fs_module_list): Moved to normal/autofs.c.
29203 (grub_exit_env): Removed.
29204 (grub_command_execute): Likewise.
29205 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29206 parameter script.
29207 (read_command_list): New function declaration.
29208 (read_fs_list): Likewise.
29209
29210 * include/parser.h: Include <grub/reader.h>.
29211 (grub_parser_split_cmdline): Change type of getline parameter.
29212 (grub_parser): New structure.
29213 (grub_parser_class): New variable.
29214 (grub_parser_execute): New function declaration.
29215 (grub_register_rescue_parser): Likewise.
29216 (grub_parser_register): New inline function.
29217 (grub_parser_unregister): Likewise.
29218 (grub_parser_get_current): Likewise.
29219 (grub_parser_set_current): Likewise.
29220
29221 * include/grub/reader.h: New file.
29222 * kern/reader.c: Likewise.
29223 * kern/rescue_parser.c: Likewise.
29224 * kern/rescue_reader.c: Likewise.
29225 * normal/autofs.c: Likewise.
29226 * normal/dyncmd.c: Likewise.
29227
29228 * include/grub/rescue.h: Removed.
29229 * normal/command.h: Likewise.
29230
29231 * include/grub/script.h: Moved to ...
29232 * include/grub/script_sh.h: ... Moved here.
29233 * normal/execute.c: Moved to ...
29234 * script/sh/execute.c: ... Moved here.
29235 * normal/function.c: Moved to ...
29236 * script/sh/function.c: ... Moved here.
29237 * normal/lexer.c: Moved to ...
29238 * script/sh/lexer.c: ... Moved here.
29239 * normal/parser.y: Moved to ...
29240 * script/sh/parser.y: ... Moved here.
29241 * normal/script.c: Moved to ...
29242 * script/sh/script.c: ... Moved here.
29243
29244 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29245 <grub/reader.h>.
29246 (grub_exit_env): Removed.
29247 (fs_module_list): Moved to normal/autofs.c.
29248 (grub_file_getline): Don't handle comment here.
29249 (free_menu): Skip removed field entry->commands.
29250 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29251 script parameter.
29252 (read_config_file): Removed nested parameter, change getline function.
29253 (grub_enter_normal_mode): Removed.
29254 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29255 (read_command_list): Likewise.
29256 (autoload_fs_module): Moved to normal/autofs.c.
29257 (read_fs_list): Likewise.
29258 (reader_nested): New variable.
29259 (grub_normal_execute): Run parser.sh to switch to sh parser.
29260 (grub_cmd_rescue): Removed.
29261 (cmd_normal): Removed.
29262 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29263 rescue command.
29264 (grub_cmdline_run): New function.
29265 (grub_normal_reader_init): Likewise.
29266 (grub_normal_read_line): Likewise.
29267 (grub_env_write_pager): Likewise.
29268 (cmdline): New variable.
29269 (grub_normal_reader): Likewise.
29270 (GRUB_MOD_INIT): Register normal reader and set as current, register
29271 pager hook, register normal command with grub_register_command_prio,
29272 so that it won't show up in command.lst.
29273 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29274 grub_fs_autoload_hook.
29275
29276 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29277 (grub_menu_execute_entry): Replace grub_script_execute with
29278 grub_parser_execute, change parameter to grub_command_execute.
29279
29280 * normal/menu_text.c: Remove <grub/script.h>.
29281
29282 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29283 and <grub/parser.h>.
29284 (run): Change editor_getline to use new parser interface. Change
29285 parameter to grub_command_execute.
29286
29287 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29288 <grub/reader.h> and <grub/parser.h>.
29289 (grub_load_normal_mode): Execute normal command.
29290 (grub_main): Call grub_register_core_commands,
29291 grub_register_rescue_parser and grub_register_rescue_reader, use
29292 grub_reader_loop to enter input loop.
29293
7dd4a573 29294 * kern/parser.c (grub_parser_split_cmdline): Change type of
29295 getline parameter.
d558e6b5 29296 (grub_parser_class): New variable.
29297 (grub_parser_execute): New function.
29298
29299 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29300 * loader/multiboot2.c: Likewise.
29301 * loader/sparc64/ieee1275/linux.c: Likewise.
29302
29303 * util/grub-emu.c (read_command_list): New dummy function.
29304
18db813d 293052009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29306
29307 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29308 count to 16 for CCISS and IDA.
29309
6c67de15 293102009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29311
29312 * normal/menu_text.c (grub_wait_after_message): Print a newline
29313 after waiting for user input.
29314
29315 * loader/i386/linux.c: Include `<grub/normal.h>'.
29316 (grub_cmd_linux): Improve the error message about `ask' mode, by
29317 waiting for user input so it's not missed (we can do this, since
29318 user requested interaction).
29319
d9dc87b0 293202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29321
29322 Added missing lst to grub-mkrescue
29323
29324 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29325 and ${input_dir}/parttool.lst
29326
ac8a2baa 293272009-04-30 David S. Miller <davem@davemloft.net>
29328
ad22a610 29329 * util/hostdisk.c (device_is_wholedisk): New function.
29330 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29331 zero only if device_is_wholedisk() returns true.
29332
6966215d 29333 * util/hostdisk.c (convert_system_partition_to_system_disk):
29334 Handle virtual disk devices named /dev/vdiskX as found on sparc
29335 and powerpc.
29336
ac8a2baa 29337 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29338 lettered partition specifier is found, convert to numbered.
29339
979b4fb4 293402009-04-29 David S. Miller <davem@davemloft.net>
29341
e2bf39b2 29342 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29343 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29344
3c64e104 29345 * normal/command.c: Add missing newline at end of file.
29346
979b4fb4 29347 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29348 warnings.
29349 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29350 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29351 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29352 ihandles have a 32-bit type but need to be stored in a "void *".
29353
136d9f82 293542009-04-28 Pavel Roskin <proski@gnu.org>
29355
9459c306 29356 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29357 not disk. Adjust all dependencies.
2e08a26a 29358 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29359 grub_disk_close().
29360
136d9f82 29361 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29362 parent's partition, don't copy it by reference, as it gets freed
29363 on close.
29364
7dd4a573 293652009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29366
29367 Preboot hooks support
29368
29369 * commands/boot.c (struct grub_preboot_t): new declaration
29370 (preboots_head): new variable
29371 (preboots_tail): likewise
29372 (grub_loader_register_preboot_hook): new function
29373 (grub_loader_unregister_preboot_hook): likewise
29374 (grub_loader_set): launch preboot hooks
29375 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29376 (grub_loader_register_preboot_hook): new declaration
29377 (grub_loader_unregister_preboot_hook): likewise
29378
5af922b5 293792009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29380
29381 Warning fix
29382
7dd4a573 29383 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29384 calling grub_dprintf
29385
a5562c30 293862009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 Bug and warning fixes
29389
7dd4a573 29390 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29391 declaration
29392 * commands/test.c (test_parse): fixed bug with file tests and corrected
29393 declaration of find_file
29394
4006f85c 293952009-04-26 Pavel Roskin <proski@gnu.org>
29396
29397 * Makefile.in: Don't install empty manual pages if help2man is
29398 missing. Use help2man option for output, not shell redirection.
29399
5c77c3de 294002009-04-26 David S. Miller <davem@davemloft.net>
29401
29402 * util/grub-mkdevicemap.c (make_device_map): Add missing
29403 NESTED_FUNC_ATTR to process_device().
29404
033b10a8 294052009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 Test command
29408
29409 * commands/test.c: rewritten to use bash-like test
29410
e4343593 294112009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29412
29413 Parttool autoloading and improvements
29414
7dd4a573 29415 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29416 (parttool.lst): new target
29417 * genmk.rb: generate parttool-*
29418 (CLEANFILES): add #{parttool}
29419 (PARTTOOLFILES): new variable
29420 * genparttoollist.sh: new file
7dd4a573 29421 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29422 (grub_pcpart_type): likewise
29423 * commands/parttool.c (helpmsg): new variable
29424 (grub_cmd_parttool): output help if not enough arguments are supplied
29425 autoload modules
29426 (GRUB_MOD_INIT(parttool)): use helpmsg
29427
0d312500 294282009-04-24 David S. Miller <davem@davemloft.net>
29429
7dd4a573 29430 Avoiding opening same device multiple times in device iterator.
0d312500 29431
29432 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29433 and use it to build a list of partitions in iterate_disk() and
0d312500 29434 iterate_partition().
29435
ac20caff 29436 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29437 on disk->data.
29438
0dcf7495 29439 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29440 grub_devalias_iterate() result instead of unconditional 0.
29441 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29442 Also, capture hook return value, either directly or via
29443 grub_children_iterate(), and propagate to caller.
29444 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29445 grub_children_iterate): Return value is now 'int' instead of
29446 'grub_err_t'.
29447 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29448 like a proper iterator, stopping when hooks return non-zero.
29449 (grub_devalias_iterate): Likewise.
29450
c8c08833 294512009-04-23 David S. Miller <davem@davemloft.net>
29452
29453 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29454
f01005a8 294552009-04-22 David S. Miller <davem@davemloft.net>
29456
29457 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29458 is larger than address_cells, use that value for address_cells too.
29459
4e8269da 29460 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29461 IEEE1275_MAX_PATH_LEN): Define.
29462 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29463 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29464 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29465 'devtype'. Explicitly NULL terminate devalias expansion.
29466
a1447506 29467 * util/sparc64/ieee1275/misc.c: New file.
29468 * util/sparc64/ieee1275/grub-setup.c: New file.
29469 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29470 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29471 * util/sparc64/ieee1275/grub-install.in: New file.
29472 * util/ieee1275/ofpath.c: New file.
29473 * util/ieee1275/devicemap.c: New file.
29474 * util/devicemap.c: New file.
29475 * util/deviceiter.c: New file.
29476 * kern/sparc64/ieee1275/init.c: New file.
29477 * include/grub/util/ofpath.h: New file.
29478 * include/grub/util/deviceiter.h: New file.
29479 * util/grub-mkdevicemap.c: Include deviceiter.h.
29480 Implement using grub_util_emit_devicemap_entry and
29481 grub_util_iterate_devices.
29482 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29483 util/devicemap.c into grub-mkdevicemap
29484 * conf/i386-efi.rmk: Likewise.
29485 * conf/i386-ieee1275.rmk: Likewise.
29486 * conf/i386-pc.rmk: Likewise.
29487 * conf/powerpc-ieee1275.rmk: Likewise.
29488 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29489 images and installation utilities. Build kernel as image
29490 instead of as elf binary. Use common rules as much as possible.
29491
7dd4a573 294922009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29493
29494 Correct GPT definition
29495
7dd4a573 29496 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29497 of "attrib" member
29498
c6c5219f 294992009-04-19 Felix Zielcke <fzielcke@z-51.de>
29500
29501 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29502
0552ff9f 295032009-04-19 David S. Miller <davem@davemloft.net>
29504
29505 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29506 (grub_rescue_cmd_linux): Rename to...
29507 (grub_cmd_linux): and fix prototype.
29508 (grub_rescue_cmd_initrd): Rename to...
29509 (grub_cmd_initrd): and fix prototype.
29510 (cmd_linux, cmd_initrd): New.
29511 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29512 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29513
d1a282fc 295142009-04-17 Pavel Roskin <proski@gnu.org>
29515
07c5039f 29516 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29517 format.
29518 (grub_ohci_transfer): Likewise.
29519
b012002d 29520 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29521
1bc09c35 29522 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29523 return without a value. Fix inconsistent indentation.
29524
e0ff9126 29525 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29526 match struct grub_fs.
29527
d1a282fc 29528 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29529 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29530 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29531 * commands/lspci.c (grub_lspci_iter): Likewise.
29532
a96df3f2 295332009-04-16 Bean <bean123ch@gmail.com>
29534
29535 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29536 value.
29537
41bb0fe9 295382009-04-15 Pavel Roskin <proski@gnu.org>
29539
29540 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29541 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29542 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29543 definitions.
29544
596c6970 295452009-04-15 Felix Zielcke <fzielcke@z-51.de>
29546
29547 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29548 that no multiple data or metadata areas are supported and `Unknown
596c6970 29549 metadata header'.
29550
7dd4a573 295512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29552
29553 Move loader out of the kernel
29554
29555 * kern/loader.c: moved to ...
29556 * commands/boot.c: ... moved here
29557 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29558 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29559 * include/grub/kernel.h (grub_machine_fini): export
29560 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29561 (grub_loader_set): likewise
29562 (grub_loader_unset): likewise
29563 (grub_loader_boot): likewise
29564 * conf/common.rmk: new module boot.mod
29565 (pkglib_MODULES): add boot.mod
29566 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29567 (grub_emu_SOURCES): likewise
29568 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29569 (grub_emu_SOURCES): likewise
29570 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29571 (grub_emu_SOURCES): likewise
29572 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29573 (grub_emu_SOURCES): likewise
29574 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29575 (grub_emu_SOURCES): likewise
7dd4a573 29576 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29577 (grub_emu_SOURCES): likewise
0d5d5653 29578 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29579 (grub_emu_SOURCES): likewise
0d5d5653 29580
7dd4a573 295812009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29582
29583 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29584
5999d619 29585 * kern/misc.c (grub_itoa): Removed function
29586 (grub_ltoa): likewise
29587 (grub_vsprintf): use grub_lltoa
29588
7dd4a573 295892009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29590
29591 Restore grub-emu
29592
29593 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29594 * conf/i386-coreboot.rmk: likewise
29595 * conf/i386-ieee1275.rmk: likewise
29596 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29597
20318222 295982009-04-15 Felix Zielcke <fzielcke@z-51.de>
29599
29600 * INSTALL: Add that `./autogen.sh' needs to be run before
29601 `./configure.'.
29602
d05f0df3 296032009-04-14 Bean <bean123ch@gmail.com>
29604
29605 * Makefile.in (pkglib_DATA): Add handler.lst.
29606 (handler.lst): New rule.
29607
29608 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29609 * conf/i386-coreboot.rmk: Likewise.
29610 * conf/i386-ieee1275.rmk: Likewise.
29611 * conf/i386-efi.rmk: Likewise.
29612 * conf/x86_64-efi.rmk: Likewise.
29613 * conf/powerpc-ieee1275.rmk: Likewise.
29614 * conf/sparc64-ieee1275.rmk: Likewise.
29615
29616 * genhandlerlist.sh: New file.
29617
29618 * genmk.rb: Add rules to generate handler.lst.
29619
29620 * include/grub/normal.h (grub_file_getline): New function definition.
29621 (read_handler_list): Likewise.
29622 (free_handler_list): Likewise.
29623
29624 * include/grub/term.h (grub_term_register_input): Add name parameter
29625 for auto generation of handler.lst.
29626 (grub_term_register_output): Likewise.
29627
29628 * normal/handler.c: New file.
29629
29630 * normal/main.c (get_line): Renamed to grub_file_getline.
29631 (read_config_file): Use the newly renamed grub_file_getline.
29632 (read_command_list): Likewise.
29633 (read_fs_list): Likewise.
29634 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29635 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29636
29637 * term/efi/console.c (grub_console_init): Add name parameter for auto
29638 generation of handler.lst.
29639 * term/gfxterm.c: Likewise.
29640 * term/i386/pc/at_keyboard.c: Likewise.
29641 * term/i386/pc/console.c: Likewise.
29642 * term/i386/pc/serial.c: Likewise.
29643 * term/i386/pc/vesafb.c: Likewise.
29644 * term/i386/pc/vga.c: Likewise.
29645 * term/i386/pc/vga_text.c: Likewise.
29646 * term/ieee1275/ofconsole.c: Likewise.
29647 * term/usb_keyboard.c: Likewise.
29648
33c846be 296492009-04-14 Bean <bean123ch@gmail.com>
29650
29651 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29652 properly with null character.
29653
4484e01e 296542009-04-14 Felix Zielcke <fzielcke@z-51.de>
29655
29656 * configure: Remove.
29657 * config.h.in: Likewise.
f93d668e 29658 * stamp-h.in: Likewise.
4484e01e 29659 * DISTLIST: Likewise.
29660 * conf/common.mk: Likewise.
29661 * conf/i386-coreboot.mk: Likewise.
29662 * conf/i386-efi.mk: Likewise.
29663 * conf/i386-ieee1275.mk: Likewise.
29664 * conf/i386.mk: Likewise.
29665 * conf/i386-pc.mk: Likewise.
29666 * conf/powerpc-ieee1275.mk: Likewise.
29667 * conf/sparc64-ieee1275.mk: Likewise.
29668 * conf/x86_64-efi.mk: Likewise.
29669
29670 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29671 develop on GRUB.
29672
7dd4a573 296732009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29674 David S. Miller <davem@davemloft.net>
29675
29676 * util/hostdisk.c (make_device_name): Fix buffer length
29677 calculations.
29678
e25b5a8c 296792009-04-14 Felix Zielcke <fzielcke@z-51.de>
29680
29681 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29682 <sys/param.h> and <sys/sysctl.h>.
29683 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29684 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29685 opening the device and reset them afterwards.
29686
1f1f580c 296872009-04-13 Pavel Roskin <proski@gnu.org>
29688
29689 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29690 Reported by John Stanley <jpsinthemix@verizon.net>
29691
7ebc2d6b 296922009-04-13 Robert Millan <rmh@aybabtu.com>
29693
29694 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29695 that name for menuentries when appropriate.
7ebc2d6b 29696
d8ba3667 296972009-04-13 Felix Zielcke <fzielcke@z-51.de>
29698
29699 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29700
cba416eb 297012009-04-13 Robert Millan <rmh@aybabtu.com>
29702
29703 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29704 to Linux, simply abort telling the user it's no longer supported.
29705
a547a745 297062009-04-13 Felix Zielcke <fzielcke@z-51.de>
29707
29708 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29709 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29710 `freebsd_loadenv' only when devices.hints exist.
29711
232a769c 297122009-04-13 Pavel Roskin <proski@gnu.org>
29713
29714 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29715
c3012039 297162009-04-13 Felix Zielcke <fzielcke@z-51.de>
29717
29718 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29719 partition number.
29720 (grub_drive): Likewise.
29721
234022fe 297222009-04-13 David S. Miller <davem@davemloft.net>
29723
29724 * kern/sparc64/ieee1275/ieee1275.c: New file.
29725 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29726 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29727 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29728 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29729 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29730 grub_ieee1275_alloc_physmem): Declare new exported functions.
29731
d8e1836c 29732 * include/grub/sparc64/ieee1275/loader.h: New file.
29733 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29734 * include/grub/sparc64/kernel.h: Likewise.
29735 * loader/sparc64/ieee1275/linux.c: Likewise.
29736
96bd81ec 29737 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29738 (grub_fstest_SOURCES): Likewise.
29739
6a4737e5 29740 * util/hostdisk.c (make_device_name): Do not make any assumptions
29741 about the length of drive names.
29742
1d7a72fd 29743 * kern/dl.c (grub_dl_load_file): Close file immediately when
29744 we are done using it.
29745
56bc2471 297462009-04-12 David S. Miller <davem@davemloft.net>
29747
29748 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29749 values. Noticed by Pavel Roskin.
29750
df38d0bb 29751 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29752 target compiler.
7dd4a573 29753
e382e93a 29754 * genmk.rb: Add more flexible image type specification, also
29755 pass --strip-unneeded to objcopy.
29756 * conf/i386-pc.rmk: Use *_FORMAT.
29757 * conf/i386-pc.mk: Rebuilt.
29758
f5dbbca9 29759 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29760 (OFDISK_HASH_SZ): Define.
29761 (ofdisk_hash): New hash table.
29762 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29763 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29764 instead of device phandle which is not unique.
29765
91c88b12 29766 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29767 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29768 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29769 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29770 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29771 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29772 GRUB_KERNEL_MACHINE_DATA_END): Define.
29773 (grub_kernel_image_size, grub_total_module_size): Declare.
29774
5b5d4aa5 297752009-04-12 Pavel Roskin <proski@gnu.org>
29776
7dd4a573 29777 * configure.ac: Change the logic when we check for target tools.
29778 Do it when the target is specified and it's different from the
29779 specified value of the host.
5b5d4aa5 29780
c91e1793 297812009-04-11 Felix Zielcke <fzielcke@z-51.de>
29782
29783 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29784 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29785 GNU/kFreeBSD. Check if a device is a character device. Use
29786 DIOCGMEDIASIZE to get the size.
29787 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29788 support for GNU/kFreeBSD.
29789 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29790 is a character device instead of a block device. Add support for
29791 FreeBSD device names.
29792
29793 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29794 is a character device instead of a block device.
29795
29796 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29797 is a character device instead of a block device.
29798
b1ac8644 297992009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29800
29801 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29802 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29803 FreeBSD. Check if a device is a character device. Use
29804 DIOCGMEDIASIZE to get the size.
29805 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29806 support for FreeBSD.
29807 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29808 is a character device instead of a block device. Add support for
29809 FreeBSD device names.
29810
29811 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29812 a character device instead of a block device.
29813 (grub_util_check_char_device): New function.
29814
29815 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29816 a character device instead of a block device.
29817
29818 * include/grub/util/getroot.h (grub_util_check_char_device): New
29819 prototype.
29820
a3f7515a 298212009-04-11 David S. Miller <davem@davemloft.net>
29822
29823 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29824 static libgcc.
29825 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29826 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29827 function, if present.
29828 (__bswapdi2): Likewise.
29829
0d44993d 29830 * include/grub/sparc64/ieee1275/boot.h: New file.
29831 * boot/sparc64/ieee1275/boot.S: Likewise.
29832 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29833
ed3d2bc2 29834 * kern/misc.c (grub_ltoa): New function.
29835 (grub_vsprintf): Use it to format 'long' integers.
29836
d3bfb59c 298372009-04-10 David S. Miller <davem@davemloft.net>
29838
29839 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29840 slots are of type grub_ieee1275_cell_t.
29841 (grub_nand_read): Likewise.
29842 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29843 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29844 macros are used to compare values in arg/ret block of the call.
29845 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29846 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29847 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29848 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29849 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29850 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29851 grub_ieee1275_close, grub_ieee1275_set_property,
29852 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29853 grub_ieee1275_cell_t.
29854 * kern/ieee1275/openfw.c (grub_map): Likewise.
29855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29856 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29857
450e2238 29858 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29859 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29860 (grub_devalias_iterate): Likewise.
29861
7dd4a573 298622009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29863
29864 UFS improvements
29865
29866 * fs/ufs.c (INODE_NBLOCKS): new definition
29867 (struct grub_ufs_dirent): added fields for non-BSD dirents
29868 (grub_ufs_get_file_block): fixed double indirect handling
29869 (grub_ufs_lookup_symlink): use more robust way to determine whether
29870 symlink is inline
29871 (grub_ufs_find_file): support for non-BSD dirents
29872 (grub_ufs_dir): support for non-BSD dirents
29873
e7e6862a 298742009-04-10 Bean <bean123ch@gnail.com>
29875
29876 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29877 attribute, otherwise the size would be wrong for i386 platform.
29878
29879 * include/grub/pci.h (grub_pci_read_word): New inline function.
29880 (grub_pci_read_byte): Likewise.
29881 (grub_pci_write): Likewise.
29882 (grub_pci_write_word): Likewise.
29883 (grub_pci_write_byte): Likewise.
29884
29885 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29886
29887 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29888 (find_framebuf): Scan pci to locate the frame buffer address.
29889
29890 * commands/efi/fixvideo.c: New file.
29891
29892 * commands/efi/loadbios.c: Likewise.
29893
29894 * commands/memrw.c: Likewise.
29895
29896 * util/grub-dumpbios.in: Likewise.
29897
29898 * conf/common.rmk (grub-dumpbios): New utility.
29899 (pkglib_MODULES): New module memrw.mod.
29900 (memrw_mod_SOURCE): New macro.
29901 (memrw_mod_CFLAGS): Likewise.
29902 (memrw_mod_LDFLAGS): Likewise.
29903
7dd4a573 29904 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29905 fixvideo.mod.
29906 (loadbios_mod_SOURCE): New macro.
29907 (loadbios_mod_CFLAGS): Likewise.
29908 (loadbios_mod_LDFLAGS): Likewise.
29909 (fixvideo_mod_SOURCE): Likewise.
29910 (fixvideo_mod_CFLAGS): Likewise.
29911 (fixvideo_mod_LDFLAGS): Likewise.
29912
7dd4a573 29913 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29914 fixvideo.mod.
29915 (loadbios_mod_SOURCE): New macro.
29916 (loadbios_mod_CFLAGS): Likewise.
29917 (loadbios_mod_LDFLAGS): Likewise.
29918 (fixvideo_mod_SOURCE): Likewise.
29919 (fixvideo_mod_CFLAGS): Likewise.
29920 (fixvideo_mod_LDFLAGS): Likewise.
29921
af63ada2 299222009-04-08 Felix Zielcke <fzielcke@z-51.de>
29923
29924 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29925
c2cdde70 299262009-04-07 David S. Miller <davem@davemloft.net>
29927
29928 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29929 support for R_SPARC_OLO10 relocations. Fix compile warning for
29930 R_SPARC_WDISP30 case.
ea3f72cf 29931 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29932
761319cf 299332009-04-06 Pavel Roskin <proski@gnu.org>
29934
1007d1f5 29935 * include/grub/misc.h (ARRAY_SIZE): New macro.
29936 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29937 New macro.
29938 * loader/i386/linux.c (allocate_pages): Use free_pages().
29939 (grub_linux_unload): Don't use free_pages().
29940 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29941 wrong index. Treat all other modes as text modes.
29942 (grub_cmd_linux): Initialize vid_mode unconditionally to
29943 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29944
761319cf 29945 * commands/help.c (print_command_help): Use cmd->prio, not
29946 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29947
ea761d40 299482009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29949
ea761d40 29950 Parttool
29951
29952 * parttool/pcpart.c: new file
29953 * commands/parttool.c: likewise
29954 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29955 (parttool_mod_SOURCES): new variable
29956 (parttool_mod_CFLAGS): likewise
29957 (parttool_mod_LDFLAGS): likewise
29958 (pcpart_mod_SOURCES): likewise
29959 (pcpart_mod_CFLAGS): likewise
29960 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29962 and parttool/pcpart.c
29963 * conf/i386-efi.rmk: likewise
29964 * conf/i386-ieee1275.rmk: likewise
29965 * conf/i386-pc.rmk: likewise
29966 * conf/powerpc-ieee1275.rmk: likewise
29967 * conf/sparc64-ieee1275.rmk: likewise
29968 * conf/x86_64-ieee1275.rmk: likewise
29969
05aaebfb 299702009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 Support for mtime and further expandability of dir command
29973
29974 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29975 * include/grub/datetime.h: ... moved here and added
05aaebfb 29976 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29977 * include/grub/fs.h: new syntax for dir and mtime functions in
29978 struct grub_fs
05aaebfb 29979 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29980 and GRUB_FSHELP_FLAGS_MASK
29981 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29982 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29983 (grub_ext2_mtime): new function
29984 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29985 (grub_hfsplus_mtime): new function
29986 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29987 (GRUB_UFS_ATTR_FILE): likewise
29988 (GRUB_UFS_ATTR_LNK): likewise
29989 (struct grub_ufs_sblock): new fields mtime
29990 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29991 all users updated
29992 (grub_ufs_dir): mtime support
29993 (grub_ufs_mtime): new function
29994 * fs/affs.c (grub_affs_dir): use new dir syntax
29995 * fs/afs.c (grub_afs_dir): likewise
29996 * fs/cpio.c (grub_cpio_dir): likewise
29997 * fs/fat.c (grub_fat_find_dir): likewise
29998 * fs/hfs.c (grub_hfs_dir): likewise
29999 * fs/iso9660.c (grub_iso9660_dir): likewise
30000 * fs/jfs.c (grub_jfs_dir): likewise
30001 * fs/minix.c (grub_minix_dir): likewise
30002 * fs/ntfs.c (grub_ntfs_dir): likewise
30003 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30004 * fs/sfs.c (grub_sfs_dir): likewise
30005 * fs/xfs.c (grub_xfs_dir): likewise
30006 * util/hostfs.c (grub_hostfs_dir): likewise
30007 * lib/datetime.c: moved to ...
30008 * normal/datetime.c: ... moved here
30009 (grub_unixtime2datetime): new function
30010 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30011 * normal/completion.c (iterate_dir): use new dir syntax
30012 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30013 last modification time of a volume
7dd4a573 30014 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30015 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30016 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30017 (normal_mod_SOURCES): likewise
30018 (datetime_mod_SOURCES): Removed lib/datetime.c
30019 * conf/i386-efi.rmk: likewise
7dd4a573 30020 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30021 * conf/i386-pc.rmk: likewise
30022 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30023 * conf/sparc64-ieee1275.rmk: likewise
30024 * conf/x86_64-efi.rmk: likewise
05aaebfb 30025
8a7e1a14 300262009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30027
30028 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30029
30030 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30031 on grub_fat_find_dir
30032 (grub_fat_find_dir): use grub_fat_iterate_dir
30033 (grub_fat_label): likewise
30034
04186a9c 300352009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30036
7dd4a573 30037 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30038 and command.h
30039 remove extraneous kernel_elf_HEADERS
30040
da4c0bb6 300412009-04-04 Bean <bean123ch@gnail.com>
30042
30043 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30044
30045 * util/misc.c: Likewise.
30046
54ad9555 300472009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30048
30049 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30050 instead of grub_printf.
30051
7a6bf9f2 300522009-04-03 Robert Millan <rmh@aybabtu.com>
30053
30054 * loader/i386/linux.c (grub_linux_setup_video): Fill
30055 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30056 values from `mode info' structure instead of hardcoded
30057 values.
30058
3fcc2083 300592009-04-01 Pavel Roskin <proski@gnu.org>
30060
30061 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30062 unused now.
30063 * genmk.rb: Likewise.
30064 * configure.ac: Likewise.
30065
5ec9740b 300662009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30067
30068 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30069 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30070
5270cec8 300712009-04-01 David S. Miller <davem@davemloft.net>
30072
30073 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30074 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30075 (grub_setjmp): Mark with 'returns_twice' attribute.
30076 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30077 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30078 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30079
9c3dd854 300802009-04-01 Robert Millan <rmh@aybabtu.com>
30081
30082 Reapply fix from 2008-07-28 which was accidentally reverted; also
30083 perform the same fix to a similar check in same function.
30084
30085 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30086 with the same number are found, just use issue a warning with
30087 grub_dprintf(), as this error has been reported to be non-fatal.
30088
0d818b7e 300892009-03-31 Pavel Roskin <proski@gnu.org>
30090
30091 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30092 for cross-compilation.
30093
95646d92 300942009-03-30 Robert Millan <rmh@aybabtu.com>
30095
30096 Fix i386-ieee1275 build.
30097
30098 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30099 Remove declaration.
30100
6a003ed1 301012009-03-30 Pavel Roskin <proski@gnu.org>
30102
30103 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30104 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30105 zero-terminated, rely only on the strlen value. Fix comparison
30106 of strings differing in length.
30107
92f33540 301082009-03-30 Robert Millan <rmh@aybabtu.com>
30109
30110 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30111 checking for abi version. Improve error messages on BIOS to notify
30112 user about `linux16' command.
30113
a8c48fd5 301142009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30115
f968172e 30116 Leak fixes
a8c48fd5 30117
f968172e 30118 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30119 in case of collision
30120 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30121
9c323f09 301222009-03-29 Robert Millan <rmh@aybabtu.com>
30123
30124 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30125 set `vid_mode' accordingly.
30126 (grub_linux_boot): Process `vid_mode' and set video mode.
30127
ae68f423 301282009-03-29 Robert Millan <rmh@aybabtu.com>
30129
30130 * util/grub.d/10_linux.in (linux_entry): New function.
30131 Factorize generation of Linux boot entries.
30132
5709cfc4 301332009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30134
30135 Make the format of Environment Block plain text. The boot loader
30136 part is not tested well yet.
7dd4a573 30137
5709cfc4 30138 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30139 (buffer): Removed.
30140 (envblk): Likewise.
30141 (usage): Remove "info" and "clear". Add "unset". Update the
30142 description of "set", as this does not delete variables any
30143 longer.
30144 (create_envblk_file): Complete rewrite.
30145 (open_envblk_file): Likewise.
30146 (cmd_info): Removed.
30147 (cmd_list): Likewise.
30148 (cmd_set): Likewise.
30149 (cmd_clear): Likewise.
30150 (list_variables): New function.
30151 (write_envblk): Likewise.
30152 (set_variables): Likewise.
30153 (unset_variables): Likewise.
30154 (main): Complete rewrite.
30155
30156 * commands/loadenv.c (buffer): Removed.
30157 (envblk): Likewise.
30158 (open_envblk_file): New function.
30159 (read_envblk_file): Complete rewrite.
30160 (grub_cmd_load_env): Likewise.
30161 (grub_cmd_list_env): Likewise.
30162 (struct blocklist): New struct.
30163 (free_blocklists): New function.
30164 (check_blocklists): Likewise.
30165 (write_blocklists): Likewise.
30166 (grub_cmd_save_env): Complete rewrite.
30167
30168 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30169 a plain text signature.
30170 (GRUB_ENVBLK_MAXLEN): Removed.
30171 (struct grub_envblk): Complete rewrite.
30172 (grub_envblk_find): Removed.
30173 (grub_envblk_insert): Likewise.
30174 (grub_envblk_open): New prototype.
30175 (grub_envblk_set): Likewise.
30176 (grub_envblk_delete): Put const to VALUE.
30177 (grub_envblk_iterate): Put const to NAME and VALUE.
30178 (grub_envblk_close): New prototype.
30179 (grub_envblk_buffer): New inline function.
30180 (grub_envblk_size): Likewise.
30181
30182 * lib/envblk.c: Include grub/mm.h.
30183 (grub_env_find): Removed.
30184 (grub_envblk_open): New function.
30185 (grub_envblk_close): Likewise.
30186 (escaped_value_len): Likewise.
30187 (find_next_line): Likewise.
30188 (grub_envblk_insert): Removed.
30189 (grub_envblk_set): New function.
30190 (grub_envblk_delete): Complete rewrite.
30191 (grub_envblk_iterate): Likewise.
30192
a9368fd3 301932009-03-28 Robert Millan <rmh@aybabtu.com>
30194
30195 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30196 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30197 variables. Use 16-bit loader.
30198 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30199 loader.
30200 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30201 (grub_linux16_boot): ... this. Update all users.
30202 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30203 (grub_linux_boot): ... this. Update all users.
30204
30205 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30206 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30207 commands to `linux16' and `initrd16'.
30208 (GRUB_MOD_FINI(linux)): Rename to ...
30209 (GRUB_MOD_FINI(linux16)): ... this.
30210
e4dd5a7e 302112009-03-24 Pavel Roskin <proski@gnu.org>
30212
30213 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30214 not just for compilation.
30215
c04d6e05 302162009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30217
30218 Move multiboot helper out of kernel
30219
30220 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30221 `loader/i386/multiboot_helper.S'.
30222 * conf/i386-coreboot.rmk: Likewise
30223 * conf/i386-ieee1275.rmk: Likewise
30224
30225 * kern/i386/loader.S: Move multiboot helpers from here...
30226 * loader/i386/multiboot_helper.S: ...moved here
30227 * include/grub/i386/loader.h: Move declarations of multiboot
30228 helpers from here...
30229 * include/grub/i386/multiboot.h: ...moved here
30230 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30231
42a5b3fc 302322009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30233
30234 * kern/env.c (grub_env_context_open): Added an argument to specify
30235 whether a new context inherits exported variables from current
30236 one. This is useful when making a sandbox to interpret a config
30237 file.
30238 All callers updated.
30239
30240 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30241
b28bbc4e 302422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30243
30244 * kern/env.c (grub_env_context_close): Fix memory leaks.
30245
f04f02e4 302462009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30247
30248 * normal/main.c (grub_normal_execute): Added an argument
30249 BATCH to specify if an interactive interface should be provided
30250 after reading a config file.
30251 All callers updated.
30252 (read_command_list): Prevent being executed twice.
30253 (read_fs_list): Likewise.
30254
42a5b3fc 30255 * include/grub/normal.h (grub_normal_execute): Updated the
30256 prototype.
f04f02e4 30257
41473ac2 302582009-03-22 Pavel Roskin <proski@gno.org>
30259
fbc00b0c 30260 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30261 _start.
30262 * kern/i386/pc/startup.S: Likewise.
30263 * kern/i386/efi/startup.S: Likewise.
30264 * kern/i386/ieee1275/startup.S: Likewise.
30265 * kern/i386/coreboot/startup.S: Likewise.
30266 * kern/x86_64/efi/startup.S: Likewise.
30267
41473ac2 30268 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30269 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30270 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30271
2274cc8f 302722009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30275
30276 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30277 limit detection.
30278 Use vaddr of correct segment for entry_point.
30279
b1b797cb 302802009-03-21 Bean <bean123ch@gmail.com>
30281
30282 * commands/blocklist.c: Add include file <grub/command.h>, remove
30283 <grub/normal.h> and <grub/arg.h>.
30284 (grub_cmd_blocklist): Use the new command interface.
30285 (GRUB_MOD_INIT): Likewise.
30286 (GRUB_MOD_FINI): Likewise.
30287 * commands/boot.c: Likewise.
30288 * commands/cat.c: Likewise.
30289 * commands/cmp.c: Likewise.
30290 * commands/configfile.c: Likewise.
30291 * commands/crc.c: Likewise.
30292 * commands/echo.c: Likewise.
30293 * commands/halt.c: Likewise.
30294 * commands/handler.c: Likewise.
30295 * commands/hdparm.c: Likewise.
30296 * commands/help.c: Likewise.
30297 * commands/hexdump.c: Likewise.
30298 * commands/loadenv.c: Likewise.
30299 * commands/ls.c: Likewise.
30300 * commands/lsmmap.c: Likewise.
30301 * commands/lspci.c: Likewise.
30302 * commands/loadenv.c: Likewise.
30303 * commands/read.c: Likewise.
30304 * commands/reboot.c: Likewise.
30305 * commands/search.c: Likewise.
30306 * commands/sleep.c: Likewise.
30307 * commands/test.c: Likewise.
30308 * commands/usbtest.c: Likewise.
30309 * commands/videotest.c: Likewise.
30310 * commands/i386/cpuid.c: Likewise.
30311 * commands/i386/pc/halt.c: Likewise.
30312 * commands/i386/pc/play.c: Likewise.
30313 * commands/i386/pc/pxecmd.c: Likewise.
30314 * commands/i386/pc/vbeinfo.c: Likewise.
30315 * commands/i386/pc/vbetest.c: Likewise.
30316 * commands/ieee1275/suspend.c: Likewise.
30317 * disk/loopback.c: Likewise.
30318 * font/font_cmd.c: Likewise.
30319 * hello/hello.c: Likewise.
30320 * loader/efi/appleloader.c: Likewise.
30321 * loader/efi/chainloader.c: Likewise.
30322 * loader/i386/bsd.c: Likewise.
30323 * loader/i386/efi/linux.c: Likewise.
30324 * loader/i386/ieee1275/linux.c: Likewise.
30325 * loader/i386/linux.c: Likewise.
30326 * loader/i386/pc/chainloader.c: Likewise.
30327 * loader/i386/pc/linux.c: Likewise.
30328 * loader/powerpc/ieee1275/linux.c: Likewise.
30329 * loader/multiboot_loader.c: Likewise.
30330 * term/gfxterm.c: Likewise.
30331 * term/i386/pc/serial.c: Likewise.
30332 * term/terminfo.c: Likewise.
30333
30334 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30335 * term/i386/pc/vga.c: Likewise.
30336 * video/readers/jpeg.c: Likewise.
30337 * video/readers/png.c: Likewise.
30338 * video/readers/tga.c: Likewise.
30339
30340 * util/grub-fstest (cmd_loopback): Removed.
30341 (cmd_blocklist): Likewise.
30342 (cmd_ls): Likewise.
30343 (grub_register_command): Likewise.
30344 (grub_unregister_command): Likewise.
30345 (execute_command): Use grub_command_find to locate command and execute
30346 it.
30347
30348 * include/grub/efi/chainloader.h: Removed.
30349 * loader/efi/chainloader_normal.c: Likewise.
30350 * loader/i386/bsd_normal.c: Likewise.
30351 * loader/i386/pc/chainloader_normal.c: Likewise.
30352 * loader/i386/pc/multiboot_normal.c: Likewise.
30353 * loader/linux_normal.c: Likewise.
30354 * loader/multiboot_loader_normal.c: Likewise.
30355 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30356
30357 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30358 and grub_register_command_p1.
30359
30360 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30361 kern/command.c, lib/arg.c and commands/extcmd.c.
30362 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30363 (minicmd_mod_SOURCES): New variable.
30364 (minicmd_mod_CFLAGS): Likewise.
30365 (minicmd_mod_LDFLAGS): Likewise.
30366 (extcmd_mod_SOURCES): Likewise.
30367 (extcmd_mod_CFLAGS): Likewise.
30368 (extcmd_mod_LDFLAGS): Likewise.
30369 (boot_mod_SOURCES): Removed.
30370 (boot_mod_CFLAGS): Likewise.
30371 (boot_mod_LDFLAGS): Likewise.
30372
30373 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30374 kern/corecmd.c.
30375 (kernel_img_HEADERS): Add command.h.
30376 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30377 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30378 and lib/arg.c.
30379 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30380 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30381 remove the corresponding normal mode command.
30382 (normal_mod_SOURCES): Remove normal/arg.c.
30383 * conf/i386-coreboot.rmk: Likewise.
30384 * conf/i386-efi.rmk: Likewise.
30385 * conf/i386-ieee1275.rmk: Likewise.
30386 * conf/powerpc-ieee1275.rmk: Likewise.
30387 * conf/x86_64-efi.rmk: Likewise.
30388
30389 * include/grub/arg.h: Move from here ...
30390 * include/grub/lib/arg.h: ... to here.
30391
30392 * normal/arg.c: Move from here ...
30393 * lib/arg.c: ... to here.
30394
30395 * commands/extcmd.c: New file.
30396 * commands/minicmd.c: Likewise.
30397 * include/grub/command.h: Likewise.
30398 * include/grub/extcmd.h: Likewise.
30399 * kern/command.c: Likewise.
30400 * kern/corecmd.c: Likewise.
30401
30402 * kern/list.c (grub_list_iterate): Return int instead of void.
30403 (grub_list_insert): New function.
30404 (grub_prio_list_insert): Likewise.
30405
30406 * kern/rescue.c (grub_rescue_command): Removed.
30407 (grub_rescue_command_list): Likewise.
30408 (grub_rescue_register_command): Likewise.
30409 (grub_rescue_unregister_command): Likewise.
30410 (grub_rescue_cmd_boot): Move to minicmd.c
30411 (grub_rescue_cmd_help): Likewise.
30412 (grub_rescue_cmd_info): Likewise.
30413 (grub_rescue_cmd_boot): Likewise.
30414 (grub_rescue_cmd_testload): Likewise.
30415 (grub_rescue_cmd_dump): Likewise.
30416 (grub_rescue_cmd_rmmod): Likewise.
30417 (grub_rescue_cmd_lsmod): Likewise.
30418 (grub_rescue_cmd_exit): Likewise.
30419 (grub_rescue_print_devices): Moved to corecmd.c.
30420 (grub_rescue_print_files): Likewise.
30421 (grub_rescue_cmd_ls): Likewise.
30422 (grub_rescue_cmd_insmod): Likewise.
30423 (grub_rescue_cmd_set): Likewise.
30424 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30425 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30426 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30427 commands, remove grub_rescue_register_command calls.
b1b797cb 30428
7d074e3c 30429 * normal/command.c (grub_register_command): Removed.
b1b797cb 30430 (grub_unregister_command): Likewise.
30431 (grub_command_find): Likewise.
30432 (grub_iterate_commands): Likewise.
30433 (rescue_command): Likewise.
30434 (export_command): Moved to corecmd.c.
30435 (set_command): Removed.
30436 (unset_command): Likewise.
30437 (insmod_command): Likewise.
30438 (rmmod_command): Likewise.
30439 (lsmod_command): Likewise.
30440 (grub_command_init): Likewise.
30441
30442 * normal/completion.c (iterate_command): Use cmd->prio to check for
30443 active command.
30444 (complete_arguments): Use grub_extcmd_t structure to find options.
30445 (grub_normal_do_completion): Change function grub_iterate_commands to
30446 grub_command_iterate.
30447
30448 * normal/execute.c (grub_script_execute_cmd): No need to parse
30449 argument here.
30450
30451 * normal/main.c (grub_dyncmd_dispatcher): New function.
30452 (read_command_list): Register unload commands as dyncmd.
30453 (grub_cmd_normal): Use new command interface, register rescue,
30454 unregister normal at entry, register normal, unregister rescue at exit.
30455
30456 * include/grub/list.h (grub_list_test_t): New type.
30457 (grub_list_iterate): Return int instead of void.
30458 (grub_list_insert): New function.
30459 (GRUB_AS_NAMED_LIST_P): New macro.
30460 (GRUB_AS_PRIO_LIST): Likewise.
30461 (GRUB_AS_PRIO_LIST_P): Likewise.
30462 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30463 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30464 (grub_prio_list): New structure.
30465 (grub_prio_list_insert): New function.
30466 (grub_prio_list_remove): New inline function.
30467
30468 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30469 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30470 (GRUB_COMMAND_FLAG_MENU): Likewise.
30471 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30472 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30473 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30474 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30475 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30476 (grub_command): Likewise.
30477 (grub_register_command): Likewise.
30478 (grub_command_find): Likewise.
30479 (grub_iterate_commands): Likewise.
30480 (grub_command_init): Likewise.
30481 (grub_arg_parse): Likewise.
30482 (grub_arg_show_help): Likewise.
30483
30484 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30485 (grub_rescue_unregister_command): Likewise.
30486
30487 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30488 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30489 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30490
30491 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30492 grub_rescue_cmd_initrd.
30493 * include/grub/i386/loader.h: Likewise.
30494 * include/grub/x86_64/loader.h: Likewise.
30495
30496 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30497
1f4147aa 304982009-03-21 Bean <bean123ch@gmail.com>
30499
30500 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30501 instead of stat in mingw environment.
30502
30503 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30504
30505 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30506
30507 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30508 AC_CONFIG_LINKS.
30509
2156d5ba 305102009-03-21 Bean <bean123ch@gmail.com>
30511
30512 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30513 out of range error.
30514
177b82ca 305152009-03-18 Michel Dänzer <michel@daenzer.net>
30516
30517 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30518 checking inode flags for EXT4_EXTENTS_FLAG.
30519
14aad807 305202009-03-18 Robert Millan <rmh@aybabtu.com>
30521
30522 * loader/i386/linux.c: Include `<grub/video.h>' and
30523 `<grub/i386/pc/vbe.h>'..
30524 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30525 (grub_linux32_boot): Attempt to configure video settings with
30526 grub_linux_setup_video().
30527 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30528 to avoid grub_console_fini() which would step out of graphical mode
30529 unconditionally.
30530
8cf83a27 305312009-03-14 Robert Millan <rmh@aybabtu.com>
30532
30533 Fix build on powerpc.
30534 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30535
40164e75 305362009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30539 background image command.
30540
c58bc32a 305412009-03-12 Colin D Bennett <colin@gibibit.com>
30542
30543 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30544 (grub_gfxterm_putchar): Extract pairs of identical calls to
30545 draw_cursor out of conditional blocks.
30546
5415144a 305472009-03-11 Pavel Roskin <proski@gnu.org>
30548
30549 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30550 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30551
6394042e 305522009-03-11 Robert Millan <rmh@aybabtu.com>
30553
30554 * loader/i386/multiboot_elfxx.c
30555 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30556
b7b50e5f 305572009-03-11 Felix Zielcke <fzielcke@z-51.de>
30558
30559 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30560 `kern/handler.c'.
30561
1ca7fc96 305622009-03-11 Robert Millan <rmh@aybabtu.com>
30563
30564 * loader/i386/multiboot.c (code_size): New variable.
30565 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30566 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30567 4-byte alignment to MBI and others by increasing
7d074e3c 30568 `boot_loader_name_length' appropriately.
1ca7fc96 30569
30570 * loader/i386/multiboot_elfxx.c
30571 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30572
a83ea1d2 305732009-03-09 Felix Zielcke <fzielcke@z-51.de>
30574
30575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30576 `fs/ext2.c'.
30577
aa9f3bff 305782009-03-08 Robert Millan <rmh@aybabtu.com>
30579
30580 Make loader/i386/linux.c usable on i386-pc again.
30581
30582 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30583 memory to heap.
30584 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30585 `#error' stanza.
30586
d8b3b60e 305872009-03-07 Bean <bean123ch@gmail.com>
30588
30589 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30590 allocation.
30591
b362c9e9 305922009-03-06 Robert Millan <rmh@aybabtu.com>
30593
30594 Fix display issue on terminals with screen size other than 80x25
30595 (e.g. gfxterm with resolution higher than 640x480).
30596
30597 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30598 position relative to the center of the terminal instead of relying
b362c9e9 30599 on a hardcoded offset.
30600
9304eef1 306012009-03-04 Robert Millan <rmh@aybabtu.com>
30602
30603 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30604 installed.
30605
30606 * Makefile.in (host_kernel): New variable.
30607 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30608 scripts instead of just the windows one.
30609 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30610
eabc95fb 306112009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30612
30613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30614 `kern/handler.c'.
30615 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30616 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30619 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30620 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30621
ceb1223c 306222009-03-04 Felix Zielcke <fzielcke@z-51.de>
30623
30624 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30625 or if there's no space for the disk label and print the partition number on a
30626 invalid magic.
30627
4910684a 306282009-03-04 Felix Zielcke <fzielcke@z-51.de>
30629
30630 * util/misc.c: Include <time.h>.
30631 (grub_millisleep): New function.
30632
7e9ca17a 306332009-03-04 Bean <bean123ch@gmail.com>
30634
30635 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30636 another option -mno-red-zone.
30637
30638 * commands/handler.c: Change module description.
30639
30640 * kern/handler.c: Add missing space at the end of description line.
30641
30642 * kern/list.c: Likewise.
30643
f501677c 306442009-03-03 Robert Millan <rmh@aybabtu.com>
30645
30646 Move more components to the relocation area, and fix mbi pointer
30647 handling to use the destination rather than the origin (thanks to
30648 Vladimir Serbinenko for spotting).
30649
30650 * loader/i386/multiboot.c (mbi_dest): New variable.
30651 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30652 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30653 relocation area.
30654
9902d047 306552009-03-01 Bean <bean123ch@gmail.com>
30656
50fb7002 30657 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30658 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30659 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30660 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30661
30662 * loader/i386/efi/linux.c (acpi_guid): New variable.
30663 (acpi_guid): Likewise.
30664 (EBDA_SEG_ADDR): New constant.
30665 (LOW_MEM_ADDR): Likewise.
30666 (FAKE_EBDA_SEG): Likewise.
30667 (fake_bios_data): New function.
30668 (grub_linux_boot): Call fake_bios_data.
30669
71b9f361 306702009-03-01 Bean <bean123ch@gmail.com>
30671
30672 * commands/terminal.c: Removed.
30673
30674 * commands/handler.c: New file.
30675
30676 * include/grub/list.h: Likewise.
30677
30678 * include/grub/handler.h: Likewise.
30679
30680 * kern/list.c: Likewise.
30681
30682 * kern/handler.c: Likewise.
30683
30684 * kern/term.h: Include header file <grub/handler.h>.
30685 (grub_term_input): Move next field to the beginning.
30686 (grub_term_output): Likewise.
30687 (grub_term_input_class): New variable.
30688 (grub_term_output_class): Likewise.
30689 (grub_term_register_input): Changed to inline function.
30690 (grub_term_register_output): Likewise.
30691 (grub_term_unregister_input): Likewise.
30692 (grub_term_unregister_output): Likewise.
30693 (grub_term_set_current_input): Likewise.
30694 (grub_term_set_current_output): Likewise.
30695 (grub_term_get_current_input): Likewise.
30696 (grub_term_get_current_output): Likewise.
30697 (grub_term_iterate_input): Removed.
30698 (grub_term_iterate_output): Likewise.
30699
30700 * kern/term.c (grub_term_list_input): Removed.
30701 (grub_term_list_output): Likewise.
30702 (grub_term_input_class): New variable.
30703 (grub_term_output_class): Likewise.
50fb7002 30704 (grub_cur_term_input): Change variable as macro.
71b9f361 30705 (grub_cur_term_output): Likewise.
30706 (grub_term_register_input): Removed.
30707 (grub_term_register_output): Likewise.
30708 (grub_term_unregister_input): Likewise.
30709 (grub_term_unregister_output): Likewise.
30710 (grub_term_set_current_input): Likewise.
30711 (grub_term_set_current_output): Likewise.
30712 (grub_term_iterate_input): Likewise.
30713 (grub_term_iterate_output): Likewise.
30714 (grub_term_get_current_input): Likewise.
30715 (grub_term_get_current_output): Likewise.
30716
30717 * util/grub-editenv.c: Include header file <grub/handler.h>.
30718 (grub_term_get_current_input): Removed.
30719 (grub_term_get_current_output): Likewise.
30720 (grub_term_input_class): New variable.
50fb7002 30721 (grub_term_output_class): Likewise.
71b9f361 30722
30723 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30724 (grub_term_get_current_output): Likewise.
30725 (grub_term_input_class): New variable.
50fb7002 30726 (grub_term_output_class): Likewise.
71b9f361 30727
30728 * util/grub-probe.c (grub_term_get_current_input): Removed.
30729 (grub_term_get_current_output): Likewise.
30730 (grub_term_input_class): New variable.
50fb7002 30731 (grub_term_output_class): Likewise.
71b9f361 30732
30733 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30734 (grub_term_get_current_output): Likewise.
30735 (grub_term_input_class): New variable.
50fb7002 30736 (grub_term_output_class): Likewise.
71b9f361 30737
30738 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30739 (terminal_mod_SOURCES): Likewise.
30740 (terminal_mod_CFLAGS): Likewise.
30741 (terminal_mod_LDFLAGS): Likewise.
30742
30743 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30744 handler.c.
30745 (kernel_img_SOURCES): Add list.c and handler.c.
30746 (kernel_img_HEADERS): Add list.h and handler.h.
30747
30748 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30749 handler.c.
30750 (kernel_mod_SOURCES): Add list.c and handler.c.
30751 (kernel_mod_HEADERS): Add list.h and handler.h.
30752
30753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30754 handler.c.
30755 (kernel_elf_SOURCES): Add list.c and handler.c.
30756 (kernel_elf_HEADERS): Add list.h and handler.h.
30757
30758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30759 handler.c.
30760 (kernel_elf_SOURCES): Add list.c and handler.c.
30761 (kernel_elf_HEADERS): Add list.h and handler.h.
30762
30763 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30764 handler.c.
30765 (kernel_mod_SOURCES): Add list.c and handler.c.
30766 (kernel_mod_HEADERS): Add list.h and handler.h.
30767
30768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30769 handler.c.
30770 (kernel_elf_SOURCES): Add list.c and handler.c.
30771 (kernel_elf_HEADERS): Add list.h and handler.h.
30772
8a31787f 307732009-02-27 Robert Millan <rmh@aybabtu.com>
30774
30775 Factorize elf32 / elf64 code in Multiboot loader. This will
30776 prevent it from getting out of sync again.
30777
30778 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30779 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30780 grub_multiboot_load_elf64): Move from here ...
30781 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30782 grub_multiboot_load_elf): ... to here (new file).
30783
51cd3dfc 307842009-02-27 Robert Millan <rmh@aybabtu.com>
30785
30786 * util/grub.d/10_linux.in: Rename "single-user mode" to
30787 "recovery mode".
30788
6e8c9c3a 307892009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30790
30791 Don't leak in SCSI code.
30792 * disk/scsi.c (grub_scsi_close): free `scsi'.
30793
4b6bf4f9 307942009-02-27 Robert Millan <rmh@aybabtu.com>
30795
30796 * loader/i386/pc/multiboot.c: Move from here ...
30797 * loader/i386/multiboot.c: ... to here. Update all users.
30798
b9413424 307992009-02-27 Robert Millan <rmh@aybabtu.com>
30800
30801 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30802 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30803
50fb7002 308042009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30805
30806 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30807 b-tree.
30808
8cc50345 308092009-02-27 Robert Millan <rmh@aybabtu.com>
30810
30811 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30812 `0x' qualifier as 0 when base is specified as parameter).
30813
6e09b8b7 308142009-02-24 Bean <bean123ch@gmail.com>
30815
30816 * configure.ac: Check for -mcmodel=large in x86_64 target.
30817
30818 * include/grub/efi/api.h (efi_call_10): New macro.
30819 (efi_wrap_10): New function.
30820
30821 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30822 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30823 (GRUB_PE32_REL_BASED_LOW): Likewise.
30824 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30825 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30826 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30827 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30828 (GRUB_PE32_REL_BASED_REL): Likewise.
30829 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30830 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30831 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30832
30833 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30834 issue.
30835
30836 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30837 (efi_wrap_10): New function.
30838
30839 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30840
30841 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30842 MB/MBP model (NV chipset).
30843 (devdata_devs): Add devpath_5 to the list.
30844
30845 * load/i386/efi/linux.c (video_base): Remove variable.
30846 (RGB_MASK): New macro.
30847 (RGB_MAGIC): Likewise.
30848 (LINE_MIN): Likewise.
30849 (LINE_MAX): Likewise.
30850 (FBTEST_STEP): Likewise.
30851 (FBTEST_COUNT): Likewise.
30852 (fb_list): New variable.
30853 (grub_find_video_card): Remove function.
30854 (find_framebuf): New function.
30855 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30856 line length.
30857
30858 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30859 problem for x86_64.
30860
74b21bee 308612009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30862
30863 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30864
30865 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30866 coding tool name.
30867
a455f472 308682009-02-22 Robert Millan <rmh@aybabtu.com>
30869
30870 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30871 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30872 in our relocation, instead of using it directly from heap. Also
30873 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30874
6374daf3 308752009-02-21 Robert Millan <rmh@aybabtu.com>
30876
30877 Implement USB keyboard support (based on patch by Marco Gerards)
30878
30879 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30880 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30881 (usb_keyboard_mod_LDFLAGS): New variables.
30882
30883 * term/usb_keyboard.c: New file.
30884
8fa4ea70 308852009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30886
30887 Corrected wrong declaration
30888
30889 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30890
353976ac 308912009-02-14 Christian Franke <franke@computer.org>
30892
30893 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30894 (grub_lspci_iter): Print class code and programming interface byte.
30895
6aa1169b 308962009-02-14 Christian Franke <franke@computer.org>
30897
30898 * gendistlist.sh: Ignore `.svn' directories.
30899
265372ca 309002009-02-14 Felix Zielcke <fzielcke@z-51.de>
30901
30902 * fs/fat.c: Add 2009 to Copyright line.
30903
9ff516f3 309042009-02-14 Christian Franke <franke@computer.org>
30905
30906 * commands/hdparm.c: New file. Provides `hdparm' command
30907 which sends ATA commands via grub_disk_ata_pass_through ().
30908
30909 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30910
30911 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30912 and <grub/cpu/io.h> to include/grub/ata.h.
30913 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30914 (GRUB_CDROM_SECTOR_SIZE): Remove.
30915 (GRUB_ATA_*): Move to include/grub/ata.h.
30916 (GRUB_ATAPI_*): Likewise.
30917 (enum grub_ata_commands): Likewise.
30918 (enum grub_ata_timeout_milliseconds): Likewise.
30919 (struct grub_ata_device): Likewise.
30920 (grub_ata_regset): Likewise.
30921 (grub_ata_regget): Likewise.
30922 (grub_ata_regset2): Likewise.
30923 (grub_ata_regget2): Likewise.
30924 (grub_ata_check_ready): Likewise.
30925 (grub_ata_wait_not_busy): Remove static, exported in
30926 include/grub/ata.h.
30927 (grub_ata_wait_drq): Likewise.
30928 (grub_ata_pio_read): Likewise.
30929
30930 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30931 function for hdparm.mod.
30932
30933 * include/grub/ata.h: New file, contains declarations from
30934 disk/ata.c.
30935 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30936
30937 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30938 (grub_disk_ata_pass_through): New exported variable.
30939
30940 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30941
772e23da 309422009-02-13 Colin D Bennett <colin@gibibit.com>
30943
30944 Support multiple fallback entries, and provide an API to support
30945 executing default+fallback menu entries. Renamed the `terminal' menu
30946 viewer to `text'.
30947
30948 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30949 variable declaration.
30950 (grub_menu_execute_callback): New structure declaration.
30951 (grub_menu_execute_callback_t): New typedef.
30952 (grub_menu_execute_with_fallback): New function declaration.
30953 (grub_menu_get_entry): Likewise.
30954 (grub_menu_get_timeout): Likewise.
30955 (grub_menu_set_timeout): Likewise.
30956
30957 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30958
30959 * normal/menu.c (grub_wait_after_message): Moved to
30960 `normal/menu_text.c'.
30961 (draw_border): Likewise.
30962 (print_message): Likewise.
30963 (print_entry): Likewise.
30964 (print_entries): Likewise.
30965 (grub_menu_init_page): Likewise.
30966 (get_entry_number): Likewise.
30967 (print_timeout): Likewise.
30968 (run_menu): Likewise.
30969 (grub_menu_execute_entry): Likewise.
30970 (show_text_menu): Likewise.
30971 (get_and_remove_first_entry_number): New function.
30972 (grub_menu_execute_with_fallback): Likewise.
30973 (get_entry): Renamed to ...
30974 (grub_menu_get_entry): .. this and made it global.
30975 (get_timeout): Renamed to ...
30976 (grub_menu_get_timeout): ... this and made it global.
30977 (set_timeout): Renamed to ...
30978 (grub_menu_set_timeout): ... this and made it global.
30979 (grub_normal_terminal_menu_viewer): Renamed to ...
30980 (grub_normal_text_menu_viewer): ... this.
30981
30982 * normal/menu_text.c: New file. Extracted text-menu-specific code
30983 from normal/menu.c.
30984
30985 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30986 (normal_mod_SOURCES): Likewise.
30987
30988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30989 (normal_mod_SOURCES): Likewise.
30990
30991 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30992 (normal_mod_SOURCES): Likewise.
30993
30994 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30995 (normal_mod_SOURCES): Likewise.
30996
30997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30998 (normal_mod_SOURCES): Likewise.
30999
31000 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31001 (normal_mod_SOURCES): Likewise.
31002
31003 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31004 (normal_mod_SOURCES): Likewise.
31005
16ac430e 310062009-02-11 Robert Millan <rmh@aybabtu.com>
31007
31008 * util/grub.d/00_header.in: Update old reference to `font' command.
31009
06ff20fc 310102009-02-10 Felix Zielcke <fzielcke@z-51.de>
31011
31012 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31013
31014 Based on patch from Javier Martín.
31015
96da9407 310162009-02-09 Felix Zielcke <fzielcke@z-51.de>
31017
31018 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31019 to avoid false positives with FAT.
96da9407 31020 (grub_fstest_SOURCES): Likewise.
31021 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31022 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31027
6dca6fe4 310282009-02-09 Felix Zielcke <fzielcke@z-51.de>
31029
06ff20fc 31030 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31031 bpb.version_specific.fat12_or_fat16.fstype and
31032 bpb.version_specific.fat32.fstype.
31033
2550c62f 310342009-02-08 Robert Millan <rmh@aybabtu.com>
31035
be110b30 31036 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31037
56978920 310382009-02-08 Robert Millan <rmh@aybabtu.com>
31039
31040 * Makefile.in (host_os, host_cpu): New variables.
31041 (target_os): Remove. Update all users.
31042
d64399b5 310432009-02-08 Marco Gerards <marco@gnu.org>
31044
31045 * Makefile.in (enable_grub_emu_usb): New variable.
31046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31047 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31048 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31049 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31050 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31051 `usbtest.mod' and `usbms.mod'.
31052 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31053 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31054 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31055 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31056 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31057 variables.
31058
31059 * disk/usbms.c: New file.
31060
31061 * include/grub/usb.h: Likewise.
31062
31063 * include/grub/usbtrans.h: Likewise.
31064
31065 * include/grub/usbdesc.h: Likewise.
31066
31067 * bus/usb/usbtrans.c: Likewise.
31068
31069 * bus/usb/ohci.c: Likewise.
31070
31071 * bus/usb/uhci.c: Likewise.
31072
31073 * bus/usb/usbhub.c: Likewise.
31074
31075 * bus/usb/usb.c: Likewise.
31076
31077 * commands/usbtest.c: Likewise.
31078
31079 * util/usb.c: Likewise.
50fb7002 31080
d64399b5 31081 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31082
31083 * configure.ac: Test for libusb presence.
50fb7002 31084
d64399b5 31085 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31086
2b40d6bb 310872009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31088
31089 * kern/mm.c: Add more comments.
31090
73a4ce81 310912009-02-08 Robert Millan <rmh@aybabtu.com>
31092
31093 Patch from Javier Martín.
31094 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31095 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31096
f821ce59 310972009-02-08 Robert Millan <rmh@aybabtu.com>
31098
31099 * fs/cpio.c: Split tar functionality to ...
31100 * fs/tar.c: ... here (new file). Update all users.
31101
aebfc4b0 311022009-02-07 Robert Millan <rmh@aybabtu.com>
31103
31104 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31105 backward-incompatible features.
31106
31107 Based on patch from Javier Martín, with some adjustments.
31108
50fb7002 311092009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31110
31111 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31112
0bb5115e 311132009-02-07 Robert Millan <rmh@aybabtu.com>
31114
31115 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31116 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31117 after the RAID stuff.
31118
38a0f8e7 311192009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31120
50fb7002 31121 Fixes problem when running vbetest command as reported by
38a0f8e7 31122 Vladimir Serbinenko <phcoder@gmail.com>.
31123
31124 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31125
3143cc1c 311262009-02-04 Felix Zielcke <fzielcke@z-51.de>
31127
31128 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31129 /dev/md/NpN style mdraid devices.
31130
9cba6fce 311312009-02-03 Felix Zielcke <fzielcke@z-51.de>
31132
31133 * util/unifont2pff.rb: Remove.
31134
e507a2c1 311352009-02-03 Felix Zielcke <fzielcke@z-51.de>
31136
31137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31138 `#'.
31139
d2c2b4cd 311402009-02-03 Felix Zielcke <fzielcke@z-51.de>
31141
31142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31144 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31145 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31147 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31149
b4315fb0 311502009-02-02 Christian Franke <franke@computer.org>
31151
31152 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31153
de3aa260 311542009-02-01 Felix Zielcke <fzielcke@z-51.de>
31155
7c3ff286 31156 * INSTALL: Note that we now require at least autoconf 2.59 and
31157 that LZO is optional.
de3aa260 31158
825a182b 311592009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31160
31161 Base on patch on bug #24154 created by Tomas Tintera
31162 <trosos@seznam.cz>.
31163
31164 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31165
a69ef770 311662009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31167
7c3ff286 31168 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31169 <bero@arklinux.org>.
31170
31171 * normal/parser.y (script_init): Add missing semicolon.
31172
6fa42fa6 311732009-01-31 Colin D Bennett <colin@gibibit.com>
31174
7c3ff286 31175 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31176 (free_menu_entry_classes): Added.
31177 (grub_normal_menu_addentry): Added class property handling.
31178 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31179 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31180
31181 * normal/menu_viewer.c: New file.
31182
31183 * normal/menu.c (run_menu_entry): Renamed to ...
31184 (grub_menu_execute_entry): ... this and made it as global.
31185 (grub_menu_run): Renamed to ...
31186 (show_text_menu): ... this and made it local.
31187 (show_text_menu): Adapt to new function names.
31188 (grub_normal_terminal_menu_viewer): New global variable.
31189
31190 * include/grub/menu.h: New file.
31191
31192 * include/grub/menu_viewer.h: New file.
31193
31194 * include/grub/normal.h: Added include to grub/menu.h.
31195 (grub_menu_entry): Moved to include/grub/menu.h.
31196 (grub_menu_entry_t): Likewise.
31197 (grub_menu): Likewise.
31198 (grub_menu_t): Likewise.
31199 (grub_normal_terminal_menu_viewer): Added.
31200 (grub_menu_execute_entry): Likewise.
31201 (grub_menu_run): Removed.
31202
31203 * DISTLIST: Added include/grub/menu.h.
31204 Added include/grub/menu_viewer.h.
31205 Added normal/menu_viewer.c.
31206
312072009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31208
31209 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31210 arglist for menutitle arguments.
31211
31212 * normal/main.c (grub_normal_menu_addentry): Likewise.
31213
31214 * normal/parser.y (menuentry): Likewise.
31215
31216 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31217
31218 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31219 (grub_script_create_cmdmenu): Likewise.
31220
31221 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31222
31223 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31224 changes.
31225
31226 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31227
31228 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31229
31230 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31231
31232 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31233
31234 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31235
31236 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31237
56192c23 312382009-01-30 Christian Franke <franke@computer.org>
31239
31240 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31241 in option help text.
31242
d72521b3 312432009-01-27 Pavel Roskin <proski@gnu.org>
31244
31245 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31246
994b5e84 312472009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31248
31249 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31250
31251 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31252
31253 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31254 unregister function.
31255
6a7eab2c 312562009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31257
31258 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31259
31260 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31261
31262 * util/grub-mkfont.c (usage): Fix typo.
31263
31264 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31265
1806b56e 312662009-01-26 Daniel Mierswa <impulze@impulze.org>
31267
3fb18f09 31268 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31269
336e1fb9 31270 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31271
1806b56e 31272 * kern/misc.c (grub_strcasecmp): New function.
31273 (grub_strcasecmp): Use grub_size_t instead of int for length.
31274 Fix return value.
31275 * include/grub/misc.h: Update function prototypes.
31276
580b2a0f 312772009-01-26 Robert Millan <rmh@aybabtu.com>
31278
31279 * configure.ac: Fix cross-compilation check.
ef257b36 31280
d31c24f1 312812009-01-22 Christian Franke <franke@computer.org>
31282
31283 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31284 (precision) digit string. Allow `.format2' without `format1' (width).
31285 Limit input chars for `%s' output to `format2' if specified. This is
31286 compatible with standard printf ().
31287
3138b44c 312882009-01-22 Christian Franke <franke@computer.org>
31289
31290 * disk/ata.c (grub_ata_wait_status): Replace by ...
31291 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31292 other status bits may be invalid while BSY is asserted.
31293 (grub_ata_check_ready): New function.
31294 (grub_ata_cmd): Removed.
31295 (grub_ata_wait_drq): New function.
31296 (grub_ata_strncpy): Remove inline.
31297 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31298 and error check now done by grub_ata_wait_drq ().
31299 (grub_ata_pio_write): Likewise.
31300 (grub_atapi_identify): Set DEV before check for !BSY. Use
31301 grub_ata_wait_drq () to wait for data.
31302 (grub_ata_device_initialize): Add status register check to
31303 detect missing SATA slave devices. Add debug messages.
31304 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31305 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31306 transfer loop by grub_ata_pio_write ().
31307 (grub_ata_identify): Set DEV before check for !BSY. Use
31308 grub_ata_wait_drq () to wait for data.
ef257b36 31309 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31310 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31311 read/write in one loop. Fix invalid command on write. Fix incomplete
31312 command on (size % batch) == 0. Add missing error check after write of
31313 last block. Add debug messages.
31314 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31315
59a64ef6 313162009-01-19 Christian Franke <franke@computer.org>
31317
31318 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31319 (GRUB_ATAPI_IREASON_*): Likewise.
31320 (grub_ata_pio_write): Fix timeout error return.
31321 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31322 (grub_atapi_wait_drq): New function.
31323 (grub_atapi_packet): New parameter `size'.
31324 Use grub_atapi_wait_drq () and direct write instead of
31325 grub_ata_pio_write ().
31326 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31327 reads the number of bytes requested by the device for each DRQ
31328 assertion.
31329 (grub_atapi_write): Remove old implementation, return not
31330 implemented instead.
31331
1cfe20b3 313322009-01-19 Christian Franke <franke@computer.org>
31333
31334 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31335 of 512 to calculate data size.
31336 (grub_scsi_read12): Likewise.
31337 (grub_scsi_write10): Likewise.
31338 (grub_scsi_write12): Likewise.
31339 (grub_scsi_read): Adjust size according to blocksize.
31340 Add checks for invalid blocksize and unaligned transfer.
31341
bee5fe5d 313422009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31343
31344 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31345
ef257b36 31346 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31347 width glyphs.
31348
3e643f8c 313492009-01-19 Robert Millan <rmh@aybabtu.com>
31350
31351 * config.guess: Update to latest version from config git.
31352 * config.sub: Likewise.
31353
4fa80998 313542009-01-17 Felix Zielcke <fzielcke@z-51.de>
31355
31356 * Makefile.in: Change font compilation to use new grub-mkfont instead
31357 of java version.
31358
31359 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31360 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31361 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31362 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31363 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31364 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31365 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31366 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31367 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31368
7086085b 313692009-01-16 Christian Franke <franke@computer.org>
31370
31371 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31372 (enum grub_ata_timeout_milliseconds): New enum.
31373 (grub_ata_wait_status): Add parameter milliseconds.
31374 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31375 recovery from timed-out commands.
31376 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31377 return grub_errno instead of REG_ERROR.
31378 (grub_ata_pio_write): Add parameter milliseconds.
31379 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31380 Pass milliseconds to grub_ata_wait_status () and
31381 grub_ata_pio_read ().
31382 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31383 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31384 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31385 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31386 It is not suitable for device detection, because DEV bit is ignored,
31387 the command may run too long, and not all devices set the signature
31388 properly.
31389 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31390 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31391 Fix device selection, DEV bit must be set first to address the registers
31392 of the correct device.
31393 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31394 grub_ata_pio_read/write ().
31395 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31396 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31397
4a412913 313982009-01-13 Carles Pina i Estany <carles@pina.cat>
31399
31400 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31401
7795c55e 314022009-01-13 Bean <bean123ch@gmail.com>
d913988c 31403
31404 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31405
7795c55e 314062009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31407
31408 * Makefile.in: (enable_grub_mkfont): New variable.
31409 (freetype_cflags): Likewise.
31410 (freetype_libs): Likewise.
31411
31412 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31413 (grub_mkfont_SOURCES): New variable.
31414 (grub_mkfont_CFLAGS): Likewise.
31415 (grub_mkfont_LDFLAGS): Likewise.
31416
31417 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31418 library if `--enable-grub-mkfont' is requested.
31419 (enable_grub_mkfont): New variable.
31420 (freetype_cflags): Likewise.
31421 (freetype_libs): Likewise.
31422
31423 * util/grub-mkfont.c: New file.
31424
093af1fe 314252009-01-12 Christian Franke <franke@computer.org>
31426
31427 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31428 mode check. Fix setting of compat_use[].
31429
f36cc108 314302009-01-10 Robert Millan <rmh@aybabtu.com>
31431
31432 Update a few copyright years which we forgot to do in 2008 (only for
31433 files whose changes made in 2008 were copyright-significant)
31434
31435 * Makefile.in: Add 2008 to Copyright line.
31436 * disk/ieee1275/ofdisk.c: Likewise.
31437 * disk/efi/efidisk.c: Likewise.
31438 * kern/dl.c: Likewise.
31439 * kern/sparc64/ieee1275/init.c: Likewise.
31440 * kern/mm.c: Likewise.
31441 * kern/efi/mm.c: Likewise.
31442 * boot/i386/pc/boot.S: Likewise.
31443 * genfslist.sh: Likewise.
31444 * fs/iso9660.c: Likewise.
31445 * fs/hfs.c: Likewise.
31446 * fs/jfs.c: Likewise.
31447 * fs/minix.c: Likewise.
31448 * fs/ufs.c: Likewise.
31449 * gensymlist.sh.in: Likewise.
31450 * genkernsyms.sh.in: Likewise.
31451 * include/grub/misc.h: Likewise.
31452 * include/grub/types.h: Likewise.
31453 * include/grub/symbol.h: Likewise.
31454 * include/grub/elf.h: Likewise.
31455 * include/grub/kernel.h: Likewise.
31456 * include/grub/disk.h: Likewise.
31457 * include/grub/dl.h: Likewise.
31458 * include/grub/i386/linux.h: Likewise.
31459 * include/grub/i386/pc/biosdisk.h: Likewise.
31460 * include/grub/efi/api.h: Likewise.
31461 * include/grub/efi/pe32.h: Likewise.
31462 * include/grub/util/misc.h: Likewise.
31463 * normal/execute.c: Likewise.
31464 * normal/arg.c: Likewise.
31465 * normal/completion.c: Likewise.
31466 * normal/lexer.c: Likewise.
31467 * normal/parser.y: Likewise.
31468 * normal/misc.c: Likewise.
31469 * commands/i386/pc/vbeinfo.c: Likewise.
31470 * commands/hexdump.c: Likewise.
31471 * commands/terminal.c: Likewise.
31472 * commands/ls.c: Likewise.
31473 * commands/help.c: Likewise.
31474 * partmap/pc.c: Likewise.
31475 * loader/efi/chainloader.c: Likewise.
31476 * loader/multiboot_loader.c: Likewise.
31477 * loader/i386/pc/multiboot2.c: Likewise.
31478 * term/efi/console.c: Likewise.
31479 * term/i386/pc/serial.c: Likewise.
31480 * util/lvm.c: Likewise.
31481 * util/console.c: Likewise.
31482 * util/i386/efi/grub-mkimage.c: Likewise.
31483 * util/raid.c: Likewise.
31484
7f02114b 314852009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31486
31487 * commands/videotest.c: Removed include to grub/machine/memory.h.
31488
31489 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31490 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31491 (video_mod_SOURCES): Removed.
31492 (video_mod_CFLAGS): Likewise.
31493 (video_mod_LDFLAGS): Likewise.
31494 (gfxterm_mod_SOURCES): Likewise.
31495 (gfxterm_mod_CFLAGS): Likewise.
31496 (gfxterm_mod_LDFLAGS): Likewise.
31497 (videotest_mod_SOURCES): Likewise.
31498 (videotest_mod_CFLAGS): Likewise.
31499 (videotest_mod_LDFLAGS): Likewise.
31500 (bitmap_mod_SOURCES): Likewise.
31501 (bitmap_mod_CFLAGS): Likewise.
31502 (bitmap_mod_LDFLAGS): Likewise.
31503 (tga_mod_SOURCES): Likewise.
31504 (tga_mod_CFLAGS): Likewise.
31505 (tga_mod_LDFLAGS): Likewise.
31506 (jpeg_mod_SOURCES): Likewise.
31507 (jpeg_mod_CFLAGS): Likewise.
31508 (jpeg_mod_LDFLAGS): Likewise.
31509 (png_mod_SOURCES): Likewise.
31510 (png_mod_CFLAGS): Likewise.
31511 (png_mod_LDFLAGS): Likewise.
31512
31513 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31514 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31515 (video_mod_SOURCES): Added.
31516 (video_mod_CFLAGS): Likewise.
31517 (video_mod_LDFLAGS): Likewise.
31518 (videotest_mod_SOURCES): Likewise.
31519 (videotest_mod_CFLAGS): Likewise.
31520 (videotest_mod_LDFLAGS): Likewise.
31521 (bitmap_mod_SOURCES): Likewise.
31522 (bitmap_mod_CFLAGS): Likewise.
31523 (bitmap_mod_LDFLAGS): Likewise.
31524 (tga_mod_SOURCES): Likewise.
31525 (tga_mod_CFLAGS): Likewise.
31526 (tga_mod_LDFLAGS): Likewise.
31527 (jpeg_mod_SOURCES): Likewise.
31528 (jpeg_mod_CFLAGS): Likewise.
31529 (jpeg_mod_LDFLAGS): Likewise.
31530 (png_mod_SOURCES): Likewise.
31531 (png_mod_CFLAGS): Likewise.
31532 (png_mod_LDFLAGS): Likewise.
31533 (gfxterm_mod_SOURCES): Likewise.
31534 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31535 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31536
31537 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31538 grub/machine/console.h.
31539
644fff97 315402009-01-04 Jerone Young <jerone@gmail.com>
31541
31542 Make on screen instructions clearer
31543
31544 Based on patch created by Jidanni <jidanni@jidanni.org>
31545
31546 * normal/menu.c: print clearer instructions on the screen
31547
1e901a75 315482009-01-02 Colin D Bennett <colin@gibibit.com>
31549
31550 New font engine.
34c44600 31551
1e901a75 31552 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31553 build system and fixed gfxterm.c to work with different sized fonts.
31554
31555 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31556
1e901a75 31557 * configure: Re-generated.
34c44600 31558
1e901a75 31559 * DISTLIST: Removed font/manager.c.
31560 Added font/font.c.
31561 Added font/font_cmd.c.
34c44600 31562
1e901a75 31563 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31564 compilation.
34c44600 31565
1e901a75 31566 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31567
31568 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31569
31570 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31571
1e901a75 31572 * normal/menu.c: Likewise.
34c44600 31573
1e901a75 31574 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31575 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31576
1e901a75 31577 * include/grub/font.h: Replaced with new file.
34c44600 31578
1e901a75 31579 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31580 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31581 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31582 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31583 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31584 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31585 fg_red, fg_green, fg_blue, fg_alpha.
31586 (grub_video_adapter): Removed blit_glyph.
34c44600 31587 (grub_video_blit_glyph): Removed.
31588
1e901a75 31589 * font/manager.c: Removed file.
34c44600 31590
31591 * font/font.c: New file.
31592
1e901a75 31593 * font/font_cmd.c: Likewise.
34c44600 31594
1e901a75 31595 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31596
1e901a75 31597 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31598 (grub_video_vbe_map_rgba): Likewise.
31599 (grub_video_vbe_unmap_color_int): Likewise.
31600 (grub_video_vbe_blit_glyph): Removed.
31601 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31602
1e901a75 31603 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31604 (get_pixel): Likewise.
34c44600 31605 (set_pixel): Likewise.
31606
1e901a75 31607 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31608
1e901a75 31609 * term/gfxterm.c: Adapted to new font engine.
34c44600 31610
1e901a75 31611 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31612
1e901a75 31613 * term/i386/pc/vga.c: Likewise.
34c44600 31614
1e901a75 31615 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31616
1e901a75 31617 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31618
1e901a75 31619 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31620
1e901a75 31621 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31622
1e901a75 31623 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31624
1e901a75 31625 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31626
1e901a75 31627 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31628
1e901a75 31629 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31630
1e901a75 31631 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31632
31633 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31634
1e901a75 31635 * util/grub-mkconfig_lib.in: Changed font extension.
31636
278922e8 316372008-12-28 Felix Zielcke <fzielcke@z-51.de>
31638
31639 * util/getroot.c (grub_util_get_grub_dev): Add support for
31640 /dev/md/dNNpNN style partitionable mdraid devices.
31641
3ced05cf 316422008-12-12 Alex Smith <alex@alex-smith.me.uk>
31643
31644 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31645 at a time limit of the PXE TFTP API correctly.
31646 (grub_pxefs_close): Likewise.
31647
7fd0ee30 316482008-11-29 Robert Millan <rmh@aybabtu.com>
31649
34c44600 31650 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31651 grub_ata_device_initialize() calls.
31652
34c44600 316532008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31654
31655 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31656 iteration failed.
31657 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31658
89313780 316592008-11-28 Robert Millan <rmh@aybabtu.com>
31660
31661 Fix build on powerpc-ieee1275. Based on patch created by
31662 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31663 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31664 `kern/ieee1275/mmap.c'.
31665 * include/grub/powerpc/ieee1275/memory.h: New file.
31666
15257703 31667 Provide grub-install on coreboot.
31668 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31669 (grub_install_SOURCES): New variable.
31670 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31671 usable on coreboot.
31672
9fc5388a 316732008-11-25 Felix Zielcke <fzielcke@z-51.de>
31674
31675 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31676 to `grub_term_input_t'.
31677 (grub_term_get_current_output): Change return type to
31678 `grub_term_output_t'.
31679
bc3a2f31 316802008-11-22 Robert Millan <rmh@aybabtu.com>
31681
34c44600 31682 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31683 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31684 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31685 grub_vga_text_cls().
31686
80fc88f2 31687 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31688 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31689
cbf36fd3 31690 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31691 to 0x200000 (avoids trouble with some OFW implementations, and matches
31692 with the one in Yaboot).
31693 Reported by Manoel Abranches
31694
73e8e268 316952008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31696
31697 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31698 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31699
73e8e268 31700 * util/grub-mkconfig_lib.in (grub_warn): New function.
31701 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31702 warnings, to obtain consistent formatting.
31703 * util/grub.d/00_header.in: Likewise.
31704 * util/update-grub_lib.in: Likewise.
31705
e94045a1 31706 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31707 Move comment text to `#error' stanza.
e94045a1 31708
79d29fd7 31709 Harmonize ieee1275's grub_available_iterate() with the generic
31710 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31711 build problem on i386-ieee1275):
31712 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31713 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31714 parameter `type'. Update all users of this function.
31715 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31716 `kern/ieee1275/mmap.c'.
31717 * kern/ieee1275/init.c
31718 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31719 with ...
31720 (grub_machine_mmap_iterate): ... this.
31721 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31722 return type to `grub_err_t'. Update all implementations of this
31723 function prototype.
31724 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31725 Likewise.
31726
60d6b16e 31727 Add `lsmmap' command (lists firmware-provided memory map):
31728 * commands/lsmmap.c: New file.
31729 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31730 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31731 variables.
31732 * conf/powerpc-ieee1275.rmk: Likewise.
31733 * conf/i386-coreboot.rmk: Likewise.
31734 * conf/i386-ieee1275.rmk: Likewise.
31735
ebaaf49b 317362008-11-19 Robert Millan <rmh@aybabtu.com>
31737
31738 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31739 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31740 constraints to initrd allocation (based on code from
31741 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31742 for Linux to find it.
ebaaf49b 31743
dfab719f 317442008-11-14 Robert Millan <rmh@aybabtu.com>
31745
31746 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31747 order to cope with duplicate slashes.
31748
10fc3eb9 317492008-11-14 Robert Millan <rmh@aybabtu.com>
31750
31751 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31752 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31753 don't want to mess with lower memory, because it is used in the Linux
31754 loader.
31755
31756 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31757 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31758 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31759 is in our heap (probably as a result of it being corrupted during
2f2a3442 31760 decompression). Add #error instance with comment to explain why this
31761 loader isn't currently usable on PC/BIOS.
10fc3eb9 31762
e2e07847 317632008-11-14 Robert Millan <rmh@aybabtu.com>
31764
31765 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31766 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31767
fe8e8d69 317682008-11-12 Robert Millan <rmh@aybabtu.com>
31769
31770 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31771
31772 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31773 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31774 from here ...
31775 * include/grub/i386/pc/memory.h: ... to here.
31776
976b07d0 317772008-11-12 Robert Millan <rmh@aybabtu.com>
31778
31779 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31780 split).
31781
31782 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31783 (grub_console_cur_color, grub_console_real_putchar)
31784 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31785 (grub_console_setcolorstate, grub_console_setcolor)
31786 (grub_console_getcolor): Move from here ...
31787 * include/grub/i386/vga_common.h: ... to here (new file).
31788
31789 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31790 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31791 `<grub/i386/io.h>'.
31792 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31793 `<grub/i386/vga_common.h>'.
31794
76679cd3 317952008-11-12 Robert Millan <rmh@aybabtu.com>
31796
31797 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31798 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31799 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31800 variables.
31801 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31802 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31803
31804 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31805 grub_console_init() with call to grub_vga_text_init().
31806 (grub_machine_fini): Replace call to
31807 grub_console_fini() with call to grub_vga_text_fini() and
31808 grub_at_keyboard_fini().
31809
31810 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31811 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31812 (grub_console_setcolorstate, grub_console_setcolor)
31813 (grub_console_getcolor): New function prototypes.
31814
31815 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31816 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31817 (grub_vga_text_setcursor): Static-ize.
31818 (grub_vga_text_term): New structure.
31819 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31820
31821 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31822 (grub_console_cur_color, grub_console_standard_color)
31823 (grub_console_normal_color, grub_console_highlight_color)
31824 (map_char, grub_console_putchar, grub_console_getcharwidth)
31825 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31826 (grub_console_getcolor): Move from here ...
31827 * term/i386/vga_common.c: ... to here (same function names).
31828
95b841d3 318292008-11-12 Robert Millan <rmh@aybabtu.com>
31830
31831 Use newly-added Multiboot support in coreboot.
31832
31833 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31834 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31835
31836 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31837 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31838 (codestart): Store the MBI in `startup_multiboot_info' when we're
31839 being loaded using Multiboot.
31840
31841 * kern/i386/coreboot/init.c (grub_machine_init): Move
31842 grub_at_keyboard_init() call to beginning of function (useful for
31843 debugging). Call grub_machine_mmap_init() before attempting to use
31844 grub_machine_mmap_iterate().
31845 (grub_lower_mem, grub_upper_mem): Move from here ...
31846 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31847 here (new file).
31848
31849 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31850 function prototype.
31851
761ca975 318522008-11-12 Robert Millan <rmh@aybabtu.com>
31853
31854 Fix a regression introduced by the at_keyboard.mod split. Because
31855 some terminals are default on some platforms and non-default on
31856 others, the first terminal being registered determines which is
31857 going to be default.
31858
31859 * kern/term.c (grub_term_register_input): If this is the first
31860 terminal being registered, set it as the current one.
31861 (grub_term_register_output): Likewise.
31862
31863 * term/efi/console.c (grub_console_init): Do not call
31864 grub_term_set_current_output() or grub_term_set_current_input().
31865 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31866 * term/i386/pc/console.c (grub_console_init): Likewise.
31867 (grub_console_fini): Do not call grub_term_set_current_input()
31868 (but leave grub_term_set_current_output() to restore text mode).
31869
6c529df7 318702008-11-10 Robert Millan <rmh@aybabtu.com>
31871
31872 * util/grub.d/00_header.in: Add backward compatibility check for
31873 versions of terminal.mod that don't understand `terminal_input' or
31874 `terminal_output'.
31875
132e4113 318762008-11-09 Robert Millan <rmh@aybabtu.com>
31877
31878 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31879 `terminal_input' / `terminal_output', not `terminal'.
31880
ac293d50 318812008-11-08 Robert Millan <rmh@aybabtu.com>
31882
31883 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31884 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31885
0025933a 318862008-11-08 Robert Millan <rmh@aybabtu.com>
31887
31888 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31889 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31890 members. Update all users.
31891 * util/console.c (grub_ncurses_term): Split in ...
31892 (grub_ncurses_term_input): ... this, and ...
31893 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31894 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31895
37c86336 318962008-11-08 Robert Millan <rmh@aybabtu.com>
31897
31898 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31899 (PKGDATA): Add $(pkgdata_SRCDIR).
31900 (pkglib_BUILDDIR): New variable.
31901 (pkgdata_SRCDIR): New variable.
31902 (build_env.mk): New target.
31903 (include_DATA): New variable.
31904 (install-local): Install $(include_DATA) files in $(includedir).
31905
b6c15a2d 319062008-11-07 Pavel Roskin <proski@gnu.org>
31907
d99d46f1 31908 * gendistlist.sh: Use C locale for sorting to ensure consistent
31909 output on all systems.
31910
b6c15a2d 31911 * util/grub.d/00_header.in: Remove incorrect space before
31912 "serial".
31913
c32ee8c9 319142008-11-07 Robert Millan <rmh@aybabtu.com>
31915
31916 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31917 per specification.
31918 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31919 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31920 (based on find_multi_boot1_header).
31921 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31922 using find_multi_boot2_header(), and abort if neither Multiboot or
31923 Multiboot headers were found.
31924
651c29b7 319252008-11-07 Robert Millan <rmh@aybabtu.com>
31926
31927 Modularize at_keyboard.mod:
31928
31929 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31930 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31931 (at_keyboard_mod_LDFLAGS): New variables.
31932
31933 Actual terminal split:
31934
31935 * include/grub/term.h (struct grub_term): Split in ...
31936 (struct grub_term_input): ... this, and ...
31937 (struct grub_term_output): ... this. Update all users.
31938 (grub_term_set_current): Split in ...
31939 (grub_term_set_current_input): ... this, and ...
31940 (grub_term_set_current_output): ... this.
31941 (grub_term_get_current): Split in ...
31942 (grub_term_get_current_input): ... this, and ...
31943 (grub_term_get_current_output): ... this.
31944 (grub_term_register): Split in ...
31945 (grub_term_register_input): ... this, and ...
31946 (grub_term_register_output): ... this.
31947 (grub_term_unregister): Split in ...
31948 (grub_term_unregister_input): ... this, and ...
31949 (grub_term_unregister_output): ... this.
31950 (grub_term_iterate): Split in ...
31951 (grub_term_iterate_input): ... this, and ...
31952 (grub_term_iterate_output): ... this.
31953
31954 * kern/term.c (grub_term_list): Split in ...
31955 (grub_term_list_input): ... this, and ...
31956 (grub_term_list_output): ... this. Update all users.
31957 (grub_cur_term): Split in ...
31958 (grub_cur_term_input): ... this, and ...
31959 (grub_cur_term_output): ... this. Update all users.
31960 (grub_term_set_current): Split in ...
31961 (grub_term_set_current_input): ... this, and ...
31962 (grub_term_set_current_output): ... this.
31963 (grub_term_get_current): Split in ...
31964 (grub_term_get_current_input): ... this, and ...
31965 (grub_term_get_current_output): ... this.
31966 (grub_term_register): Split in ...
31967 (grub_term_register_input): ... this, and ...
31968 (grub_term_register_output): ... this.
31969 (grub_term_unregister): Split in ...
31970 (grub_term_unregister_input): ... this, and ...
31971 (grub_term_unregister_output): ... this.
31972 (grub_term_iterate): Split in ...
31973 (grub_term_iterate_input): ... this, and ...
31974 (grub_term_iterate_output): ... this.
31975
31976 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31977 a check for input and one for output (and only attempt to get keys
31978 from user when input works).
31979
31980 * util/grub-probe.c (grub_term_get_current): Split in ...
31981 (grub_term_get_current_input): ... this, and ...
31982 (grub_term_get_current_output): ... this.
31983 * util/grub-fstest.c: Likewise.
31984 * util/i386/pc/grub-setup.c: Likewise.
31985 * util/grub-editenv.c: Likewise.
31986
31987 Portability adjustments:
31988
31989 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31990 `term/i386/pc/at_keyboard.c'.
31991 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31992 grub_keyboard_controller_init() (now handled by terminal .init).
31993 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31994 grub_at_keyboard_init().
31995 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31996 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31997 at_keyboard.mod via input terminal interface).
31998 * include/grub/i386/coreboot/console.h: Convert into a stub for
31999 `<grub/i386/pc/console.h>'.
32000
32001 Migrate full terminals to new API:
32002
32003 * term/efi/console.c (grub_console_term): Split into ...
32004 (grub_console_term_input): ... this, and ...
32005 (grub_console_term_output): ... this. Update all users.
32006 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32007 (grub_ofconsole_init): Split into ...
32008 (grub_ofconsole_init_input): ... this, and ...
32009 (grub_ofconsole_init_output): ... this.
32010 (grub_ofconsole_term): Split into ...
32011 (grub_ofconsole_term_input): ... this, and ...
32012 (grub_ofconsole_term_output): ... this. Update all users.
32013 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32014 (grub_serial_term_input): ... this, and ...
32015 (grub_serial_term_output): ... this. Update all users.
32016 * term/i386/pc/console.c (grub_console_term): Split into ...
32017 (grub_console_term_input): ... this, and ...
32018 (grub_console_term_output): ... this. Update all users.
32019 (grub_console_term_input): Only enable it on PC/BIOS platform.
32020 (grub_console_init): Remove grub_keyboard_controller_init() call.
32021
32022 Migrate input terminals to new API:
32023
32024 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32025 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32026 i386-specific anyway).
32027 (grub_console_checkkey): Rename to ...
32028 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32029 users.
32030 (grub_keyboard_controller_orig): New variable.
32031 (grub_console_getkey): Rename to ...
32032 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32033 users.
32034 (grub_keyboard_controller_init): Static-ize. Save original
32035 controller value so that it can be restored ...
32036 (grub_keyboard_controller_fini): ... here (new function).
32037 (grub_at_keyboard_term): New structure.
32038 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32039 functions.
32040
32041 Migrate output terminals to new API:
32042
32043 * term/i386/pc/vga.c (grub_vga_term): Change type to
32044 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32045 members. Update all users.
32046 * term/gfxterm.c (grub_video_term): Change type to
32047 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32048 members. Update all users.
32049 * include/grub/i386/pc/console.h (grub_console_checkkey)
32050 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32051 etc).
32052
32053 Migrate `terminal' command and userland tools to new API:
32054
32055 * commands/terminal.c (grub_cmd_terminal): Split into ...
32056 (grub_cmd_terminal_input): ... this, and ...
32057 (grub_cmd_terminal_output): ... this.
32058 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32059 `terminal_input' and `terminal_output'.
32060 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32061 `terminal_input' / `terminal_output' API.
32062 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32063 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32064 provided ${GRUB_TERMINAL}, convert it).
32065
96e5d876 320662008-11-04 Robert Millan <rmh@aybabtu.com>
32067
32068 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32069 for FreeBSD.
32070 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32071
556f3775 320722008-11-03 Bean <bean123ch@gmail.com>
32073
32074 * kern/elf.c (grub_elf32_load): Revert to previous code.
32075 (grub_elf64_load): Likewise.
32076
32077 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32078
926b9823 320792008-11-01 Robert Millan <rmh@aybabtu.com>
32080
32081 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32082 (TARGET_CPPFLAGS): Likewise.
32083 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32084
1432e958 320852008-11-01 Carles Pina i Estany <carles@pina.cat>
32086
32087 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32088
dba3f844 320892008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32090
32091 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32092 addition of objects until the code is not going to be able to fail.
32093
dba3f844 320942008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32095
32096 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32097 (add a missing NULL check, and correct them by moving the pointer
32098 operations after the actual check).
32099
7ab28c21 321002008-10-29 Robert Millan <rmh@aybabtu.com>
32101
32102 * util/i386/pc/grub-install.in: Handle empty string as output from
32103 make_system_path_relative_to_its_root().
32104
1b7748eb 321052008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32106
32107 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32108 circular metadata worst case scenario. If the metadata is circular
32109 then copy the wrap in place.
32110 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32111 project lib/format_text/layout.h
32112 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32113
c9618ab2 321142008-10-03 Felix Zielcke <fzielcke@z-51.de>
32115
7a36edca 32116 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32117
bf981c62 321182008-10-03 Felix Zielcke <fzielcke@z-51.de>
32119
32120 * util/update-grub_lib.in: Mention filename in warning message.
32121
6d994591 321222008-09-29 Felix Zielcke <fzielcke@z-51.de>
32123
32124 * NEWS: Update for rename of update-grub to grub-mkconfig.
32125
18ade780 321262008-09-29 Felix Zielcke <fzielcke@z-51.de>
32127
32128 * util/update-grub_lib.in: Copy to ...
32129 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32130 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32131 * util/update-grub.in: Rename to ...
32132 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32133 option. Add `--output' option to allow users to specify the generated
32134 configuration file. Default to stdout.
32135 (update_grub_dir): Rename to ...
32136 (grub_mkconfig_dir): ... this.
32137 (grub_cfg): Default to an empty string.
32138 * conf/common.rmk (update-grub): Rename to ...
32139 (grub-mkconfig): ... this.
32140 (update-grub_lib): Copy to ...
32141 (grub-mkconfig_lib): ... this.
32142 (update-grub_SCRIPTS): Copy to ...
32143 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32144 (update-grub_DATA): Rename to ...
32145 (grub-mkconfig_DATA): ... this.
32146
556ce6ac 321472008-09-28 Robert Millan <rmh@aybabtu.com>
32148
32149 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32150 to `modified'. Add the real `created' field.
32151 (grub_iso9660_uuid): Use `modified' rather than `created' for
32152 constructing the UUID.
32153
321542008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32155
32156 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32157 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32158
92274e85 321592008-09-28 Bean <bean123ch@gmail.com>
32160
32161 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32162 Thanks to Christian Franke for finding this bug.
32163
add6f17a 321642008-09-25 Robert Millan <rmh@aybabtu.com>
32165
32166 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32167 instances of grub_util_get_disk_name() (see previous commit).
32168
d2a367b8 321692008-09-25 Robert Millan <rmh@aybabtu.com>
32170
32171 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32172 `util/i386/get_disk_name.c'.
32173 * conf/i386-efi.rmk: Likewise.
32174 * conf/x86_64-efi.rmk: Likewise.
32175 * conf/i386-coreboot.rmk: Likewise.
32176 * conf/i386-ieee1275.rmk: Likewise.
32177 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32178 `util/ieee1275/get_disk_name.c'.
32179 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32180 * util/ieee1275/get_disk_name.c: Remove file.
32181 * util/i386/get_disk_name.c: Remove file.
32182 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32183 "hd%d" for device.map entries, rather than using
32184 grub_util_get_disk_name().
32185
81a06771 321862008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32187
32188 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32189 warning.
32190 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32191
5a004279 321922008-09-24 Carles Pina i Estany <carles@pina.cat>
32193
32194 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32195 Changed to 0x5100.
32196 (GRUB_TERM_PPAGE): Changed to 0x4900.
32197
397093d3 321982008-09-24 Robert Millan <rmh@aybabtu.com>
32199
32200 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32201 macros (they were i386-pc specific).
32202 * include/grub/sparc64/ieee1275/console.h: Likewise.
32203 * include/grub/efi/console.h: Likewise.
32204
a91b6c7c 322052008-09-22 Bean <bean123ch@gmail.com>
32206
32207 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32208 resident and in attribute list.
32209
32210 * include/grub/ntfs.h (BMP_LEN): Removed.
32211
c40fd116 322122008-09-22 Bean <bean123ch@gmail.com>
32213
81a06771 32214 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32215 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32216
32217 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32218 error occurs, as grub_disk_open will call grub_disk_close, which will
32219 call p->close (scsi).
32220
81a06771 322212008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32222
32223 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32224 (AC_PREREQ): Bumped to 2.59.
32225 (AC_TRY_COMPILE): Replace obsolete macro with ...
32226 (AC_COMPILE_IFELSE): ... this.
32227 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32228 (AC_LINK_IFELSE): ... this.
32229
5dc43410 322302008-09-21 Felix Zielcke <fzielcke@z-51.de>
32231
32232 * autogen.sh: Add a call to `gendistlist.sh'.
32233
9035dce4 322342008-09-19 Christian Franke <franke@computer.org>
32235
32236 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32237 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32238 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32239 Export __enable_execute_stack() to modules.
32240 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32241 New function.
32242
7fd75377 322432008-09-09 Felix Zielcke <fzielcke@z-51.de>
32244
040030b3 32245 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32246 Sort the list.
32247
322482008-09-09 Felix Zielcke <fzielcke@z-51.de>
32249
32250 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32251 #include <grub/util/hostdisk.h>.
32252
89d5ffcf 322532008-09-08 Robert Millan <rmh@aybabtu.com>
32254
32255 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32256 segments when their filesz is zero (grub_file_read() interprets
81a06771 32257 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32258 Use `lowest_segment' rather than 0 for calculating the current
32259 segment load address.
32260
40da438f 322612008-09-08 Robert Millan <rmh@aybabtu.com>
32262
32263 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32264 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32265 clobbered useful information.
32266
ddbf5556 322672008-09-08 Robert Millan <rmh@aybabtu.com>
32268
32269 * include/grub/util/biosdisk.h: Move to ...
32270 * include/grub/util/hostdisk.h: ... here. Update all users.
32271 * util/biosdisk.c: Move to ...
32272 * util/hostdisk.c: ... here. Update all users.
32273
783d0f48 322742008-09-07 Robert Millan <rmh@aybabtu.com>
32275
32276 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32277 variables.
32278 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32279 and length can be stored directly in the `mbi->mmap_addr' and
32280 `mbi->mmap_length' struct fields.
32281
548e2ea5 322822008-09-07 Robert Millan <rmh@aybabtu.com>
32283
32284 * conf/i386.rmk: New file. Provides declaration for building
32285 `cpuid.mod'.
32286 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32287 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32288 variables.
32289 Include `conf/i386.mk'.
32290 * conf/i386-efi.rmk: Likewise.
32291 * conf/x86_64-efi.rmk: Likewise.
32292 * conf/i386-coreboot.rmk: Likewise.
32293 * conf/i386-ieee1275.rmk: Likewise.
32294
0ea85a37 322952008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32296
32297 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32298 Adds optimization support for BGR based modes.
32299
32300 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32301 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32302 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32303 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32304 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32305 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32306 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32307 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32308 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32309 (grub_video_i386_vbeblit_index_index): Likewise.
32310 (grub_video_i386_vbeblit_replace_directN): Added.
32311 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32312 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32313 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32314 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32315 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32316 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32317 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32318 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32319 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32320 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32321 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32322 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32323 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32324
32325 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32326 (grub_video_i386_vbefill_R8G8B8): Likewise.
32327 (grub_video_i386_vbefill_index): Likewise.
32328 (grub_video_i386_vbefill_direct32): Added.
32329 (grub_video_i386_vbefill_direct24): Likewise.
32330 (grub_video_i386_vbefill_direct16): Likewise.
32331 (grub_video_i386_vbefill_direct8): Likewise.
32332
81a06771 32333 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32334 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32335 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32336 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32337 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32338 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32339
0ea85a37 32340 * video/video.c (grub_video_get_blit_format): Updated to use new
32341 blit formats. Added handling for 16 bit color modes.
81a06771 32342
32343 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32344 fillers.
32345 (common_blitter): Updated to use new blitters.
32346
32347 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32348 Removed.
32349 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32350 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32351 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32352 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32353 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32354 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32355 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32356 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32357 (grub_video_i386_vbeblit_index_index): Likewise.
32358 (grub_video_i386_vbeblit_replace_directN): Added.
32359 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32360 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32361 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32362 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32363 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32364 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32365 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32366 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32367 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32368 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32369 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32370 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32371 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32372
0ea85a37 32373 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32374 (grub_video_i386_vbefill_R8G8B8): Likewise.
32375 (grub_video_i386_vbefill_index): Likewise.
32376 (grub_video_i386_vbefill_direct32): Added.
32377 (grub_video_i386_vbefill_direct24): Likewise.
32378 (grub_video_i386_vbefill_direct16): Likewise.
32379 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32380
0ea85a37 32381 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32382 types.
81a06771 32383
0ea85a37 32384 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32385 types.
81a06771 32386
0ea85a37 32387 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32388 blitter types.
81a06771 32389
0ea85a37 32390 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32391 types.
32392
e8a83df6 323932008-09-06 Felix Zielcke <fzielcke@z-51.de>
32394
32395 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32396 RAID level 1.
32397
6bcd8ee5 323982008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32399
6bcd8ee5 32400 * fs/iso9660.c (grub_iso9660_date): New structure.
32401 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32402 (grub_iso9660_uuid): New function.
c375ae58 32403
59261157 324042008-09-05 Bean <bean123ch@gmail.com>
32405
32406 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32407
32408 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32409 insensitive bit for names in Win32 and Win32 & DOS namespace.
32410
32411 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32412
32413 * include/grub/types.h (LONG_MAX): Likewise.
32414
58b6645a 324152008-09-04 Felix Zielcke <fzielcke@z-51.de>
32416
4ee55921 32417 * util/getroot.c: Include <config.h>.
32418 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32419 add support for /dev/md/N devices and handle LVM double dash escaping.
32420
324212008-09-04 Felix Zielcke <fzielcke@z-51.de>
32422
32423 * config.guess: Update to latest version from config git.
32424 * config.sub: Likewise.
58b6645a 32425
9124f65d 324262008-09-03 Robert Millan <rmh@aybabtu.com>
32427
32428 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32429 `disk->total_sectors'.
32430
81a06771 324312008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32432
32433 * include/grub/normal.h: Fixed incorrect comment for
32434 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32435
81a06771 324362008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32437
32438 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32439 values with defines.
32440
32441 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32442 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32443 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32444 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32445 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32446 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32447 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32448 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32449 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32450 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32451 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32452 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32453 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32454 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32455 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32456 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32457 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32458 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32459 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32460
93d5cbf8 324612008-08-31 Robert Millan <rmh@aybabtu.com>
32462
32463 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32464 declaration.
32465 (grub_multiboot): Fix a few warnings.
32466
21751d50 324672008-08-31 Robert Millan <rmh@aybabtu.com>
32468
32469 * loader/i386/pc/multiboot.c: Update comment not to say that
32470 boot_device support is unimplemented.
32471
e27a75c5 324722008-08-31 Robert Millan <rmh@aybabtu.com>
32473
32474 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32475 or memory map support are unimplemented.
32476
81a06771 324772008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32478
32479 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32480
81a06771 324812008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32482
32483 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32484 total video memory in 'vbeinfo' output; show color format details for
32485 each video mode.
32486
7c5d8d95 324872008-08-30 Pavel Roskin <proski@gnu.org>
32488
32489 * util/genmoddep.c: Remove for real this time.
32490 * DISTLIST: Remove util/genmoddep.c.
32491
4cebd25a 324922008-08-30 Robert Millan <rmh@aybabtu.com>
32493
32494 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32495 as required by Multiboot spec (it was already 4-byte aligned, but
32496 only by chance).
32497
b497a269 324982008-08-29 Pavel Roskin <proski@gnu.org>
32499
e3925185 32500 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32501 * kern/powerpc/ieee1275/startup.S: ... this.
32502 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32503 * DISTLIST: Likewise.
32504
b497a269 32505 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32506 grub/cpu/kernel.h. Add start label for consistency with other
32507 platforms. Add grub_prefix immediately after start. Add jump
32508 to the code after grub_prefix.
32509 * include/grub/powerpc/kernel.h: Provide valid values for
32510 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32511
6e5a42fe 325122008-08-29 Bean <bean123ch@gmail.com>
32513
32514 * configure.ac: Change host_os to cygwin for mingw.
32515 (asprintf): New check for function.
32516
32517 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32518 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32519
32520 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32521 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32522 sync, sleep and grub_util_get_disk_size for mingw.
32523
32524 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32525 to get size in mingw.
32526 (open_device): Use flag O_BINARY if it's defined.
32527 (find_root_device): Add dummy code for mingw.
32528
32529 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32530 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32531 (get_scsi_disk_name): Return 0 for mingw.
32532
32533 * util/hostfs.c: #include <grub/util/misc.h>.
32534 (grub_hostfs_open): Use "rb" flag to open file, use
32535 grub_util_get_disk_size to get disk size for mingw.
32536
32537 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32538 (asprintf): New function if HAVE_ASPRINTF is not set.
32539 (sync): New function for mingw.
32540 (sleep): Likewise.
32541 (grub_util_get_disk_size): Likewise.
32542
ab3f2673 325432008-08-28 Pavel Roskin <proski@gnu.org>
32544
32545 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32546 kern/time.c.
32547
1c282483 325482008-08-28 Robert Millan <rmh@aybabtu.com>
32549
32550 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32551
678e849c 325522008-08-28 Robert Millan <rmh@aybabtu.com>
32553
32554 Change find_grub_drive() syntax so it doesn't prevent it from
32555 detecting NULL names as errors.
32556
32557 * util/biosdisk.c (find_grub_drive): Move free slot search code
32558 from here ...
32559 (find_free_slot): ... to here.
32560 (read_device_map): Use find_free_slot() to search for free slots.
32561
965c75ca 325622008-08-27 Marco Gerards <marco@gnu.org>
32563
32564 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32565 (scsi_mod_SOURCES): New variable.
32566 (scsi_mod_CFLAGS): Likewise
32567 (scsi_mod_LDFLAGS): Likewise.
32568
32569 * disk/scsi.c: New file.
32570
32571 * include/grub/scsi.h: Likewise.
32572
32573 * include/grub/scsicmd.h: Likewise.
32574
32575 * disk/ata.c: Include <grub/scsi.h>.
32576 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32577 instead.
32578 (grub_ata_iterate): Skip ATAPI devices.
32579 (grub_ata_open): Only handle ATAPI devices.
32580 (struct grub_atapi_read): Removed.
32581 (grub_atapi_readsector): Likewise.
32582 (grub_ata_read): No longer handle ATAPI devices.
32583 (grub_ata_write): Likewise.
32584 (grub_atapi_iterate): New function.
32585 (grub_atapi_read): Likewise.
32586 (grub_atapi_write): Likewise.
32587 (grub_atapi_open): Likewise.
32588 (grub_atapi_close): Likewise.
32589 (grub_atapi_dev): New variable.
32590 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32591 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32592
32593 * include/grub/disk.h (enum grub_disk_dev_id): Add
32594 `GRUB_DISK_DEVICE_SCSI_ID'.
32595
c07ae501 325962008-08-26 Robert Millan <rmh@aybabtu.com>
32597
32598 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32599 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32600 descriptive.
32601
5ed20adc 326022008-08-23 Bean <bean123ch@gmail.com>
32603
32604 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32605 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32606 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32607 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32608 dm_nv.mod.
32609 (raid5rec_mod_SOURCES): New macro.
32610 (raid5rec_mod_CFLAGS): Likewise.
32611 (raid5rec_mod_LDFLAGS): Likewise.
32612 (raid6rec_mod_SOURCES): Likewise.
32613 (raid6rec_mod_CFLAGS): Likewise.
32614 (raid6rec_mod_LDFLAGS): Likewise.
32615 (mdraid_mod_SOURCES): Likewise.
32616 (mdraid_mod_CFLAGS): Likewise.
32617 (mdraid_mod_LDFLAGS): Likewise.
32618 (dm_nv_mod_SOURCES): Likewise.
32619 (dm_nv_mod_CFLAGS): Likewise.
32620 (dm_nv_mod_LDFLAGS): Likewise.
32621
32622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32623 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32624 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32625
32626 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32627 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32628
32629 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32630
32631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32632
32633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32634
32635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32636
32637 * disk/raid5_recover.c: New file.
32638
32639 * disk/raid6_recover.c: Likewise.
32640
32641 * disk/mdraid_linux.c: Likewise.
32642
32643 * disk/dmraid_nvidia.c: Likewise.
32644
32645 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32646 ULONG_MAX.
32647
32648 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32649 calculate the size of raid device.
32650 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32651 different layout of raid5.
32652 (grub_raid_scan_device): Remove code specific to mdraid.
32653 (grub_raid_list): New variable.
32654 (free_array): New function.
32655 (grub_raid_register): Likewise.
32656 (grub_raid_unregister): Likewise.
32657 (grub_raid_rescan): Likewise.
32658 (GRUB_MOD_INIT): Don't iterate device here.
32659 (GRUB_MOD_FINI): Use free_array to release resource.
32660
32661 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32662 (grub_raid5_recover_func_t): New function variable type.
32663 (grub_raid6_recover_func_t): Likewise.
32664 (grub_raid5_recover_func): New variable.
32665 (grub_raid6_recover_func): Likewise.
32666 (grub_raid_register): New function.
32667 (grub_raid_unregister): Likewise.
32668 (grub_raid_rescan): Likewise.
32669 (grub_raid_block_xor): Likewise.
32670
32671 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32672 (CMD_CRC): New macro.
32673 (part): Removed.
32674 (read_file): Handle device as well as file.
32675 (cmd_crc): New function.
32676 (fstest): Handle multiple disks.
32677 (options): Remove part, raw and long, add root and diskcount.
32678 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32679 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32680 add handling for the new options, support multiple disks.
32681
32682 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32683
29c18915 326842008-08-23 Bean <bean123ch@gmail.com>
32685
32686 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32687
32688 * genfslist.sh: Ignore kernel.mod.
32689
32690 * genpartmaplist.sh: Likewise.
32691
8415f261 326922008-08-23 Robert Millan <rmh@aybabtu.com>
32693
32694 * util/getroot.c (find_root_device): Skip anything that starts with
32695 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32696
d5a7dc5b 326972008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32698
d5a7dc5b 32699 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32700 * util/grub.d/00_header.in: Allow the administrator to change default
32701 gfxmode via ${GRUB_GFXMODE}.
32702
380cfbb4 327032008-08-21 Felix Zielcke <fzielcke@z-51.de>
32704
32705 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32706
c9baafe7 327072008-08-21 Robert Millan <rmh@aybabtu.com>
32708
32709 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32710 loader.
32711 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32712 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32713
e290bef2 327142008-08-20 Carles Pina i Estany <carles@pina.cat>
32715
32716 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32717 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32718
f9dbfc96 327192008-08-19 Robert Millan <rmh@aybabtu.com>
32720
32721 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32722 (struct grub_virtual_screen): Remove `cursor_color'.
32723 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32724 initialization.
32725 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32726
dd6bd6ab 327272008-08-18 Robert Millan <rmh@aybabtu.com>
32728
32729 Unify (identical) linux_normal.c files.
32730 * loader/i386/efi/linux_normal.c: Move from here ...
32731 * loader/linux_normal.c: ... to here. Update all users.
32732 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32733 * loader/i386/ieee1275/linux_normal.c: Likewise.
32734
7f42f83e 327352008-08-18 Robert Millan <rmh@aybabtu.com>
32736
32737 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32738 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32739 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32740 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32741 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32742 New macros.
32743 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32744 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32745 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32746 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32747 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32748 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32749 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32750 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32751 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32752 portably using grub_getxy().
32753 Replace `-EFI' with `-bzImage' in boot message.
32754
38487ddb 327552008-08-17 Robert Millan <rmh@aybabtu.com>
32756
32757 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32758
deceb3ec 327592008-08-17 Robert Millan <rmh@aybabtu.com>
32760
32761 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32762
32763 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32764 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32765 (grub_machine_mmap_iterate): New function declaration.
32766 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32767 structure.
32768 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32769 macros.
32770
32771 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32772 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32773 Move e820 parsing from here ...
32774 * kern/i386/pc/mmap.c: New file.
32775 (grub_machine_mmap_iterate): ... to here.
32776
32777 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32778 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32779 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32780 (grub_available_iterate): Redeclare to return `void', and redeclare
32781 its hook to use grub_uint64_t as addr and size parameters, and rename
32782 to ...
32783 (grub_machine_mmap_iterate): ... this. Update all users.
32784
32785 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32786 to make it more readable. Rename to ...
32787 (grub_machine_mmap_iterate): ... this.
32788
32789 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32790 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32791 (grub_multiboot): Allocate an extra region after the payload, and fill
32792 it with a Multiboot memory map. Adjust a.out loader to calculate size
32793 with the extra space.
32794 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32795 with the extra space.
32796
f8aa0f43 327972008-08-17 Carles Pina i Estany <carles@pina.cat>
32798
9807deb9 32799 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32800
605f5bb6 328012008-08-17 Felix Zielcke <fzielcke@z-51.de>
32802
32803 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32804 mdate-sh to the list `find' searches for.
32805 * DISTLIST: Regenerated.
32806
210db6c6 328072008-08-16 Felix Zielcke <fzielcke@z-51.de>
32808
32809 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32810 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32811 genmoddep.awk, gensymlist.sh.in.
32812 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32813 * DISTLIST: Regenerated.
48cdbfd4 32814 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32815
1082b929 328162008-08-16 Robert Millan <rmh@aybabtu.com>
32817
32818 * disk/raid.c (grub_raid_init): Handle/report errors set by
32819 grub_device_iterate().
32820 * disk/lvm.c (grub_lvm_init): Likewise.
32821
42ce5170 328222008-08-15 Bean <bean123ch@gmail.com>
32823
32824 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32825 and datehook.mod.
32826 (datetime_mod_SOURCES): New macro.
32827 (datetime_mod_CFLAGS): Likewise.
32828 (datetime_mod_LDFLAGS): Likewise.
32829 (date_mod_SOURCES): Likewise.
32830 (date_mod_CFLAGS): Likewise.
32831 (date_mod_LDFLAGS): Likewise.
32832 (datehook_mod_SOURCES): Likewise.
32833 (datehook_mod_CFLAGS): Likewise.
32834 (datehook_mod_LDFLAGS): Likewise.
32835
32836 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32837 and datehook.mod.
32838 (datetime_mod_SOURCES): New macro.
32839 (datetime_mod_CFLAGS): Likewise.
32840 (datetime_mod_LDFLAGS): Likewise.
32841 (date_mod_SOURCES): Likewise.
32842 (date_mod_CFLAGS): Likewise.
32843 (date_mod_LDFLAGS): Likewise.
32844 (datehook_mod_SOURCES): Likewise.
32845 (datehook_mod_CFLAGS): Likewise.
32846 (datehook_mod_LDFLAGS): Likewise.
32847
32848 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32849 and datehook.mod.
32850 (datetime_mod_SOURCES): New macro.
32851 (datetime_mod_CFLAGS): Likewise.
32852 (datetime_mod_LDFLAGS): Likewise.
32853 (date_mod_SOURCES): Likewise.
32854 (date_mod_CFLAGS): Likewise.
32855 (date_mod_LDFLAGS): Likewise.
32856 (datehook_mod_SOURCES): Likewise.
32857 (datehook_mod_CFLAGS): Likewise.
32858 (datehook_mod_LDFLAGS): Likewise.
32859
32860 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32861 and datehook.mod.
32862 (datetime_mod_SOURCES): New macro.
32863 (datetime_mod_CFLAGS): Likewise.
32864 (datetime_mod_LDFLAGS): Likewise.
32865 (date_mod_SOURCES): Likewise.
32866 (date_mod_CFLAGS): Likewise.
32867 (date_mod_LDFLAGS): Likewise.
32868 (datehook_mod_SOURCES): Likewise.
32869 (datehook_mod_CFLAGS): Likewise.
32870 (datehook_mod_LDFLAGS): Likewise.
32871
32872 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32873 and datehook.mod.
32874 (datetime_mod_SOURCES): New macro.
32875 (datetime_mod_CFLAGS): Likewise.
32876 (datetime_mod_LDFLAGS): Likewise.
32877 (date_mod_SOURCES): Likewise.
32878 (date_mod_CFLAGS): Likewise.
32879 (date_mod_LDFLAGS): Likewise.
32880 (datehook_mod_SOURCES): Likewise.
32881 (datehook_mod_CFLAGS): Likewise.
32882 (datehook_mod_LDFLAGS): Likewise.
32883
32884 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32885
32886 * commands/date.c: New file.
32887
32888 * hook/datehook.c: Likewise.
32889
32890 * include/grub/lib/datetime.h: Likewise.
32891
32892 * include/grub/i386/cmos.h: Likewise.
32893
32894 * lib/datetime.c: Likewise.
32895
32896 * lib/i386/datetime.c: Likewise.
32897
32898 * lib/efi/datetime.c: Likewise.
32899
0e9242da 329002008-08-14 Robert Millan <rmh@aybabtu.com>
32901
32902 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32903 (grub_mkelfimage_SOURCES): New variable.
32904 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32905
32906 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32907 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32908 * conf/powerpc-ieee1275.rmk: Likewise.
32909 * conf/i386-ieee1275.rmk: Likewise.
32910
32911 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32912 * kern/i386/coreboot/init.c: Likewise.
32913
32914 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32915 with `<grub/cpu/kernel.h>'.
32916 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32917 to ...
32918 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32919 * kern/i386/coreboot/startup.S: Likewise.
32920
32921 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32922 (GRUB_MOD_GAP): Remove.
32923 * include/grub/powerpc/kernel.h: New file.
32924 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32925 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32926 * include/grub/i386/kernel.h: New file.
32927 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32928 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32929 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32930
32931 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32932 `grub-mkelfimage'.
32933 Use --directory when invoking grub_mkimage.
32934
32935 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32936 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32937 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32938 and GRUB_KERNEL_CPU_PREFIX.
32939
b86408f8 329402008-08-14 Felix Zielcke <fzielcke@z-51.de>
32941
d5e619ca 32942 * include/grub/err.h (grub_err_printf): New function prototype.
32943 * util/misc.c (grub_err_printf): New function.
32944 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32945 grub_printf.
32946 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32947
7161f0e0 329482008-08-13 Robert Millan <rmh@aybabtu.com>
32949
32950 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32951
a1967522 329522008-08-13 Robert Millan <rmh@aybabtu.com>
32953
32954 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32955 boot entry.
32956
371458b5 329572008-08-12 Robert Millan <rmh@aybabtu.com>
32958
32959 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32960 of the relocation code from here ...
32961 (grub_multiboot): ... to here.
32962 (forward_relocator, backward_relocator): Move from here ...
32963 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32964 (grub_multiboot_backward_relocator): ... to here.
32965 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32966 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32967 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32968 (grub_multiboot_forward_relocator_end)
32969 (grub_multiboot_backward_relocator)
32970 (grub_multiboot_backward_relocator_end): New variables.
32971
05f9452b 329722008-08-12 Bean <bean123ch@gmail.com>
32973
32974 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32975
20024ab0 329762008-08-11 Robert Millan <rmh@aybabtu.com>
32977
32978 * kern/i386/linuxbios/startup.S: Move from here ...
32979 * kern/i386/coreboot/startup.S: ... to here.
32980
32981 * kern/i386/linuxbios/init.c: Move from here ...
32982 * kern/i386/coreboot/init.c: ... to here.
32983
32984 * kern/i386/linuxbios/table.c: Move from here ...
32985 * kern/i386/coreboot/mmap.c: ... to here.
32986
32987 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32988
e352e9cd 329892008-08-11 Robert Millan <rmh@aybabtu.com>
32990
32991 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32992 errors. Leave it to the upper layer to handle them.
32993
2d05bc6a 329942008-08-09 Christian Franke <franke@computer.org>
32995
32996 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32997 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32998 Install `grub.d/10_windows' only on Cygwin.
32999 * configure.ac: Add subst of `target_os'.
33000 Check `target_os' also before setting TARGET_OBJ2ELF.
33001 Add `--enable-grub-pe2elf'.
33002
042bd419 330032008-08-08 Robert Millan <rmh@aybabtu.com>
33004
33005 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33006 (grub_last_time): Change type to grub_uint64_t.
33007 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33008 (grub_disk_close): Likewise.
33009
33010 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33011 (run_menu): Migrate code from to using grub_get_time_ms().
33012
33013 * util/misc.c (grub_get_time_ms): New function.
33014
7f280db5 330152008-08-08 Marco Gerards <marco@gnu.org>
33016
33017 * disk/ata.c (grub_ata_regget): Change return type to
33018 `grub_uint8_t'.
33019 (grub_ata_regget2): Likewise.
33020 (grub_ata_wait_status): New function.
33021 (grub_ata_wait_busy): Removed function, updated all users to use
33022 `grub_ata_wait_status'.
33023 (grub_ata_wait_drq): Likewise.
33024 (grub_ata_cmd): New function.
33025 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33026 error handling.
33027 (grub_ata_pio_write): Add error handling.
33028 (grub_atapi_identify): Likewise.
33029 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33030 handling.
33031 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33032 handling. Actually use the detected registers. Reorder the
33033 detection logic such that it is easier to read.
33034 (grub_ata_pciinit): Do not assign the same ID to each controller.
33035 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33036 handling.
33037 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33038
33039 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33040
1fbc5e66 330412008-08-08 Marco Gerards <marco@gnu.org>
33042
33043 * NEWS: Update.
33044
819ce6c0 330452008-08-07 Bean <bean123ch@gmail.com>
33046
33047 * include/grub/x86_64/pci.h: New file.
33048
5c41d44d 330492008-08-07 Christian Franke <franke@computer.org>
33050
33051 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33052 (TIMER2_GATE): Likewise.
33053 (grub_pit_wait): Add enable/disable of the timer2 gate
33054 bit of port 0x61. This fixes a possible infinite loop.
33055
5ebc275d 330562008-08-07 Bean <bean123ch@gmail.com>
33057
33058 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33059 kern/i386/tsc.c and kern/i386/pit.c.
33060
33061 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33062 x86_64 platform.
33063
33064 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33065 <grub/i386/tsc.h>.
33066
33067 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33068
e383b3d0 330692008-08-07 Bean <bean123ch@gmail.com>
33070
33071 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33072
33073 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33074
33075 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33076 multiple inclusion. Add #include <grub/types.h>.
33077
1cbb58ac 330782008-08-06 Christian Franke <franke@computer.org>
33079
33080 * conf/common.rmk: Build and install `10_windows'.
33081 * util/grub.d/10_windows.in: New script.
33082
337f5a1e 330832008-08-06 Pavel Roskin <proski@gnu.org>
33084
33085 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33086
057bc4ac 330872008-08-06 Robert Millan <rmh@aybabtu.com>
33088
33089 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33090 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33091
2b99f123 330922008-08-06 Bean <bean123ch@gmail.com>
33093
33094 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33095 (grub_pxefs_fs_int): Remove dummy definition.
33096 (grub_pxefs_open): Use data->block_size to store the current block
33097 size setting.
33098 (grub_pxefs_read): Use block size stored in data->block_size. As the
33099 value of grub_pxe_blksize can be changed after the file is opened.
33100
9f0234cb 331012008-08-06 Bean <bean123ch@gmail.com>
33102
33103 * fs/i386/pc/pxe.c (curr_file): new variable.
33104 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33105 require the dummy internal file system anymore.
33106 (grub_pxefs_read): Removed.
33107 (grub_pxefs_close): Likewise.
33108 (grub_pxefs_fs_int): Likewise.
33109 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33110 connection when we switch file.
33111 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33112
a55d42e0 331132008-08-06 Robert Millan <rmh@aybabtu.com>
33114
33115 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33116 `halt.mod'.
33117 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33118 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33119
33120 * kern/i386/halt.c: New file.
33121 * kern/i386/reboot.c: Likewise.
33122 * include/grub/i386/reboot.h: Likewise.
33123 * include/grub/i386/halt.h: Likewise.
33124
33125 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33126 Include `<grub/cpu/halt.h>'.
33127 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33128 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33129
33130 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33131 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33132 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33133 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33134 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33135 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33136 from here ...
33137 * include/grub/i386/at_keyboard.h: ... to here.
33138
24371d26 331392008-08-05 Robert Millan <rmh@aybabtu.com>
33140
33141 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33142 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33143 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33144 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33145 `kern/generic/millisleep.c'.
33146
33147 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33148 instead of grub_get_rtc().
33149 (grub_tsc_init): Initialize `tsc_boot_time'.
33150
33151 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33152 (grub_machine_init): Use grub_tsc_init() rather than
33153 installing an RTC-based handler via grub_install_get_time_ms().
33154
33155 * kern/i386/pit.c: New file.
33156 * include/grub/i386/pit.h: Likewise.
33157
9e7007b3 331582008-08-05 Bean <bean123ch@gmail.com>
33159
33160 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33161
33162 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33163 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33164 (pxe_mod_SOURCES): New macro.
33165 (pxe_mod_CFLAGS): Likewise.
33166 (pxe_mod_LDFLAGS): Likewise.
33167 (pxecmd_mod_SOURCES): Likewise.
33168 (pxecmd_mod_CFLAGS): Likewise.
33169 (pxecmd_mod_LDFLAGS): Likewise.
33170
33171 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33172 (grub_pxe_call): Likewise.
33173
33174 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33175
33176 * commands/i386/pc/pxecmd.c: New file.
33177
9f0234cb 33178 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33179
33180 * include/grub/i386/pc/pxe.h: Likewise.
33181
6977d49f 331822008-08-05 Bean <bean123ch@gmail.com>
33183
33184 * util/console.c (grub_console_cur_color): New variable.
33185 (grub_console_standard_color): Likewise.
33186 (grub_console_normal_color): Likewise.
33187 (grub_console_highlight_color): Likewise.
33188 (color_map): Likewise.
33189 (use_color): Likewise.
33190 (NUM_COLORS): New macro.
33191 (grub_ncurses_setcolorstate): Handle color properly.
33192 (grub_ncurses_setcolor): Don't change color here, just remember the
33193 settings, color will be set in grub_ncurses_setcolorstate.
33194 (grub_ncurses_getcolor): New function.
33195 (grub_ncurses_init): Initialize color pairs.
33196 (grub_ncurses_term): New member grub_ncurses_getcolor.
33197
9c2ff3ee 331982008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33199
9c2ff3ee 33200 High resolution timer support. Implemented for x86 CPUs using TSC.
33201 Extracted generic grub_millisleep() so it's linked in only as needed.
33202 This requires a Pentium compatible CPU; if the RDTSC instruction is
33203 not supported, then it falls back on the generic grub_get_time_ms()
33204 implementation that uses the machine's RTC.
33205
33206 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33207 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33208 `kern/generic/millisleep.c'.
33209
33210 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33211 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33212
33213 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33214 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33215
33216 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33217
33218 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33219 `kern/generic/millisleep.c'.
33220
33221 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33222
33223 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33224
33225 * kern/generic/rtc_get_time_ms.c: New file.
33226
33227 * kern/generic/millisleep.c: New file.
337f5a1e 33228
9c2ff3ee 33229 * kern/misc.c: Don't include
33230 <kern/time.h> anymore.
33231 (grub_millisleep_generic): Removed.
33232
33233 * commands/sleep.c (grub_interruptible_millisleep): Uses
33234 grub_get_time_ms() instead of grub_get_rtc().
33235
33236 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33237 function.
33238 (grub_cpu_is_cpuid_supported): New inline function.
33239 (grub_cpu_is_tsc_supported): New inline function.
33240 (grub_tsc_init): New function prototype.
33241 (grub_tsc_get_time_ms): New function prototype.
33242
33243 * kern/i386/tsc.c (grub_get_time_ms): New file.
33244
33245 * include/grub/time.h: Include <grub/types.h.
33246 (grub_millisleep_generic): Removed.
33247 (grub_get_time_ms): New prototype.
33248 (grub_install_get_time_ms): New prototype.
33249 (grub_rtc_get_time_ms): New prototype.
33250
33251 * kern/time.c (grub_get_time_ms): New function.
33252 (grub_install_get_time_ms): New function.
33253
33254 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33255 <grub/time.h> anymore.
33256 (grub_millisleep): Removed.
33257 (grub_machine_init): Call grub_tsc_init.
33258
33259 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33260 get_time_ms() implementation.
33261
33262 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33263 (ieee1275_get_time_ms): New function.
33264 (grub_machine_init): Install get_time_ms() implementation.
33265
33266 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33267 (grub_machine_init): Call grub_tsc_init().
33268 (grub_millisleep): Removed.
bf06a93f 33269
9c2ff3ee 33270 * kern/ieee1275/init.c (grub_millisleep): Removed.
33271 (grub_machine_init): Install ieee1275_get_time_ms()
33272 implementation.
33273 (ieee1275_get_time_ms): New function.
33274 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33275 real work.
33276
9ec92aaf 332772008-08-05 Marco Gerards <marco@gnu.org>
33278
33279 * disk/ata.c: Include <grub/pci.h>.
33280 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33281 (grub_ata_initialize): Rewritten.
33282 (grub_ata_device_initialize): New function.
33283
8d23f507 332842008-08-04 Pavel Roskin <proski@gnu.org>
33285
33286 * kern/main.c: Include grub/mm.h.
33287
5e15ee3d 332882008-08-04 Robert Millan <rmh@aybabtu.com>
33289
33290 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33291 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33292 corruption problem).
33293
a9053f8f 332942008-08-04 Robert Millan <rmh@aybabtu.com>
33295
33296 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33297 warnings introduced in my last commit.
33298
dd19c7d7 332992008-08-03 Robert Millan <rmh@aybabtu.com>
33300
33301 Make PCI available on all i386 architectures.
33302
33303 * include/grub/i386/pc/pci.h: Move from here ...
33304 * include/grub/i386/pci.h: ... to here.
33305
33306 * include/grub/i386/pc/pci.h: Remove.
33307 * include/grub/i386/efi/pci.h: Remove.
33308 * include/grub/x86_64/efi/pci.h: Remove.
33309
33310 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33311 `<grub/cpu/pci.h>'.
33312
33313 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33314 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33315 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33316
33317 * conf/i386-ieee1275.rmk: Likewise.
33318
e14a6184 333192008-08-03 Robert Millan <rmh@aybabtu.com>
33320
33321 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33322 (grub_console_setcursor): Make it possible to set cursor off.
33323
52768e37 333242008-08-03 Robert Millan <rmh@aybabtu.com>
33325
33326 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33327 of modules instead of assuming which platform provides what.
33328 * util/update-grub.in: Likewise.
33329
2d52f57f 333302008-08-03 Robert Millan <rmh@aybabtu.com>
33331
33332 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33333 instead of `grub_install_dos_part' to determine whether a drive needs
33334 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33335 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33336
2a5cd121 333372008-08-02 Robert Millan <rmh@aybabtu.com>
33338
33339 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33340
93808428 333412008-08-02 Robert Millan <rmh@aybabtu.com>
33342
33343 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33344 of informational grub_dprintf() calls.
33345
3bd0a12a 333462008-08-02 Robert Millan <rmh@aybabtu.com>
33347
33348 * disk/memdisk.c (memdisk_size): Don't initialize.
33349 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33350
33351 * include/grub/i386/pc/kernel.h
33352 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33353 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33354 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33355 (grub_arch_memdisk_size): Remove.
33356
33357 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33358 field (was only used to transfer a constant). Add `type' field to
33359 support multiple module types.
33360 (grub_module_iterate): New function.
33361
33362 * kern/device.c (grub_device_open): Do not hide error messages
33363 when grub_disk_open() fails. Use grub_print_error() instead.
33364
33365 * kern/i386/pc/init.c (grub_arch_modules_addr)
33366 (grub_arch_memdisk_size): Remove functions.
33367 (grub_arch_modules_addr): Return the module address in high memory
33368 (now that it isn't copied anymore).
33369
33370 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33371 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33372 decompression routine (grub_total_module_size already includes that
33373 now). Don't copy modules back to low memory.
33374
33375 * kern/main.c: Include `<grub/mm.h>'.
33376 (grub_load_modules): Split out (and use) ...
33377 (grub_module_iterate): ... this function, which iterates through
33378 module objects and runs a hook.
33379 Comment out grub_mm_init_region() call, as it would cause non-ELF
33380 modules to be overwritten.
33381
33382 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33383 the memdisk image in its own region, make it part of the module list.
33384 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33385 (main): Parse --memdisk|-m option, and pass user-provided path as
33386 parameter to generate_image().
33387 (add_segments): Pass `memdisk_path' down to load_modules().
33388 (load_modules): Embed memdisk image in module section when requested.
33389 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33390 `header.type' instead of `header.offset'.
33391
33392 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33393 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33394 (memdisk_mod_LDFLAGS): New variables.
33395 * conf/i386-coreboot.rmk: Likewise.
33396 * conf/i386-ieee1275.rmk: Likewise.
33397
a927cc73 333982008-08-02 Robert Millan <rmh@aybabtu.com>
33399
33400 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33401 (backward_relocator): New variables. Used to allocate and relocate
33402 the payload, respectively.
33403 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33404 address, install the appropriate relocator code in each bound of
a927cc73 33405 the payload, and set the entry point such that
33406 grub_multiboot_real_boot() will jump to one of them.
33407
33408 * kern/i386/loader.S (grub_multiboot_payload_size)
33409 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33410 (grub_multiboot_payload_entry_offset): New variables.
33411 (grub_multiboot_real_boot): Set cpu context to what the relocator
33412 expects, and jump to the relocator instead of the payload.
33413
33414 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33415 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33416 (grub_multiboot_payload_entry_offset): Export.
33417
b15d8a0c 334182008-08-01 Bean <bean123ch@gmail.com>
33419
33420 * normal/menu_entry.c (editor_getline): Don't return the original
33421 string as result, as it will be released by lexer once it has done
33422 using it.
33423
cdfb3d22 334242008-08-01 Robert Millan <rmh@aybabtu.com>
33425
33426 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33427 within menuentries, not before them.
33428 util/grub.d/10_hurd.in: Likewise.
33429
9175e93d 334302008-08-01 Bean <bean123ch@gmail.com>
33431
33432 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33433 (bufio_mod_SOURCES): New macro.
33434 (bufio_mod_CFLAGS): Likewise.
33435 (bufio_mod_LDFLAGS): Likewise.
33436
33437 * include/grub/bufio.h: New file.
33438
33439 * io/bufio.c: Likewise.
33440
33441 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33442 (grub_video_reader_png): Use grub_buffile_open to open file.
33443
33444 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33445 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33446
33447 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33448 (grub_video_reader_tga): Use grub_buffile_open to open file.
33449
33450 * font/manager.c: Include <grub/bufio.h>.
33451 (add_font): Use grub_buffile_open to open file.
33452
3d8383e7 334532008-07-31 Robert Millan <rmh@aybabtu.com>
33454
33455 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33456 ELF segments, use a macro for arbitrarily accessing any of them instead
33457 of preparing a pointer that allows access to one at a time.
33458 (grub_multiboot_load_elf64): Likewise.
33459
16e641b6 334602008-07-31 Bean <bean123ch@gmail.com>
33461
33462 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33463 GRUB_KERNEL_MACHINE_DATA_END.
33464
59198b72 334652008-07-30 Robert Millan <rmh@aybabtu.com>
33466
33467 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33468 Increase from 0x50 to 0x60.
33469 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33470 use UUIDs to identify the root drive for them. If that's not
33471 possible, abort.
33472 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33473 check, for cross-disk installs.
33474
ae88bca3 334752008-07-30 Robert Millan <rmh@aybabtu.com>
33476
33477 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33478 is non-empty, use it to set the `prefix' environment variable instead
33479 of the usual approach.
33480 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33481 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33482 environment variable instead of dummy make_install_device().
33483
33484 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33485 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33486 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33487
33488 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33489 New variable reference.
33490 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33491 New macro. Defines offset of `grub_prefix' within startup.S (relative
33492 to `start').
33493 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33494 section within startup.S (relative to `start').
33495 * include/grub/i386/coreboot/kernel.h: Likewise.
33496
33497 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33498 Overwrite grub_prefix with its contents, at the beginning of the
33499 first segment.
33500 (main): Understand -p|--prefix.
33501
14f41dd1 335022008-07-30 Robert Millan <rmh@aybabtu.com>
33503
33504 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33505
4ca049a3 335062008-07-30 Robert Millan <rmh@aybabtu.com>
33507
33508 * term/i386/pc/vga_text.c (grub_console_cls): Use
33509 grub_console_gotoxy() to go back to beginning of the screen.
33510 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33511
2921d337 335122008-07-29 Christian Franke <franke@computer.org>
33513
33514 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33515 Add conversion of emulated mount points on Cygwin.
33516
b609876d 335172008-07-29 Christian Franke <franke@computer.org>
33518
33519 * util/update-grub.in: Add a check for admin
33520 group on Cygwin.
33521 Remove old `grub.cfg.new' before creation.
33522 Add `-f' to `mv' to handle the different filesystem
33523 semantics of Windows.
33524
e93e4679 335252008-07-29 Bean <bean123ch@gmail.com>
33526
33527 * normal/main.c (get_line): Fix buffer overflow bug.
33528
41694fd0 335292008-07-28 Robert Millan <rmh@aybabtu.com>
33530
33531 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33532 (struct grub_apple_header): New struct. Describes the layout of
33533 the partmap header.
33534 (apple_partition_map_iterate): Check the header magic as well as the
33535 partition magic (which was already being checked).
33536
cfd0b4e6 335372008-07-28 Pavel Roskin <proski@gnu.org>
33538
33539 * genmk.rb: Add a warning to the beginning of the output that
33540 it's a generated file and should not be edited.
33541
93cce016 335422008-07-28 Robert Millan <rmh@aybabtu.com>
33543
33544 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33545 with the same number are found, just use issue a warning with
33546 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33547
cd1df915 335482008-07-27 Robert Millan <rmh@aybabtu.com>
33549
33550 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33551 information.
33552
b70a8427 335532008-07-27 Bean <bean123ch@gmail.com>
33554
33555 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33556 (grub_fat_find_dir): Ignore case when comparing filename.
33557
8f5e379f 335582008-07-27 Bean <bean123ch@gmail.com>
33559
33560 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33561 smallino, as it's more descriptive, and i8count can be confused with
33562 the other field count.
33563 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33564 inode type.
33565
a85cd5a0 335662008-07-27 Bean <bean123ch@gmail.com>
33567
33568 * commands/crc.c: New file.
33569
33570 * lib/crc.c: Likewise.
33571
33572 * include/grub/lib/crc.h: Likewise.
33573
33574 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33575
33576 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33577 (hexdump): Move this function to ...
33578
33579 * lib/hexdump.c: ... here.
33580
33581 * include/grub/hexdump.h: Renamed to ...
33582
33583 * include/grub/lib/hexdump.h: ... this.
33584
33585 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33586
33587 * util/grub-editenv.c: Likewise.
33588
33589 * include/envblk.h: Renamed to ...
33590
33591 * include/lib/envblk.h: ... this.
33592
33593 * util/envblk.c: Renamed to ...
33594
33595 * lib/envblk.c: ... this.
33596
33597 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33598 lib/hexdump.c.
33599 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33600 (pkglib_MODULES): Add crc.mod.
33601 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33602 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33603 (crc_mod_SOURCES): New macro.
33604 (crc_mod_CFLAGS): Likewise.
33605 (crc_mod_LDFLAGS): Likewise.
33606
33607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33608
33609 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33610
33611 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33612
33613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33614
33615 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33616
c298def0 336172008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33618
33619 * commands/help.c: Include <grub/term.h>.
33620 (TERM_WIDTH): Removed. Updated all users.
33621
cc349fb3 336222008-07-27 Pavel Roskin <proski@gnu.org>
33623
33624 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33625 spurious warnings about a comment within a comment.
33626
9051607e 336272008-07-25 Robert Millan <rmh@aybabtu.com>
33628
33629 * util/getroot.c (find_root_device): Skip devices that match
33630 /dev/dm-[0-9]. This lets the real device be found for any type of
33631 abstraction (LVM, EVMS, RAID..).
33632 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33633 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33634 device is found first, find_root_device() will now skip it.
33635
01453bfc 336362008-07-24 Pavel Roskin <proski@gnu.org>
33637
33638 * include/grub/types.h: Use __builtin_bswap32() and
33639 __builtin_bswap64() with gcc 4.3 and newer.
33640
6af9849f 336412008-07-24 Christian Franke <franke@computer.org>
33642
3a0fa256 33643 * util/i386/pc/grub-install.in: If `--debug' is specified,
33644 pass `--verbose' to grub-setup.
33645 Abort script if make_system_path_relative_to_its_root() fails.
33646
7810e747 336472008-07-24 Bean <bean123ch@gmail.com>
33648
33649 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33650 variable `target_platform' should be `platform'.
33651
42290e17 336522008-07-24 Bean <bean123ch@gmail.com>
33653
51cc5193 33654 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33655 (grub_png_init_fixed_block): New function.
33656 (grub_png_decode_image_data): Handle fixed huffman code compression.
33657
2a8a80e4 336582008-07-24 Bean <bean123ch@gmail.com>
33659
33660 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33661 (grub_pe2elf_SOURCES): New macro.
33662 (CLEANFILES): Add grub-pe2elf.
33663
33664 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33665 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33666 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33667 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33668 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33669 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33670 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33671 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33672 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33673 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33674 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33675 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33676 (GRUB_PE32_DT_FUNCTION): Likewise.
33677 (GRUB_PE32_REL_I386_DIR32): Likewise.
33678 (GRUB_PE32_REL_I386_REL32): Likewise.
33679 (grub_pe32_symbol): New structure.
33680 (grub_pe32_reloc): Likewise.
33681
33682 * util/grub-pe2elf.c: New file.
33683
33684 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33685 start symbol in non pc platform.
33686
33687 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33688
33689 The following patches are from Christian Franke.
33690
33691 * include/grub/dl.h: Remove .previous, gas supports this only
33692 for ELF format.
33693
33694 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33695 Remove .type, gas supports this only for ELF format.
33696
33697 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33698 nullbytes in symbol table. This fixes an infinite loop if table is
33699 zero filled.
33700
33701 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33702 TARGET_IMG_LDFLAGS and EXEEXT.
33703
33704 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33705 TARGET_IMG_LDFLAGS_AC.
33706 (grub_CHECK_STACK_ARG_PROBE): New function.
33707
33708 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33709
33710 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33711
33712 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33713 to set TARGET_IMG_LD* accordingly.
33714 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33715 Add call to grub_CHECK_STACK_ARG_PROBE.
33716 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33717
33718 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33719
33720 * genmk.rb: Add EXEEXT to CLEANFILES.
33721
12ccdb75 337222008-07-23 Robert Millan <rmh@aybabtu.com>
33723
33724 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33725 define the codes for arrows and lines used for the menu).
33726 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33727 as well.
33728
33729 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33730 fonts, because the latter are too slow.
33731
18eeaf04 337322008-07-21 Bean <bean123ch@gmail.com>
33733
33734 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33735 a20. Run keyboard test last, as it will cause macbook to halt.
33736
b095e2ad 337372008-07-18 Pavel Roskin <proski@gnu.org>
33738
33739 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33740 load foreign architecture modules correctly anyway. Keep
33741 support for loading host architecture modules, whether we
33742 compile them or not.
33743
737feb35 337442008-07-17 Pavel Roskin <proski@gnu.org>
33745
3f4ce737 33746 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33747 change target_cpu. The compiler default can mismatch target_cpu
33748 in any case.
33749
4ad2d049 33750 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33751 * kern/efi/efi.c: Likewise.
33752
f6130a12 33753 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33754 target compiler is functional.
33755 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33756 are set up.
33757
58393a2d 33758 * configure.ac: Default to efi platform for x86_64-apple. Allow
33759 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33760 adjustments from the rest, only do them if target is not
33761 explicitly given. Merge other adjustments with the final sanity
33762 check. Remove an extraneous check for supported CPU. Be
33763 specific which CPU and which platform is not supported.
33764
737feb35 33765 * configure.ac: Default to pc platform for x86_64.
33766
546f966a 337672008-07-17 Robert Millan <rmh@aybabtu.com>
33768
33769 Partial LinuxBIOS -> Coreboot rename.
33770
33771 * conf/i386-linuxbios.rmk: Renamed to ...
33772 * conf/i386-coreboot.rmk: ... this.
33773 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33774 * configure.ac: Accept "coreboot" as input platform (but maintain
33775 compatibility with "linuxbios").
33776 * include/grub/i386/linuxbios: Renamed to ...
33777 * include/grub/i386/coreboot: ... this.
33778
20011694 337792008-07-17 Bean <bean123ch@gmail.com>
33780
33781 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33782 (appleldr_mod_SOURCE): New variable.
20011694 33783 (appleldr_mod_CFLAGS): Likewise.
33784 (appleldr_mod_LDFLAGS): Likewise.
33785 (pci_mod_SOURCES): Likewise.
33786 (pci_mod_CFLAGS): Likewise.
33787 (pci_mod_LDFLAGS): Likewise.
33788 (lspci_mod_SOURCES): Likewise.
33789 (lspci_mod_CFLAGS): Likewise.
33790 (lspci_mod_LDFLAGS): Likewise.
33791
33792 * conf/x86_64-efi.rmk: New file.
33793
33794 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33795 macro.
33796 (grub_efidisk_write): Likewise.
33797
33798 * include/efi/api.h (efi_call_0): New macro.
33799 (efi_call_1): Likewise.
33800 (efi_call_2): Likewise.
33801 (efi_call_3): Likewise.
33802 (efi_call_4): Likewise.
33803 (efi_call_5): Likewise.
33804 (efi_call_6): Likewise.
33805
33806 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33807 grub_rescue_cmd_chainloader.
33808
33809 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33810 (grub_pe32_optional_header): Change some fields based on i386 or
33811 x86_64 platform.
33812 (GRUB_PE32_PE32_MAGIC): Likewise.
33813
33814 * include/grub/efi/uga_draw.h: New file.
33815
33816 * include/grub/elf.h (STN_ABS): New constant.
33817 (R_X86_64_NONE): Relocation constant for x86_64.
33818 (R_X86_64_64): Likewise.
33819 (R_X86_64_PC32): Likewise.
33820 (R_X86_64_GOT32): Likewise.
33821 (R_X86_64_PLT32): Likewise.
33822 (R_X86_64_COPY): Likewise.
33823 (R_X86_64_GLOB_DAT): Likewise.
33824 (R_X86_64_JUMP_SLOT): Likewise.
33825 (R_X86_64_RELATIVE): Likewise.
33826 (R_X86_64_GOTPCREL): Likewise.
33827 (R_X86_64_32): Likewise.
33828 (R_X86_64_32S): Likewise.
33829 (R_X86_64_16): Likewise.
33830 (R_X86_64_PC16): Likewise.
33831 (R_X86_64_8): Likewise.
33832 (R_X86_64_PC8): Likewise.
33833
33834 * include/grub/i386/efi/pci.h: New file.
33835
33836 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33837 Change it value based on platform.
33838 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33839 (GRUB_E820_RAM): Likewise.
33840 (GRUB_E820_RESERVED): Likewise.
33841 (GRUB_E820_ACPI): Likewise.
33842 (GRUB_E820_NVS): Likewise.
33843 (GRUB_E820_EXEC_CODE): Likewise.
33844 (GRUB_E820_MAX_ENTRY): Likewise.
33845 (grub_e820_mmap): New structure.
33846 (linux_kernel_header): Change the efi field according to different
33847 kernel version, also field from linux_kernel_header.
33848
33849 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33850
33851 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33852 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33853 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33854 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33855 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33856 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33857 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33858 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33859 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33860 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33861
33862 * include/grub/x86_64/efi/kernel.h: New file.
33863
33864 * include/grub/x86_64/efi/loader.h: Likewise.
33865
33866 * include/grub/x86_64/efi/machine.h: Likewise.
33867
33868 * include/grub/x86_64/efi/pci.h: Likewise.
33869
33870 * include/grub/x86_64/efi/time.h: Likewise.
33871
33872 * include/grub/x86_64/linux.h: Likewise.
33873
33874 * include/grub/x86_64/setjmp.h: Likewise.
33875
33876 * include/grub/x86_64/time.h: Likewise.
33877
33878 * include/grub/x86_64/types.h: Likewise.
33879
33880 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33881 GRUB_TARGET_SIZEOF_VOID_P.
33882
33883 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33884 (grub_efi_locate_handle): Likewise.
33885 (grub_efi_open_protocol): Likewise.
33886 (grub_efi_set_text_mode): Likewise.
33887 (grub_efi_stall): Likewise.
33888 (grub_exit): Likewise.
33889 (grub_reboot): Likewise.
33890 (grub_halt): Likewise.
33891 (grub_efi_exit_boot_services): Likewise.
33892 (grub_get_rtc): Likewise.
33893
33894 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33895 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33896 (grub_efi_allocate_pages): Wrap efi calls.
33897 (grub_efi_free_pages): Wrap efi calls.
33898 (grub_efi_get_memory_map): Wrap efi calls.
33899
33900 * kern/x86_64/dl.c: New file.
33901
33902 * kern/x86_64/efi/callwrap.S: Likewise.
33903
33904 * kern/x86_64/efi/startup.S: Likewise.
33905
33906 * loader/efi/appleloader.c: Likewise.
33907
33908 * loader/efi/chainloader.c (cmdline): New variable.
33909 (grub_chainloader_unload): Wrap efi calls.
33910 (grub_chainloader_boot): Likewise.
33911 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33912 command line.
33913
33914 * loader/efi/chainloader_normal.c (chainloader_command):
33915 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33916 command line.
33917
33918 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33919 method.
33920 (grub_e820_add_region): New function.
33921 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33922 booting.
33923 (grub_find_video_card): New function.
33924 (grub_linux_setup_video): New function.
33925 (grub_rescue_cmd_linux): Probe for video information.
33926
33927 * normal/x86_64/setjmp.S: New file.
33928
33929 * term/efi/console.c (map_char): New function.
33930 (grub_console_putchar): Map unicode char.
33931 (grub_console_checkkey): Wrap efi calls.
33932 (grub_console_getkey): Likewise.
33933 (grub_console_getwh): Likewise.
33934 (grub_console_gotoxy): Likewise.
33935 (grub_console_cls): Likewise.
33936 (grub_console_setcolorstate): Likewise.
33937 (grub_console_setcursor): Likewise.
33938
33939 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33940
59652a20 339412008-07-16 Pavel Roskin <proski@gnu.org>
33942
ef294055 33943 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33944 format strings.
33945
59652a20 33946 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33947 pointer, not an integer. This fixes a warning and prevents
33948 precision loss on 64-bit systems.
33949 (relocate_addresses): Remove unneeded cast.
33950
afc3b5d7 339512008-07-15 Pavel Roskin <proski@gnu.org>
33952
506b2b3e 33953 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33954
62ead89c 33955 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33956
c4cd51d7 33957 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33958 Fix comparison between signed and unsigned.
33959
0d3d8f28 33960 * include/grub/i386/ieee1275/console.h: Declare
33961 grub_console_init() and grub_console_fini().
33962
8804b286 33963 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33964 It's empty and unused.
33965
ee01cf35 33966 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33967 beginning to avoid warnings with some compilers.
33968
afc3b5d7 33969 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33970 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33971
e4e8eaa5 339722008-07-14 Pavel Roskin <proski@gnu.org>
33973
407aceb4 33974 * kern/env.c (grub_register_variable_hook): Don't copy empty
33975 string, it leaks memory. Pass "" to grub_env_set(), it should
33976 handle constant strings.
33977
e4e8eaa5 33978 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33979 * commands/cmp.c (grub_cmd_cmp): Likewise.
33980 * kern/dl.c (grub_dl_flush_cache): Likewise.
33981 (grub_dl_load_core): Likewise.
33982 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33983 (grub_elf64_load_phdrs): Likewise.
33984
d4e2dad3 339852008-07-13 Pavel Roskin <proski@gnu.org>
33986
33987 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33988 between signed and unsigned.
33989 (LzmaEnc_Finish): Fix warning about an unused parameter.
33990
aa24b516 339912008-07-13 Bean <bean123ch@gmail.com>
33992
33993 * Makefile.in (enable_lzo): New rule.
33994
33995 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33996
33997 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33998
33999 * boot/i386/pc/lnxboot.S: #include <config.h>.
34000
34001 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34002 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34003
34004 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34005 compression algorithm according to configure macro.
34006
34007 * kern/i386/pc/startup.S (codestart): Likewise.
34008
34009 * kern/i386/pc/lzma_decode.S: New file.
34010
34011 * include/grub/lib/LzFind.h: Likewise.
34012
34013 * include/grub/lib/LzHash.h: Likewise.
34014
34015 * include/grub/lib/LzmaDec.h: Likewise.
34016
34017 * include/grub/lib/LzmaEnc.h: Likewise.
34018
34019 * include/grub/lib/LzmaTypes.h: Likewise.
34020
34021 * lib/LzFind.c: Likewise.
34022
34023 * lib/LzmaDec.c: Likewise.
34024
34025 * lib/LzmaEnc.c: Likewise.
34026
4ae821ac 340272008-07-13 Bean <bean123ch@gmail.com>
34028
34029 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34030 (grub_ext4_extent_header): New structure.
34031 (grub_ext4_extent): Likewise.
34032 (grub_ext4_extent_idx): Likewise.
34033 (grub_ext4_find_leaf): New function.
34034 (grub_ext2_read_block): Handle extents.
34035
9a745147 340362008-07-12 Robert Millan <rmh@aybabtu.com>
34037
34038 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34039
d49a4cf6 340402008-07-11 Robert Millan <rmh@aybabtu.com>
34041
34042 * util/grub.d/40_custom.in: New file. Example on how to add custom
34043 entries to /etc/grub.d.
34044 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34045 40_custom (implicitly, by merging all the grub.d rules).
34046
947414b4 340472008-07-11 Pavel Roskin <proski@gnu.org>
34048
0059cf6f 34049 * commands/read.c (grub_getline): Fix invalid memory access.
34050 Don't add newline to the variable value.
34051
947414b4 34052 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34053 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34054 (serial_hw_get_port): Check validity of the port number.
34055 (grub_cmd_serial): Check return value of serial_hw_get_port().
34056
62a02d00 340572008-07-07 Pavel Roskin <proski@gnu.org>
34058
34059 * boot/i386/pc/diskboot.S (notification_string): Replace
34060 "Loading kernel" with just "loading". This is shorter, less
34061 confusing and saves a few bytes for possible future changes.
34062
3e5581b0 340632008-07-05 Pavel Roskin <proski@gnu.org>
34064
ea387a48 34065 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34066 size for ATAPI devices, they are undefined. Output sector
34067 number in decimal form.
34068
3e5581b0 34069 * disk/ata.c: Use named constants for status bits.
34070
fdecb8fd 340712008-07-04 Pavel Roskin <proski@gnu.org>
34072
bcd35b90 34073 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34074 grub_addr_t before casting it to the void pointer to fix a
34075 warning. Non-addressable regions are discarded earlier.
34076 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34077 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34078 (check_signature): Don't shadow table_header.
34079 (grub_linuxbios_table_iterate): Cast numeric constants to
34080 grub_linuxbios_table_header_t.
34081 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34082 grub_stop().
34083
af58ab3d 34084 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34085 prevent warnings.
34086
1759aa57 34087 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34088 pointer, which can cause warnings. Support 64-bit addresses.
34089
fdecb8fd 34090 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34091 of sizeof(long). This fixes PowerPC image generation on x86_64.
34092
8516d2a8 340932008-07-04 Robert Millan <rmh@aybabtu.com>
34094
34095 This fixes a performance issue when pc & gpt partmap iterators
34096 didn't abort iteration even after our hook found what it was
fe987087 34097 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34098
34099 Some callers relied on previous buggy behaviour, since they would
34c44600 34100 raise an error when their own hooks caused early abortion of its
8516d2a8 34101 iteration.
34102
34103 * kern/device.c (grub_device_open): Improve error message.
34104 * disk/lvm.c (grub_lvm_open): Likewise.
34105 * disk/raid.c (grub_raid_open): Likewise.
34106
34107 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34108 when hook requests it, independently of grub_errno.
34109 (pc_partition_map_probe): Do not fail when find_func() caused
34110 early abortion of pc_partition_map_iterate().
34111
34112 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34113 when hook requests it, independently of grub_errno.
34114 (gpt_partition_map_probe): Do not fail when find_func() caused
34115 early abortion of gpt_partition_map_iterate().
34116
34117 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34118 when hook requests it, independently of grub_errno. Do not fail when
34119 part_map_iterate_hook() caused early abortion of p->iterate().
34120
34121 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34122 when grub_partition_iterate() returned with non-zero.
34123
277d0de9 341242008-07-03 Pavel Roskin <proski@gnu.org>
34125
34126 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34127 like we do in grub_ata_pio_read().
34128 (grub_ata_readwrite): Always write individual sectors. Fix the
34129 sector count for the remainder.
34130 (grub_ata_write): Enable writing to ATA devices. Correctly
34131 report error for ATAPI devices.
34132
d4c9b428 341332008-07-02 Pavel Roskin <proski@gnu.org>
34134
e43fc690 34135 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34136 warning.
34137
f707af42 34138 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34139 for every read sector, we already increment it for the whole
34140 batch. This fixes reading more than 256 sectors at once.
34141
11e16b15 34142 * util/grub-editenv.c (cmd_info): Cast argument to long
34143 explicitly. ptrdiff_t reduces to int on i386.
34144
cbabfdd4 34145 * util/grub-editenv.c (main): Be specific which parameter is
34146 missing.
34147
b8fbce0a 34148 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34149 (memdisk): Make memdisk_orig_addr a pointer.
34150
c9c8e606 34151 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34152 for file offsets, use grub_off_t instead. Fix printf format
34153 warnings.
34154
ca62e598 34155 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34156 there. Real unexpected warnings should not drown in the noise
34157 about known problems.
34158
ce8d1766 34159 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34160 grub_disk_addr_t for memory addresses.
34161
00c7a56a 34162 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34163 explicitly to fix a warning.
34164
08d3ef09 34165 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34166
cb71ba20 34167 * Makefile.in (MODULE_LDFLAGS): New variable.
34168 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34169 the linker accepts --build-id=none.
34170 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34171 MODULE_LDFLAGS.
34172 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34173
d4c9b428 34174 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34175 those in Linux XFS code. Provide a way to access 64-bit parent
34176 inode.
34177 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34178 the end of struct grub_xfs_dir_header.
34179
d4156eee 341802008-07-02 Bean <bean123ch@gmail.com>
34181
34182 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34183 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34184 and GRUB_IEEE1275_FLAG_NO_ANSI.
34185
34186 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34187 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34188 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34189
34190 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34191 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34192
34193 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34194 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34195
34196 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34197 esc sequence on non ANSI terminal.
34198 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34199
34200 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34201 beginning of file.
34202
2270f77b 342032008-07-02 Bean <bean123ch@gmail.com>
34204
34205 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34206 (grub_editenv_SOURCES): New variable.
34207 (pkglib_MODULES): Add loadenv.mod.
34208 (loadenv_mod_SOURCES): New variable.
34209 (loadenv_mod_CFLAGS): Likewise.
34210 (loadenv_mod_LDFLAGS): Likewise.
34211
34212 * include/grub/envblk.h: New file.
34213
34214 * util/envblk.c: New file.
34215
34216 * util/grub-editenv.c: New file.
34217
34218 * commands/loadenv.c: New file.
34219
0e9e51ec 342202008-07-01 Pavel Roskin <proski@gnu.org>
34221
d89b7634 34222 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34223 not unsigned char. This fixes warnings and is consistent with
34224 other tags.
34225
bf1835b1 34226 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34227
8222a04b 34228 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34229
6a42d99d 34230 * term/tparm.c (analyze): Always set *popcount.
34231
10b159d1 34232 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34233 cast to fix a warning.
34234
b8789f6c 34235 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34236 cast to suppress a warning.
34237
29d7e38a 34238 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34239 grub_fshelp_read_file() expects.
34240
f341f669 34241 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34242 write uuid as a 32-bit value in CPU byte order, so declare and
34243 use it as such.
34244
0e9e51ec 34245 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34246 long if the format specifier expects it.
34247 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34248 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34249 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34250 long to fix a warning.
34251 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34252 grub_dprintf() arguments to fix warnings.
34253
3aefa857 342542008-06-30 Pavel Roskin <proski@gnu.org>
34255
56c7668b 34256 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34257 install_bsd_part immediately before core.img is embedded or
34258 modified on disk. This fixes core.img verification if core.img
34259 cannot be embedded.
34260
3aefa857 34261 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34262 core_path to calculate the blocklist.
34263 Patch from Javier Martín <lordhabbit@gmail.com>
34264
5444088d 342652008-06-29 Robert Millan <rmh@aybabtu.com>
34266
34267 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34268 block to disk block.
34269 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34270 Patch from Niels Böhm <bitbucket@arcor.de>
34271
674835c8 342722008-06-29 Robert Millan <rmh@aybabtu.com>
34273
34274 * util/update-grub_lib.in (font_path): Search for fonts in
34275 /boot/grub first, which is more likely to be readable (we aren't
34276 deciding where fonts live, just looking for them).
34277
f527dbc8 342782008-06-26 Pavel Roskin <proski@gnu.org>
34279
6c2d8df6 34280 * util/biosdisk.c (read_device_map): Don't leave dead map
34281 entries for devices failing stat() check.
34282
f527dbc8 34283 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34284 core_path_dev for the core.img path on the target device.
34285
aebe3d13 342862008-06-26 Robert Millan <rmh@aybabtu.com>
34287
34288 * disk/fs_uuid.c: New file.
34289 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34290 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34291 (fs_uuid_mod_LDFLAGS): New variables.
34292 * include/grub/disk.h (grub_disk_dev_id): Add
34293 `GRUB_DISK_DEVICE_UUID_ID'.
34294 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34295 implement iterate().
34296
37aaf354 342972008-06-26 Robert Millan <rmh@aybabtu.com>
34298
34299 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34300 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34301 Linux image includes no initrd.
34302
25ff262a 343032008-06-21 Javier Martín <lordhabbit@gmail.com>
34304
34305 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34306 call to resolve the core image location that effectively appended the
34307 name twice.
34308
76a2bd44 343092008-06-21 Robert Millan <rmh@aybabtu.com>
34310
34311 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34312 call from here ...
34313
34314 * util/grub.d/10_hurd.in: ... to here ...
34315 * util/grub.d/10_linux.in: ... and here.
34316
650e1c79 343172008-06-19 Robert Millan <rmh@aybabtu.com>
34318
fe987087 34319 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34320 after it has been set by grub_machine_set_prefix().
34321
6ce63911 343222008-06-19 Robert Millan <rmh@aybabtu.com>
34323
34324 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34325 search result when not saving to variable, not the other way around.
34326 When saving to variable, abort iteration as soon as a match is found.
34327
73940cec 343282008-06-19 Robert Millan <rmh@aybabtu.com>
34329
34330 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34331 check for partition that provides /boot/grub. Its logic is flawed,
34332 as it prevents prepare_grub_to_access_device() from being called
34333 multiple times.
34334
3c62a39d 343352008-06-19 Robert Millan <rmh@aybabtu.com>
34336
34337 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34338 "insmod" command directly when abstraction modules are needed,
fe987087 34339 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34340 since it had already been processed).
34341
47395a42 343422008-06-19 Pavel Roskin <proski@gnu.org>
34343
34344 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34345 changed. This is needed in case GRUB_LIBDIR changes.
34346 * conf/i386-ieee1275.rmk: Likewise.
34347 * conf/i386-linuxbios.rmk: Likewise.
34348 * conf/i386-pc.rmk: Likewise.
34349 * conf/powerpc-ieee1275.rmk: Likewise.
34350
a145ac2d 343512008-06-18 Pavel Roskin <proski@gnu.org>
34352
34353 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34354 kernel_elf_symlist.c to symlist.c for consistency with other
34355 architectures. Update all users.
34356 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34357
7847c51e 343582008-06-18 Robert Millan <rmh@aybabtu.com>
34359
34360 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34361 it in prefix.
34362
34363 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34364 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34365 a RAID device, run setup() for all members independently on whether
34366 LVM abstraction is being used.
34367 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34368 If grub-mkimage has set `*install_dos_part == -2', don't override this
34369 value.
34370 Perform *install_dos_part adjustments independently on whether
34371 we're embedding or not.
34372 Clarify error message when image is too big for embedding.
34373 Remove duplicate *install_dos_part stanza.
34374
b23e5644 343752008-06-17 Robert Millan <rmh@aybabtu.com>
34376
34377 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34378 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34379 variables.
34380 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34381 values in grub_ofconsole_normal_color and
34382 grub_ofconsole_highlight_color (they're not directly related to
34383 background and foreground).
34384 (grub_ofconsole_setcolorstate): Extract background and foreground
34385 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34386
0aac2f79 343872008-06-17 Robert Millan <rmh@aybabtu.com>
34388
34389 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34390 /boot/grub for the check in last commit, not /boot (they could be
34391 different partitions).
34392
3cca7ef3 343932008-06-16 Robert Millan <rmh@aybabtu.com>
34394
34395 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34396 asked to setup access for the same partition that provides /boot,
34397 don't bother using UUIDs since our root already has the value we
34398 want.
34399
347396d8 344002008-06-16 Robert Millan <rmh@aybabtu.com>
34401
34402 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34403 I2O devices.
34404 Patch from Sven Mueller <sven@debian.org>.
34405
991477f8 344062008-06-16 Robert Millan <rmh@aybabtu.com>
34407
34408 * util/update-grub.in: Check for $EUID instead of $UID.
34409 Reported by Vincent Zweije.
34410
d31a32a1 344112008-06-16 Bean <bean123ch@gmail.com>
34412
fe987087 34413 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34414 (grub_ext2_read_block): Likewise.
34415 (grub_ext2_read_inode): Likewise.
34416 (grub_ext2_mount): Likewise.
34417 (grub_ext2_close): Likewise.
34418 (grub_ext3_get_journal): Removed.
34419
fe987087 34420 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34421 (grub_reiserfs_read_symlink): Likewise.
34422 (grub_reiserfs_mount): Likewise.
34423 (grub_reiserfs_open): Likewise.
34424 (grub_reiserfs_read): Likewise.
34425 (grub_reiserfs_close): Likewise.
34426 (grub_reiserfs_get_journal): Removed.
34427
34428 * fs/fshelp.c (grub_fshelp_read): Removed.
34429 (grub_fshelp_map_block): Likewise.
34430
34431 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34432 (grub_fshelp_journal): Likewise.
34433 (grub_fshelp_read): Likewise.
34434 (grub_fshelp_map_block): Likewise.
34435
3540a760 344362008-06-16 Pavel Roskin <proski@gnu.org>
34437
34438 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34439 floating point anymore.
34440 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34441
95614c84 344422008-06-15 Pavel Roskin <proski@gnu.org>
34443
34444 * commands/ls.c (grub_ls_list_files): Use integer calculations
34445 for human readable format, avoid floating point use.
34446 * kern/misc.c (grub_ftoa): Remove.
34447 (grub_vsprintf): Remove floating point support.
34448
50465dd6 344492008-06-15 Robert Millan <rmh@aybabtu.com>
34450
fe6b695a 34451 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34452 devices.
34453 Reported by Max Vozeler.
34454
a9207284 344552008-06-15 Robert Millan <rmh@aybabtu.com>
34456
34457 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34458 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34459 skipped later.
34460 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34461 the beginning of the prefix.
34462
34463 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34464 It is assumed that if we have a memdisk, grub-mkimage has set
34465 grub_prefix to include the "(memdisk)" drive in it.
34466
a7cbd45a 344672008-06-15 Robert Millan <rmh@aybabtu.com>
34468
34469 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34470 Initialize keyboard controller after registering the terminal, so that
34471 grub_printf() can be called from grub_keyboard_controller_init().
34472
21cf716a 344732008-06-15 Robert Millan <rmh@aybabtu.com>
34474
34475 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34476 extent-btree which is written as big endian on disk.
34477 Reported by Alain Greppin <al@chilibi.org>.
34478
23a64d8e 344792008-06-14 Robert Millan <rmh@aybabtu.com>
34480
34481 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34482 * util/i386/pc/grub-install.in (modules): Likewise.
34483
d687651c 344842008-06-13 Pavel Roskin <proski@gnu.org>
34485
34486 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34487
dfe9ddd4 344882008-06-13 Bean <bean123ch@gmail.com>
34489
34490 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34491
34492 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34493
34494 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34495 to indicate sparse block.
34496
16ae7781 344972008-06-12 Pavel Roskin <proski@gnu.org>
34498
e6d1a308 34499 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34500 number, grub_fshelp_read() does it for us.
34501
16ae7781 34502 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34503 linear disk read with journal translation.
34504 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34505 * include/grub/fshelp.h: Declare grub_fshelp_read().
34506
40fd3a2b 345072008-06-09 Pavel Roskin <proski@gnu.org>
34508
34509 * fs/minix.c (grub_minix_mount): Handle error reading
34510 superblock.
34511
f5679726 345122008-06-08 Robert Millan <rmh@aybabtu.com>
34513
34514 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34515 don't append the RAID prefix afterwards.
34516 Reported by Clint Adams.
34517
ce525529 345182008-06-08 Robert Millan <rmh@aybabtu.com>
34519
34520 Based on description from Pavel:
34521 * kern/disk.c (grub_disk_check_range): Rename to ...
34522 (grub_disk_adjust_range): ... this. Add a comment explaining the
34523 tasks performed by this function.
34524
ad4936a0 345252008-06-08 Robert Millan <rmh@aybabtu.com>
34526
34527 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34528 `num_serial' (for consistency with other variables).
34529 (struct grub_ntfs_data): Add `uuid' member.
34530 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34531 (grub_ntfs_uuid): New function.
34532 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34533
dc20b0f9 345342008-06-07 Pavel Roskin <proski@gnu.org>
34535
34536 * util/biosdisk.c (open_device): Revert last change to the
34537 function, it broke installation. The sector needs to be
34538 different dependent on which device is opened.
34539
c5e3cfba 345402008-06-06 Robert Millan <rmh@aybabtu.com>
34541
34542 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34543 rest of GRUB, and breakage doesn't happen if its value were modified.
34544
34545 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34546 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34547 a constant (same value).
34548 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34549 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34550
26a1f8c4 345512008-06-06 Robert Millan <rmh@aybabtu.com>
34552
34553 * util/biosdisk.c (open_device): Do not modify sector offset when
34554 accessing a partition. kern/disk.c already handles this for us.
34555
25d6b327 345562008-06-06 Robert Millan <rmh@aybabtu.com>
34557
34558 * util/grub-emu.c (grub_machine_init): Move code in this function from
34559 here ...
34560 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34561 segfault in case grub_printf() is called).
34562
34563 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34564 grub_probe. Update all users not to explicitly add it again.
34565 (grub_device): New variable; contains corresponding device for grubdir.
34566 (fs_module, partmap_module, devabstraction_module): Pass
34567 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34568 every time.
34569
9ece62fb 345702008-06-05 Robert Millan <rmh@aybabtu.com>
34571
34572 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34573 is found, print it (same layout as with labels).
34574
1ad36d37 345752008-06-04 Robert Millan <rmh@aybabtu.com>
34576
34577 * util/biosdisk.c (get_drive): Rename to ...
34578 (find_grub_drive): ... this. Update all users.
34579
34580 (get_os_disk): Rename to ...
34581 (convert_system_partition_to_system_disk): ... this. Update all users.
34582
34583 (find_drive): Rename to ...
34584 (find_system_device): ... this. Update all users.
34585
e6a30859 345862008-06-04 Robert Millan <rmh@aybabtu.com>
34587
34588 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34589 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34590 (make_device_map): Likewise.
34591
00c108a4 345922008-06-01 Robert Millan <rmh@aybabtu.com>
34593
34594 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34595 before dereferencing it.
34596
34597 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34598 union with fat12/fat16-specific ones. Add some new fields, including
34599 `num_serial' for both versions.
34600 (struct grub_fat_data): Add `uuid' member.
34601 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34602 names. Initialize `data->uuid' using `num_serial'.
34603 (grub_fat_uuid): New function.
34604 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34605
34606 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34607 (grub_reiserfs_uuid): New function.
34608 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34609 member.
34610
34611 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34612 (grub_xfs_uuid): New function.
34613 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34614
1385c5bb 346152008-06-01 Robert Millan <rmh@aybabtu.com>
34616
34617 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34618 code that is backward compatible with pre-uuid search command.
34619
c682dfd7 346202008-05-31 Robert Millan <rmh@aybabtu.com>
34621
34622 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34623 floppies after everything else, to ensure floppy drive isn't accessed
34624 unnecessarily (patch from Bean).
34625
b7db5d47 346262008-05-31 Robert Millan <rmh@aybabtu.com>
34627
34628 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34629 not print device names when we were asked to set a variable.
34630
6e037aa9 346312008-05-31 Robert Millan <rmh@aybabtu.com>
34632
34633 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34634 using "cursor-on" and "cursor-off" commands (understood at least by
34635 the Open Firmware flavour on OLPC).
34636
41305bc8 346372008-05-31 Michael Gorven <michael@gorven.za.net>
34638
34639 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34640 on and off sequences.
34641
69ba137e 346422008-05-31 Robert Millan <rmh@aybabtu.com>
34643
34644 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34645 * util/update-grub.in: Likewise.
34646
520ae21b 346472008-05-30 Pavel Roskin <proski@gnu.org>
34648
34649 * util/biosdisk.c (linux_find_partition): Simplify logic and
34650 make the code more universal. Keep special processing for
34651 devfs, but use a simple rule for all other devices. If the
34652 device ends with a number, append 'p' and the partition number.
34653 Otherwise, append only the partition number.
34654
5786569b 346552008-05-30 Robert Millan <rmh@aybabtu.com>
34656
34657 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34658 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34659 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34660 the `root' parameter to Linux.
34661
51500452 346622008-05-30 Robert Millan <rmh@aybabtu.com>
34663
34664 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34665 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34666 --fs_uuid with --fs-uuid.
34667 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34668 all filesystems support them).
34669
811d3878 346702008-05-30 Robert Millan <rmh@aybabtu.com>
34671
34672 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34673 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34674
cab63c95 346752008-05-30 Robert Millan <rmh@aybabtu.com>
34676
34677 * util/grub.d/00_header.in: Remove obsolete comment referencing
34678 convert_system_path_to_grub_path().
34679 * util/update-grub.in: Likewise.
34680 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34681 (convert_system_path_to_grub_path): Add a warning message explaining
34682 that this function is deprecated. Rely on is_path_readable_by_grub()
34683 for the readability checks.
34684 (font_path): Use is_path_readable_by_grub() for the readability
34685 check rather than convert_system_path_to_grub_path().
34686
972e2f7a 346872008-05-30 Robert Millan <rmh@aybabtu.com>
34688
34689 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34690 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34691 converting it first.
34692 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34693 grub.cfg for access to font file, and afterwards call it again to set
34694 the root device.
34695
62191274 346962008-05-30 Robert Millan <rmh@aybabtu.com>
34697
34698 * commands/search.c (options): Add --fs_uuid option.
34699 (search_fs_uuid): New function.
34700 (grub_cmd_search): Fix --set argument passing.
34701 Use search_fs_uuid() when requested via --fs_uuid.
34702 (grub_search_init): Update help message.
34703 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34704 and redeclare it as an array of 16-bit words.
34705 (grub_ext2_uuid): New function.
34706 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34707 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34708 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34709 (GRUB_DEVICE_BOOT_UUID): New variables.
34710 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34711 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34712 whenever possible.
34713 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34714 just assume `root' variable has the right value.
34715 * util/grub.d/10_linux.in: Likewise.
34716 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34717 via PRINT_FS_UUID.
34718 (main): Recognise `-t fs_uuid' argument.
34719
01b73ec8 347202008-05-30 Robert Millan <rmh@aybabtu.com>
34721
34722 * util/biosdisk.c (map): Redefine structure to hold information
34723 about GRUB drive name.
fe6b695a 34724 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34725 drive names.
34726 (call_hook): Remove.
34727 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34728 member. Assume drive has partitions.
34729 (grub_util_biosdisk_open): Access device names via `.device' struct
34730 member.
34731 (open_device): Likewise.
34732 (find_drive): Likewise.
34733 (read_device_map): Adjust map[] usage to match the new struct
34734 definition. Don't check for duplicates (still possible, but not cheap
34735 anymore).
34736 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34737 (make_device_name): Remove assumption of BIOS-like drive names.
34738
22f16596 347392008-05-30 Pavel Roskin <proski@gnu.org>
34740
34741 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34742 compiling execute.c doesn't need grub_script.tab.h anymore.
34743 (normal/command.c_DEPENDENCIES): Likewise.
34744 (normal/function.c_DEPENDENCIES): Likewise.
34745 * conf/i386-ieee1275.rmk: Likewise.
34746 * conf/i386-linuxbios.rmk: Likewise.
34747 * conf/i386-pc.rmk: Likewise.
34748 * conf/powerpc-ieee1275.rmk: Likewise.
34749 * conf/sparc64-ieee1275.rmk: Likewise.
34750
528ad8f2 347512008-05-29 Pavel Roskin <proski@gnu.org>
34752
d1dff95d 34753 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34754 when scanning metadata for volume group name.
34755
528ad8f2 34756 * include/grub/script.h: Don't include grub_script.tab.h. It's
34757 a generated file, which may only be included from the files with
34758 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34759 use union YYSTYPE, as the later allows forward declaration.
34760 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34761
47248e08 347622008-05-29 Robert Millan <rmh@aybabtu.com>
34763
34764 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34765 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34766 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34767 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34768 scan codes.
34769
ee632529 347702008-05-29 Robert Millan <rmh@aybabtu.com>
34771
34772 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34773 control key combinations.
34774
eee96e08 347752008-05-29 Robert Millan <rmh@aybabtu.com>
34776
34777 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34778 * util/ieee1275/grub-install.in: ... to here.
34779 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34780 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34781 (grub_install_SOURCES): Likewise.
34782
da9a6a94 347832008-05-29 Robert Millan <rmh@aybabtu.com>
34784
34785 * fs/affs.c: Update copyright year.
34786 * fs/ext2.c: Likewise.
34787 * fs/fshelp.c: Likewise.
34788 * fs/hfsplus.c: Likewise.
34789 * fs/ntfs.c: Likewise.
34790 * fs/xfs.c: Likewise.
34791 * include/grub/fshelp.h: Likewise.
34792 * util/grub-mkdevicemap.c: Likewise.
34793
12e65f3a 347942008-05-28 Robert Millan <rmh@aybabtu.com>
34795
34796 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34797 might need to be fatfs to support some firmware implementations
34798 (e.g. OFW or EFI).
34799
23023641 348002008-05-28 Robert Millan <rmh@aybabtu.com>
34801
34802 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34803 devices.
34804 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34805 (make_device_map): Likewise.
34806
887d2619 348072008-05-20 Bean <bean123ch@gmail.com>
34808
34809 * fs/fshelp.c (grub_fshelp_map_block): New function.
34810 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34811 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34812
34813 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34814 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34815 (grub_fshelp_journal): New structure.
34816 (grub_fshelp_map_block): New function prototype.
34817 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34818 (grub_fshelp_map_block): Likewise.
34819
34820 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34821 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34822 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34823 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34824 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34825 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34826 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34827 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34828 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34829 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34830 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34831 (grub_ext2_sblock): New members for journal support.
34832 (grub_ext3_journal_header): New structure.
34833 (grub_ext3_journal_revoke_header): Likewise.
34834 (grub_ext3_journal_block_tag): Likewise.
34835 (grub_ext3_journal_sblock): Likewise.
34836 (grub_fshelp_node): New members logfile and journal.
34837 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34838 grub_fshelp_map_block to get real block number.
34839 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34840 number.
34841 (grub_ext2_read_inode): Likewise.
34842 (grub_ext3_get_journal): New function.
34843 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34844 (grub_ext2_close): Release memory used by journal.
34845
34846 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34847 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34848 (grub_reiserfs_transaction_header): Renamed to
34849 grub_reiserfs_description_block, replace field data with real_blocks.
34850 (grub_reiserfs_commit_block): New structure.
34851 (grub_reiserfs_data): New member journal.
34852 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34853 number.
34854 (grub_reiserfs_read_symlink): Likewise.
34855 (grub_reiserfs_iterate_dir): Likewise.
34856 (grub_reiserfs_open): Likewise.
34857 (grub_reiserfs_read): Likewise.
34858 (grub_reiserfs_get_journal): New function.
34859 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34860 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34861 using grub_reiserfs_get_journal.
34862 (grub_reiserfs_close): Release memory used by journal.
34863
34864 * fs/affs.c (grub_affs_read_block): Change block type to
34865 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34866
34867 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34868
34869 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34870
34871 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34872
34873 * fs/udf.c (grub_udf_read_block): Change block type to
34874 grub_disk_addr_t. Use type cast to avoid warning.
34875
34876 * fs/xfs.c (grub_xfs_read_block): Likewise.
34877
b7c6bed5 348782008-05-16 Christian Franke <franke@computer.org>
34879
34880 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34881 to ensure that break with ESC will always work.
34882 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34883 Remove ESC from keyboard queue.
34884
eedf167f 348852008-05-16 Christian Franke <franke@computer.org>
34886
34887 * util/biosdisk.c: [__CYGWIN__] Add includes.
34888 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34889 (get_os_disk): Move variable declarations to OS specific
34890 parts to avoid warning.
34891 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34892 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34893 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34894 Cygwin.
34895 * util/getroot.c: [__CYGWIN__] Add includes.
34896 (strip_extra_slashes): Fix "/" case.
34897 [__CYGWIN__] (get_win32_path): New function.
34898 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34899 [__CYGWIN__] (find_root_device): Disable.
34900 [__CYGWIN__] (get_bootsec_serial): New function.
34901 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34902 [__linux__] (grub_guess_root_device): Add early returns to simplify
34903 structure.
34904 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34905 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34906 check for Linux only.
34907
a079699e 349082008-05-15 Bean <bean123ch@gmail.com>
34909
34910 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34911 keyboard hang problem in apple's intel mac.
34912
1cf4059a 349132008-05-09 Robert Millan <rmh@aybabtu.com>
34914
34915 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34916 devices.
34917 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34918 (make_device_map): Likewise.
34919 Reported by Aurelien Jarno <aurel32@debian.org>
34920
ed759390 349212008-05-07 Ian Campbell <ijc@hellion.org.uk>
34922
34923 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34924 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34925 (make_device_map): Output entries for xvd type disks.
34926
b56c4eaa 349272008-05-07 Robert Millan <rmh@aybabtu.com>
34928
34929 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34930 devices.
34931 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34932 (make_device_map): Likewise.
34933 Reported by Roland Dreier <rdreier@cisco.com>
34934
7f8866ed 349352008-05-07 Robert Millan <rmh@aybabtu.com>
34936
34937 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34938 grub_strstr() call. Correct a few mistakes in failure path handling.
34939
b0346e0f 349402008-05-06 Robert Millan <rmh@aybabtu.com>
34941
34942 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34943 Do not print a trailing slash (therefore, the root directory is an
34944 empty string).
34945 (convert_system_path_to_grub_path): Do not remove trailing slash
34946 from make_system_path_relative_to_its_root() output.
34947
34948 * util/i386/pc/grub-install.in: Add trailing slash to output from
34949 make_system_path_relative_to_its_root().
34950
6cf12cbd 349512008-05-06 Robert Millan <rmh@aybabtu.com>
34952
34953 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34954 ensures that output lines aren't intermangled with those sent to
34955 stderr (via grub_util_info()).
34956 * util/grub-probe.c (grub_refresh): Likewise.
34957 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34958
0fbb3117 349592008-05-05 Christian Franke <franke@computer.org>
34960
34961 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34962 Add Cygwin device names.
34963 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34964 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34965 (check_device): Return error instead of success on empty name.
34966 (make_device_map): Move label inside linux specific code to
34967 prevent compiler warning.
34968
8124cdb7 349692008-04-30 Robert Millan <rmh@aybabtu.com>
34970
34971 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34972 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34973 first boot option.
34974 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34975
094c01d0 349762008-04-29 Robert Millan <rmh@aybabtu.com>
34977
34978 * docs/grub.cfg: New file (example GRUB configuration).
34979
f4b1fc02 349802008-04-26 Robert Millan <rmh@aybabtu.com>
34981
329ce2a5 34982 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34983 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34984 and `disk/ieee1275/nand.c'.
f4b1fc02 34985
25f16ec1 349862008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34987
25f16ec1 34988 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34989 i386-linuxbios.
34990
34991 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34992 change the buffer size to 4096 for cdrom device.
34993
34994 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34995 and nand.mod.
34996 (_linux_mod_SOURCES): New variable.
34997 (_linux_mod_CFLAGS): Likewise.
34998 (_linux_mod_LDFLAGS): Likewise.
34999 (linux_mod_SOURCES): Likewise.
35000 (linux_mod_CFLAGS): Likewise.
35001 (linux_mod_LDFLAGS): Likewise.
35002 (nand_mod_SOURCES): Likewise.
35003 (nand_mod_CFLAGS): Likewise.
35004 (nand_mod_LDFLAGS): Likewise.
35005
35006 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35007 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35008 type property. (nand device in olpc don't have this property)
35009
35010 * include/grub/disk.h (grub_disk_dev_id): New macro
35011 GRUB_DISK_DEVICE_NAND_ID.
35012
35013 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35014 function prototype.
35015 (grub_rescue_cmd_initrd): Likewise.
35016
35017 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35018 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35019 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35020
25f16ec1 35021 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35022 GRUB_MACHINE_IEEE1275 is defined.
35023
35024 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35025 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35026
35027 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35028 on nested function heap_init.
35029 (grub_upper_mem): New variable for i386-ieee1275.
35030 (grub_get_extended_memory): New function for i386-ieee1275.
35031 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35032
35033 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35034 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35035 property.
f19dbdb7 35036
25f16ec1 35037 * loader/i386/ieee1275/linux.c: New file.
35038
35039 * loader/i386/ieee1275/linux_normal.c: New file.
35040
35041 * disk/ieee1275/nand.c: New file.
35042
e89d61e9 350432008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35044
35045 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35046 value.
35047 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35048
602566f6 350492008-04-18 Robert Millan <rmh@aybabtu.com>
35050
35051 Restructures early code path on ieee1275 to unify grub_main() as
35052 the first C function that is executed in every platform.
35053
35054 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35055 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35056 cmain().
35057 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35058 * kern/ieee1275/cmain.c (cmain): Rename to ...
35059 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35060 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35061 at the beginning.
35062
57490c2b 350632008-04-18 Robert Millan <rmh@aybabtu.com>
35064
35065 * util/update-grub.in: Fix syntax error when setting
35066 `GRUB_PRELOAD_MODULES'.
35067 Reported by Stephane Chazelas <stephane@artesyncp.com>
35068
1977517d 350692008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35070
35071 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35072 section into account, newer toolchains generate unique build ids
35073 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35074 we want build ids to be preserved
1977517d 35075 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35076 far from other sections don't cause the raw binary images grow
35077 size
35078
bfb1f1a2 350792008-04-15 Robert Millan <rmh@aybabtu.com>
35080
35081 * disk/lvm.c: Update copyright year.
35082 * kern/misc.c: Likewise.
35083
01979850 350842008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35085
35086 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35087 there is no memory left for physical volume name.
01979850 35088
0a1150e2 350892008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35090
35091 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35092 volume name mapping to support bigger than 9 character names properly.
35093
82ead3fe 350942008-04-13 Robert Millan <rmh@aybabtu.com>
35095
35096 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35097 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35098
e54a72f5 350992008-04-13 Christian Franke <franke@computer.org>
35100
35101 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35102 to create a floppy emulation boot CD when non emulation mode
35103 does not work.
35104 Enable Joliet CD filesystem extension.
35105
9fe86034 351062008-04-13 Robert Millan <rmh@aybabtu.com>
35107
35108 * kern/misc.c (grub_strncat): Fix off-by-one error.
35109 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35110
35111 * kern/env.c (grub_env_context_close): Clear current context, not
35112 previous one.
35113 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35114
35115 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35116
7ceeee39 351172008-04-13 Robert Millan <rmh@aybabtu.com>
35118
35119 Improve robustness when handling LVM.
35120
35121 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35122 (and leave `*p' unmodified).
7ceeee39 35123 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35124 through it.
35125 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35126 iterating through it.
35127 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35128 through it.
fe6b695a 35129 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35130 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35131 Don't assume `vg->pvs != NULL' when iterating through it.
35132
58cd3d85 351332008-04-13 Robert Millan <rmh@aybabtu.com>
35134
35135 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35136 * genmk.rb (partmap): New variable.
35137 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35138 (#{partmap}): New target rule.
35139 * genpartmaplist.sh: New file.
35140 * Makefile.in (pkglib_DATA): Add partmap.lst.
35141 (partmap.lst): New target rule.
35142 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35143 modules (including all partition maps), instead of preloading them.
35144
78b51059 351452007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35146
35147 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35148 `linux-boot-prober' (if installed) to detect other operating
35149 systems which are installed on the computer and add them to
35150 the boot menu.
35151 * conf/common.rmk: Build and install 30_os-prober.
35152
a91627b4 351532008-04-12 Robert Millan <rmh@aybabtu.com>
35154
35155 * kern/powerpc/ieee1275/init.c: Move from here ...
35156 * kern/ieee1275/init.c: ... to here. Update all users.
35157
35158 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35159 * kern/ieee1275/cmain.c: ... to here. Update all users.
35160
35161 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35162 * kern/ieee1275/openfw.c: ... to here. Update all users.
35163
35164 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35165 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35166
322562ea 351672008-04-10 Pavel Roskin <proski@gnu.org>
35168
35169 * configure.ac: Always use "_cv_" in cache variables for
35170 compatibility with Autoconf 2.62.
35171
a02a73c5 351722008-04-07 Robert Millan <rmh@aybabtu.com>
35173
35174 Revert grub/machine/init.h addition by Pavel (since it breaks on
35175 i386-ieee1275 and others):
35176 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35177 * util/powerpc/ieee1275/misc.c: Likewise.
35178
25c024b1 351792008-04-07 Robert Millan <rmh@aybabtu.com>
35180
35181 * util/grub-probe.c (probe): Improve error message.
35182
3cbd2f98 351832008-04-07 Robert Millan <rmh@aybabtu.com>
35184
35185 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35186 (this prevents the presence of a bogus entry from ruining the whole
35187 thing).
35188
87a297bf 351892008-04-06 Pavel Roskin <proski@gnu.org>
35190
36747a62 35191 * util/biosdisk.c: Include grub/util/biosdisk.h.
35192 * util/grub-fstest.c (execute_command): Make static.
35193 * util/grub-mkdevicemap.c (check_device): Likewise.
35194 * util/i386/pc/misc.c: Include grub/machine/init.h.
35195 * util/powerpc/ieee1275/misc.c: Likewise.
35196 * util/lvm.c: Include grub/util/lvm.h.
35197 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35198 grub/cache.h.
35199 * util/raid.c: Include grub/util/raid.h.
35200 (grub_util_getdiskname): Make static.
35201
87a297bf 35202 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35203 grub_hostfs_fini(), as they are called from grub_init_all() and
35204 grub_fini_all() respectively. This fixes an infinite loop in
35205 grub-fstest due to double registration of hostfs.
35206 Reported by Christian Franke <Christian.Franke@t-online.de>
35207
f6ce7629 352082008-04-05 Pavel Roskin <proski@gnu.org>
35209
35210 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35211 all 8 functions. Otherwise, probe function 0 only.
35212
070e49e4 352132008-04-04 Pavel Roskin <proski@gnu.org>
35214
8b088a4c 35215 * commands/lspci.c (grub_lspci_iter): Print the bus number
35216 correctly.
35217
4f657021 35218 * commands/lspci.c (grub_pci_classes): Fix typos.
35219 (grub_lspci_iter): Don't print func twice. Print vendor ID
35220 before device ID, as it's normally done.
35221
070e49e4 35222 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35223 Fix signedness warnings.
35224 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35225 Likewise.
35226 * util/ieee1275/get_disk_name.c: Include config.h so that
35227 _GNU_SOURCE is defined and getline() is declared. Mark an
35228 unused argument as such. Fix a signedness warning.
35229
ba7328dc 352302008-04-02 Pavel Roskin <proski@gnu.org>
35231
26887f22 35232 * genkernsyms.sh.in: Use more robust assignments for CC and
35233 srcdir. Quote srcdir.
35234 * gensymlist.sh.in: Likewise. Assert at the compile time that
35235 the symbol table is not empty.
35236
ba7328dc 35237 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35238 * fs/cpio.c (grub_cpio_read): Likewise.
35239
0f582c6b 352402008-04-01 Pavel Roskin <proski@gnu.org>
35241
4b6e1995 35242 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35243 * disk/host.c (grub_host_open): Likewise.
35244 * disk/loopback.c (grub_loopback_open): Likewise.
35245 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35246 disk->id as in disk/host.c, not a multi-character constant.
35247
828a2768 35248 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35249 later is obsolete, potentially dangerous and sets a bad example.
35250 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35251 * util/misc.c (grub_util_get_image_size): Likewise.
35252
2bb4fb47 35253 * disk/loopback.c (options): Improve help for "--partitions".
35254
0f582c6b 35255 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35256 options to align them with the short options, e.g. "echo -e".
35257
a33224e0 352582008-03-31 Bean <bean123ch@gmail.com>
35259
35260 * video/reader/png.c (grub_png_data): New member is_16bit and
35261 image_data.
35262 (grub_png_decode_image_header): Detect 16 bit png image.
35263 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35264 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35265 (grub_video_reader_png): Release memory occupied by image_data.
35266
35267 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35268 4096 bytes.
35269 (grub_nfs_mount): Skip the test for sector per cluster.
35270
35271 * include/grub/ntfs.h (MAX_SPC): Removed.
35272
86cb4f54 352732008-03-31 Bean <bean123ch@gmail.com>
35274
35275 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35276 (grub_probe_SOURCES): Add fs/afs.c.
35277 (grub_fstest_SOURCES): Likewise.
35278 (afs_mod_SOURCES): New variable.
35279 (afs_mod_CFLAGS): Likewise.
35280 (afs_mod_LDFLAGS): Likewise.
35281
35282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35283 (grub_emu_SOURCES): Likewise.
35284
35285 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35286
35287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35288
35289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35290
35291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35292
35293 * fs/afs.c: New file.
35294
17c74c21 352952008-03-30 Pavel Roskin <proski@gnu.org>
35296
4cb68e89 35297 * disk/host.c: Include grub/misc.h to fix a warning.
35298 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35299 warnings about implicit declarations.
35300
8790bb04 35301 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35302 variable.
35303 * include/grub/i386/loader.h: Change declaration of
35304 grub_linux_boot() to match what grub_loader_set() expects.
35305 * util/getroot.c (grub_guess_root_device): Return const char* to
35306 fix a warning.
35307 * util/grub-probe.c (probe): Fix a warning about uninitialized
35308 abstraction_name variable.
35309 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35310 second argument as unused to fix a warning.
35311
9a3f3296 35312 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35313 missing grub_error() call.
35314
0ecef90d 35315 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35316 2.60 and newer uses it to define datadir.
35317
0bf6d401 35318 * commands/sleep.c: Fix warning about implicit declaration.
35319 * disk/memdisk.c: Likewise.
35320 * loader/aout.c: Likewise.
35321 * loader/i386/bsd_normal.c: Likewise.
35322 * util/grub-probe.c: Likewise.
35323
7cdacf97 35324 * commands/i386/cpuid.c (has_longmode): Make static.
35325 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35326 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35327
17c74c21 35328 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35329 GDT. This is more robust, as %ds can change.
35330 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35331 calling real_to_prot().
35332 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35333
80a3e68b 353342008-03-28 Pavel Roskin <proski@gnu.org>
35335
35336 * kern/i386/pc/startup.S: Assert that uncompressed functions
35337 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35338 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35339 code, as they push parts of the code (error handlers) beyond
35340 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35341 code as correctness and size.
35342
77bcd272 353432008-03-28 Pavel Roskin <proski@gnu.org>
35344
35345 * kern/i386/pc/startup.S
35346 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35347 data block address to the real mode, keep offset minimal. This
35348 works around a bug in AWARD BIOS on old Athlon systems, which
35349 makes CD detection hang.
35350
c5dfd43b 353512008-03-26 Pavel Roskin <proski@gnu.org>
35352
35353 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35354 const.
35355 * include/grub/normal.h: Add grub_parse_color_name_pair()
35356 declaration.
35357
bf962df2 353582008-03-24 Bean <bean123ch@gmail.com>
35359
35360 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35361 (cd_count): Removed.
35362 (cd_drive): New variable.
35363 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35364 (grub_biosdisk_call_hook): Likewise.
35365 (grub_biosdisk_iterate): Change cdrom detection method.
35366 (grub_biosdisk_open): Replace cd_start with cd_drive.
35367 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35368 detect cdrom device.
35369
35370 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35371 Removed.
35372 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35373 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35374 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35375 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35376 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35377 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35378 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35379 (grub_biosdisk_cdrp): New structure.
35380 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35381
35382 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35383
35384 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35385 device.
35386
35387 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35388 New function.
35389
68e7fc7a 353902008-03-20 Robert Millan <rmh@aybabtu.com>
35391
35392 Remove 2 TiB limit in ata.mod.
35393 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35394 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35395 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35396 grub_uint64_t instead of grub_uint32_t.
35397
38ad2cf5 353982008-03-05 Bean <bean123ch@gmail.com>
35399
35400 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35401 (grub_multiboot): Set boot device.
35402
35403 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35404
2b89344e 354052008-03-02 Bean <bean123ch@gmail.com>
35406
35407 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35408 symlink_buffer.
35409
87a95d1f 354102008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35411
35412 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35413 texinfo.tex.
35414
35415 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35416 modified.
35417
35418 * docs/fdl.texi: New file.
f19dbdb7 35419
87a95d1f 35420 * docs/mdate-sh: New file. Copied from gnulib.
35421 * docs/texinfo.tex: Likewise.
35422
35423 * config.guess: Updated from gnulib.
35424 * install-sh: Likewise.
35425
7dc15d8e 354262008-02-28 Robert Millan <rmh@aybabtu.com>
35427
35428 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35429 (aout_mod_SOURCES): New variable.
35430 (aout_mod_CFLAGS): Likewise.
35431 (aout_mod_LDFLAGS): Likewise.
35432
35433 * conf/i386-ieee1275.rmk: Likewise.
35434
b00ab696 354352008-02-28 Robert Millan <rmh@aybabtu.com>
35436
35437 * util/update-grub.in: Reorganise terminal validity check. Accept
35438 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35439 Based on suggestion by Franklin PIAT.
35440
79ca2d78 354412008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35442
35443 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35444 function.
35445 * util/getroot.c (grub_util_check_block_device): New function that
35446 returns the given argument if it is a block device and returns NULL else.
35447 * util/grub-probe.c (argument_is_device): New variable.
35448 (probe): Promote device_name from a variable to an argument. Receive
35449 device_name from grub_util_check_block_device() if path is NULL and from
35450 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35451 (options): Introduce new parameter '-d, --device'.
79ca2d78 35452 (main): Add description of the new parameter to the help screen.
35453 Rename path variable to argument. Set argument_is_device if the '-d'
35454 option is given. Pass argument to probe() depending on
35455 argument_is_device.
35456
0d16e571 354572008-02-24 Bean <bean123ch@gmail.com>
35458
35459 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35460 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35461 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35462 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35463 (GRUB_ISO9660_VOLDESC_END): Likewise.
35464 (grub_iso9660_primary_voldesc): New member escape.
35465 (grub_iso9660_data): New member joliet.
35466 (grub_iso9660_convert_string): New function.
35467 (grub_iso9660_mount): Detect joliet extension.
35468 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35469 (grub_iso9660_iso9660_label): Likewise.
35470
35471 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35472 (grub_setup_SOURCES): Add fs/udf.c.
35473 (grub_fstest_SOURCES): Likewise.
35474 (udf_mod_SOURCES): New variable.
35475 (udf_mod_CFLAGS): Likewise.
35476 (udf_mod_LDFLAGS): Likewise.
35477
35478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35479 (grub_emu_SOURCES): Likewise.
35480
35481 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35482
35483 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35484
35485 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35486
35487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35488
35489 * fs/udf.c: New file.
35490
8a594a17 354912008-02-24 Robert Millan <rmh@aybabtu.com>
35492
35493 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35494 (normal/lexer.c_DEPENDENCIES): New variables.
35495 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35496 (normal/lexer.c_DEPENDENCIES): Likewise.
35497 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35498 (normal/lexer.c_DEPENDENCIES): Likewise.
35499 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35500 (normal/lexer.c_DEPENDENCIES): Likewise.
35501 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35502 (normal/lexer.c_DEPENDENCIES): Likewise.
35503 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35504 (normal/lexer.c_DEPENDENCIES): Likewise.
35505
2dc33c03 355062008-02-23 Robert Millan <rmh@aybabtu.com>
35507
35508 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35509 since they were intended to be in hex. This didn't break previously
35510 because of a bug in gpt_partition_map_iterate() (see below).
35511
35512 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35513 when checking the validity of GPT header.
35514 Remove `partno', since it always provides the same information as `i'.
35515
f6f4cfb0 355162008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35517
35518 * include/grub/efi/time.h: Fix a wrong comment.
35519
79ff665f 355202008-02-19 Pavel Roskin <proski@gnu.org>
35521
35522 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35523 message.
35524
d38e24c2 355252008-02-19 Bean <bean123ch@gmail.com>
35526
35527 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35528 (aout_mod_SOURCES): New variable.
35529 (aout_mod_CFLAGS): Likewise.
35530 (aout_mod_LDFLAGS): Likewise.
35531 (_bsd_mod_SOURCES): New variable.
35532 (_bsd_mod_CFLAGS): Likewise.
35533 (_bsd_mod_LDFLAGS): Likewise.
35534 (bsd_mod_SOURCES): New variable.
35535 (bsd_mod_CFLAGS): Likewise.
35536 (bsd_mod_LDFLAGS): Likewise.
35537
35538 * include/grub/aout.h: New file.
35539
35540 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35541
35542 * include/grub/i386/bsd.h: New file.
35543
35544 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35545 to make it public.
35546
35547 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35548 function is called, so that it's possible to change it inside the hook.
35549 (grub_elf64_load): Likewise.
35550 (grub_elf_file): Don't close the file if elf header is not found.
35551 (grub_elf_close): Close the file if grub_elf_file fails (The new
35552 grub_elf_file won't close it).
35553 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35554 (grub_elf64_size): Likewise.
35555
35556 * kern/i386/loader.S (grub_unix_real_boot): New function.
35557
35558 * loader/aout.c: New file.
35559
35560 * loader/i386/bsd.c: New file.
35561
35562 * loader/i386/bsd_normal.c: New file.
35563
35564 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35565
35566 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35567 can test other formats.
d38e24c2 35568
b93bdb0f 355692008-02-19 Robert Millan <rmh@aybabtu.com>
35570
35571 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35572 (grub_gpt_partition_type_empty): Redefine with macro from
35573 `<grub/gpt_partition.h>'.
35574 (gpt_partition_map_iterate): Adjust partition type comparison.
35575
35576 Export `entry' as partmap-specific `part.data' struct.
35577 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35578
35579 * include/grub/gpt_partition.h (grub_gpt_header)
35580 (grub_gpt_partentry): ... to here (new file).
35581
35582 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35583
35584 (grub_gpt_partition_type_bios_boot): New const variable, defined
35585 with macro from `<grub/gpt_partition.h>'.
35586
35587 (setup): Replace `first_start' with `embed_region', which keeps
35588 track of the embed region (and is partmap-agnostic).
35589
35590 Replace find_first_partition_start() with find_usable_region(),
35591 which finds a usable region for embedding using partmap-specific
35592 knowledge (supports PC/MSDOS and GPT).
35593
35594 Fix all assumptions that the embed region start at sector 1, using
35595 `embed_region.start' from now on. Similarly, use `embed_region.end'
35596 rather than `first_start' to calculate available size.
35597
35598 In grub_util_info() message, replace "into after the MBR" with an
35599 indication of the specific sector our embed region starts at.
35600
66cb40f6 356012008-02-19 Robert Millan <rmh@aybabtu.com>
35602
35603 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35604 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35605 `commands/reboot.c'.
35606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35607 (halt_mod_SOURCES): Likewise.
35608 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35609 (halt_mod_SOURCES): Likewise.
35610
b7202015 356112008-02-17 Christian Franke <franke@computer.org>
35612
35613 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35614
32b0fc49 356152008-02-17 Robert Millan <rmh@aybabtu.com>
35616
35617 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35618 set `first_start' to 0 for non-PC/MSDOS partition maps.
35619
aca63502 356202008-02-16 Robert Millan <rmh@aybabtu.com>
35621
35622 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35623 do not assume partition map is PC/MSDOS before performing checks that
35624 are specific to that layout.
35625
0de8be86 356262008-02-13 Robert Millan <rmh@aybabtu.com>
35627
35628 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35629 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35630 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35631
c3db8364 356322008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35633
35634 * configure.ac: Only a cosmetic change on the handling of
35635 -fno-stack-protector.
35636
f714229e 356372008-02-12 Alexandre Boeglin <alex@boeglin.org>
35638
c3db8364 35639 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35640 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35641 reboot.c.
f714229e 35642 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35643 (halt_mod_SOURCES): New variable.
35644 (halt_mod_CFLAGS): Likewise.
35645 (halt_mod_LDFLAGS): Likewise.
35646 (reboot_mod_SOURCES): Likewise.
35647 (reboot_mod_CFLAGS): Likewise.
35648 (reboot_mod_LDFLAGS): Likewise.
35649
c3db8364 35650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35651 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35652 reboot.c.
f714229e 35653 (halt_mod_SOURCES): Likewise.
35654 (reboot_mod_SOURCES): Likewise.
35655
c3db8364 35656 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35657 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35658 (reboot_mod_SOURCES): Likewise.
35659
35660 * commands/i386/pc/reboot.c: merge this file ...
35661
35662 * commands/ieee1275/reboot.c: ... and this file ...
35663
35664 * commands/reboot.c: ... to this file.
c3db8364 35665 Add some precompiler directive to include the correct header for
35666 each machine.
f714229e 35667
35668 * commands/ieee1275/halt.c: move this file ...
35669
35670 * commands/halt.c: ... to here.
c3db8364 35671 Add some precompiler directive to include the correct header for
35672 each machine.
f714229e 35673
35674 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35675 (grub_halt): Likewise.
35676
35677 * kern/efi/efi.c (grub_reboot): New function.
35678 (grub_halt): Likewise.
35679
c74493e0 356802008-02-12 Robert Millan <rmh@aybabtu.com>
35681
35682 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35683 /dev (like it is done for /dev/mapper). This doesn't provide support
35684 for EVMS, but at least it is now easy to identify the problem when it
35685 arises.
35686
d0db4b04 356872008-02-11 Robert Millan <rmh@aybabtu.com>
35688
35689 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35690 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35691 comparing it with -1, not 0.
35692
bf748642 356932008-02-10 Robert Millan <rmh@aybabtu.com>
35694
35695 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35696 `disk/lvm.c'.
35697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35698 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35699
35700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35701 `disk/lvm.c' to the end of the list.
35702 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35703 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35704
b5db202a 357052008-02-10 Robert Millan <rmh@aybabtu.com>
35706
35707 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35708 grub_print_error() instead. This will let user know why we're entering
35709 rescue mode.
35710 Based on suggestions from Sam Morris.
35711
83abee31 357122008-02-10 Alexandre Boeglin <alex@boeglin.org>
35713
35714 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35715 on remaining N args, instead of "--" arg N times.
35716
78d5a08b 357172008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35718
35719 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35720 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35721 pattern for unknown glyphs.
35722
68807e5f 357232008-02-09 Robert Millan <rmh@aybabtu.com>
35724
35725 * configure.ac: Probe for `help2man'.
35726 * Makefile.in (builddir): New variable.
35727 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35728 or otherwise add a few flags/options to it.
35729 (install-local): For every executable utility or script that is
35730 installed, invoke $(HELP2MAN) to install a manpage based on --help
35731 output.
35732
35733 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35734 that it doesn't prevent --help from working in build tree.
35735
35736 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35737 with `bug-grub@gnu.org'.
35738 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35739 * util/update-grub.in (usage): New function.
35740 Implement proper argument check, with support for --help and --version
35741 (as well as existing -y).
35742
357432008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35744
35745 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35746 avoid overwriting previous output.
35747 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35748
c1962162 357492008-02-09 Robert Millan <rmh@aybabtu.com>
35750
35751 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35752 drawing the menu.
35753
3dac2e3f 357542008-02-09 Robert Millan <rmh@aybabtu.com>
35755
35756 * commands/sleep.c: New file.
35757 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35758 (sleep_mod_SOURCES): New variable.
35759 (sleep_mod_CFLAGS): Likewise.
35760 (sleep_mod_LDFLAGS): Likewise.
35761
7a634e08 357622008-02-09 Robert Millan <rmh@aybabtu.com>
35763
35764 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35765 situations in which we can deduce the RAID size and the superblock
35766 doesn't match it.
35767
b92f0c18 357682008-02-09 Robert Millan <rmh@aybabtu.com>
35769
35770 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35771 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35772 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35773
35774 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35775 and return a grub_diskmemberlist_t composed of physical array members.
35776 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35777
35778 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35779 prototype.
35780 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35781 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35782 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35783
35784 * util/grub-probe.c (probe): Move partmap probing code from here ...
35785 (probe_partmap): ... to here.
35786 (probe): Use probe_partmap() once for the disk we're probing, and
35787 additionally, when such disk contains a memberlist() struct member,
35788 once for each disk that is contained in the structure returned by
35789 memberlist().
35790
91a4bf68 357912008-02-09 Robert Millan <rmh@aybabtu.com>
35792
35793 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35794 environment variable to 'all' in order to obtain debug output from
35795 non-util/ code.
35796 * util/i386/pc/grub-setup.c (main): Likewise.
35797
a96f9caa 357982008-02-08 Robert Millan <rmh@aybabtu.com>
35799
35800 * disk/raid.c (grub_raid_scan_device): Check for
35801 `array->device[sb.this_disk.number]' rather than for
35802 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35803 guaranteed to be accessible.
a96f9caa 35804
b37a9222 358052008-02-08 Robert Millan <rmh@aybabtu.com>
35806
35807 * disk/raid.c: Update copyright.
35808 * fs/cpio.c: Likewise.
35809 * include/grub/raid.h: Likewise.
35810 * loader/i386/pc/multiboot.c: Likewise.
35811 * util/hostfs.c: Likewise.
35812
5626aee1 358132008-02-08 Robert Millan <rmh@aybabtu.com>
35814
35815 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35816 to a grub_disk_t array.
35817 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35818 `device[x]'.
35819 (grub_raid_scan_device): Replace `device[x].name' accesses with
35820 `device[x]->name'. Simplify initialization of `array->device[x]'.
35821
554f0187 358222008-02-08 Robert Millan <rmh@aybabtu.com>
35823
35824 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35825 grub_dprintf() calls.
35826 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35827 error message.
35828
1ec8425d 358292008-02-07 Christian Franke <franke@computer.org>
35830
35831 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35832 instead of fseek and ftell to support large files.
35833 (grub_hostfs_read): Likewise.
35834
f2156fda 358352008-02-07 Robert Millan <rmh@aybabtu.com>
35836
35837 Patch from Jeroen Dekkers.
35838 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35839 failure, since successfully reading all array members might not be
f2156fda 35840 required.
35841
9216e0e7 358422008-02-06 Robert Millan <rmh@aybabtu.com>
35843
35844 * util/grub-probe.c (probe): Simplify partmap probing (with the
35845 assumption that the first word up to the underscore equals to
35846 the module name).
35847
b0dfd29a 358482008-02-06 Christian Franke <franke@computer.org>
35849
35850 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35851 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35852 last block of a cpio or tar stream.
35853 Check for "TRAILER!!!" instead of any empty data
35854 block to detect last block of a cpio stream.
35855 (grub_cpio_dir): Fix constness of variable np.
35856 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35857 cpio or tar trailer is detected. This fixes a crash
35858 on open of a non existing file.
35859
c32865bf 358602008-02-05 Bean <bean123ch@gmail.com>
35861
35862 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35863 address of entry.
35864 (grub_multiboot_load_elf64): Likewise.
35865 (grub_multiboot): Initialize mbi structure.
35866
35867 * util/grub-fstest.c: Don't include unused header file script.h.
35868
fe6b695a 35869 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35870 of file.
35871 (grub_fstest_SOURCES): Likewise.
35872
409480b7 358732008-02-05 Robert Millan <rmh@aybabtu.com>
35874
35875 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35876 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35877 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35878 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35879
35880 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35881 (translation_table): Replace hardcoded values with macros
35882 provided by `<grub/term.h>'.
35883
35884 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35885 (keyboard_map): Correct/add a few values, with macros provided
35886 by `<grub/term.h>'.
35887 (keyboard_map_shift): Zero values that don't differ from their
35888 `keyboard_map' equivalents.
35889 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35890 Discard the second scan code that is always sent by Caps lock.
35891 Only use `keyboard_map_shift' when it provides a non-zero value,
35892 otherwise fallback to `keyboard_map'.
35893
99fadbaa 358942008-02-04 Bean <bean123ch@gmail.com>
35895
35896 * Makefile.in (enable_grub_fstest): New variable.
35897
35898 * conf/common.rmk (grub_fstest_init.lst): New rule.
35899 (grub_fstest_init.h): Likewise.
35900 (grub_fstest_init.c): Likewise.
35901 (util/grub-fstest.c_DEPENDENCIES): New variable.
35902 (grub_fstest_SOURCES): Likewise.
35903
35904 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35905
35906 * util/grub-fstest.c: New file.
35907
bf567c50 359082008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35909
35910 Make grub-setup handle a separate root device.
f19dbdb7 35911
bf567c50 35912 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35913 so that the root device can be compared with the destination
35914 device.
35915 When embedding the core image, if the root and destination devices
35916 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35917 0xFF.
35918 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35919
9be6b98b 359202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35921
35922 Add support for having a grub directory in a different drive. This
35923 is still only the data handling part.
f19dbdb7 35924
9be6b98b 35925 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35926 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35927 (grub_root_drive): New variable.
35928
35929 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35930 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35931 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35932 as it was.
35933
35934 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35935
35936 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35937 macro.
35938 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35939
35940 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35941 is bogus, because PXE booting does not specify any drive
35942 correctly.
35943
35944 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35945 am not sure if this is really correct.
35946
35947 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35948 is always identical to the boot drive when booting from a CD.
35949
35950 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35951 longer.
35952 (root_drive): New variable.
35953 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35954 (setup_sectors): Push %dx right after popping it, because %dh will
35955 be modified later.
35956 (copy_buffer): Restore %dx.
35957
e0ca0677 359582008-02-03 Robert Millan <rmh@aybabtu.com>
35959
35960 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35961 use `cdboot.img' for cdrom images.
35962
3b3f6629 359632008-02-03 Robert Millan <rmh@aybabtu.com>
35964
35965 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35966 only setup gfxterm when `font' command has succeeded.
35967
d42b3672 359682008-02-03 Robert Millan <rmh@aybabtu.com>
35969
35970 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35971 (grub_rescue_cmd_multiboot_loader)
35972 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35973
fa370ea6 359742008-02-03 Pavel Roskin <proski@gnu.org>
35975
e0c5dacb 35976 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35977 %edx and %esi from stack only after grub_gate_a20() is called.
35978 grub_gate_a20() clobbers %edx.
35979
f2a76e1d 359802008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35981
35982 * configure.ac (AC_INIT): Bumped to 1.96.
35983
35984 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35985 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35986 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35987 video/readers/png.c.
35988
90fd32d1 359892008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35990
35991 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35992 (cdboot_img_SOURCES): New variable.
35993 (cdboot_img_ASFLAGS): New variable.
35994 (cdboot_img_LDFLAGS): New variable.
35995
35996 * boot/i386/pc/cdboot.S: New file.
35997
35998 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35999 (cd_count): Likewise.
36000 (grub_biosdisk_get_drive): Add support for cd device.
36001 (grub_biosdisk_call_hook): Likewise.
36002 (grub_biosdisk_iterate): Likewise.
36003 (grub_biosdisk_open): Likewise.
36004 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36005 (grub_biosdisk_rw): Support reading from cd device.
36006 (GRUB_MOD_INIT): Iterate cd devices.
36007
36008 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36009 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36010 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36011
36012 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36013
4020aa53 360142008-02-02 Robert Millan <rmh@aybabtu.com>
36015
36016 * commands/read.c: New file.
36017 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36018 (read_mod_SOURCES): New variable.
36019 (read_mod_CFLAGS): Likewise.
36020 (read_mod_LDFLAGS): Likewise.
36021
e03a1132 360222008-02-02 Robert Millan <rmh@aybabtu.com>
36023
36024 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36025 determining whether menu has to be displayed.
36026
58c69220 360272008-02-02 Marco Gerards <marco@gnu.org>
36028
36029 * bus/pci.c: New file.
36030
36031 * include/grub/pci.h: Likewise.
36032
36033 * include/grub/i386/pc/pci.h: Likewise.
36034
36035 * commands/lspci.c: Likewise.
36036
36037 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36038 `lspci.mod'.
36039 (pci_mod_SOURCES): New variable.
36040 (pci_mod_CFLAGS): Likewise.
36041 (pci_mod_LDFLAGS): Likewise.
36042 (lspci_mod_SOURCES): Likewise.
36043 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36044 (lspci_mod_LDFLAGS): Likewise.
58c69220 36045
c004e1b4 360462008-02-02 Bean <bean123ch@gmail.com>
36047
36048 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36049 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36050
36051 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36052 (grub_xfs_btree_node): New structure.
36053 (grub_xfs_btree_root): New structure.
36054 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36055 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36056 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36057 (GRUB_XFS_EXTENT_SIZE): Likewise.
36058 (grub_xfs_read_block): Support btree format type.
36059 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36060 Use directory block as basic unit.
36061
36062 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36063
36064 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36065 __attribute__ ((__regparm__ (1))).
36066
f95562bf 360672008-02-01 Robert Millan <rmh@aybabtu.com>
36068
36069 Correct a mistake in previous commit.
36070
36071 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36072 top.
36073 (normal/command.c_DEPENDENCIES): New variable.
36074
7d31f41f 360752008-02-01 Robert Millan <rmh@aybabtu.com>
36076
36077 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36078 top.
36079 (normal/command.c_DEPENDENCIES): New variable.
36080 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36081 * conf/i386-ieee1275.rmk: Likewise.
36082 * conf/i386-linuxbios.rmk: Likewise.
36083 * conf/i386-pc.rmk: Likewise.
36084 * conf/sparc64-ieee1275.rmk: Likewise.
36085 * conf/powerpc-ieee1275.rmk: Likewise.
36086 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36087
36088 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36089
60b6be74 360902008-02-01 Robert Millan <rmh@aybabtu.com>
36091
36092 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36093 call at beginning of function.
36094
078522ab 360952008-01-31 Pavel Roskin <proski@gnu.org>
36096
36097 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36098 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36099 (grub_mkrescue_SOURCES): Likewise.
078522ab 36100 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36101
ccaa8a5f 361022008-01-30 Robert Millan <rmh@aybabtu.com>
36103
36104 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36105 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36106 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36107 (grub_probe_SOURCES): ... to here.
36108
36109 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36110 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36111 * conf/i386-ieee1275.rmk: Likewise.
36112 * conf/i386-linuxbios.rmk: Likewise.
36113 * conf/powerpc-ieee1275.rmk: Likewise.
36114
ae5a9cd7 361152008-01-30 Tristan Gingold <gingold@free.fr>
36116
36117 * kern/rescue.c: Silently accept empty lines.
36118
70bc2ef2 361192008-01-29 Bean <bean123ch@gmail.com>
36120
36121 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36122 (real_code_2): Code cleanup and change comment style.
36123 (move_memory): Avoid using 32-bit address mode.
36124
6a4d50ea 361252008-01-29 Bean <bean123ch@gmail.com>
36126
36127 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36128 (png_mod_SOURCES): New variable.
36129 (png_mod_CFLAGS): Likewise.
36130 (png_mod_LDFLAGS): Likewise.
36131
36132 * video/readers/png.c: New file.
36133
11cc30ac 361342008-01-28 Robert Millan <rmh@aybabtu.com>
36135
36136 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36137 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36138 `ifndef GRUB_MOD_GAP' hack.
36139 * util/elf/grub-mkimage.c (add_segments): Likewise.
36140
3abc589f 361412008-01-27 Robert Millan <rmh@aybabtu.com>
36142
36143 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36144 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36145 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36146
e1907778 361472008-01-27 Robert Millan <rmh@aybabtu.com>
36148
36149 Get grub-emu to build again (including parallel builds).
36150
36151 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36152 Split into ...
36153 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36154 (normal/execute.c_DEPENDENCIES): ... this, ...
36155 (grub-emu_DEPENDENCIES): ... and this.
36156
36157 * conf/i386-efi.rmk: Likewise.
36158 * conf/i386-linuxbios.rmk: Likewise.
36159 * conf/i386-ieee1275.rmk: Likewise.
36160 * conf/powerpc-ieee1275.rmk: Likewise.
36161 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36162
2216b101 361632008-01-27 Robert Millan <rmh@aybabtu.com>
36164
36165 * NEWS: Add a few items.
36166
f75172d9 361672008-01-27 Robert Millan <rmh@aybabtu.com>
36168
36169 Fix parallel builds with grub-emu. Based on earlier commit for
36170 grub-probe and grub-setup.
36171
36172 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36173 (util/grub-emu.c_DEPENDENCIES): ... this.
36174 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36175 (util/grub-emu.c_DEPENDENCIES): ... this.
36176 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36177 (util/grub-emu.c_DEPENDENCIES): ... this.
36178 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36179 (util/grub-emu.c_DEPENDENCIES): ... this.
36180 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36181 (util/grub-emu.c_DEPENDENCIES): ... this.
36182
3f51de77 361832008-01-27 Pavel Roskin <proski@gnu.org>
36184
36185 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36186 to create a gap between _end and the modules added to the image
36187 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36188 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36189 * util/elf/grub-mkimage.c (add_segments): Likewise.
36190
2033f53e 361912008-01-26 Pavel Roskin <proski@gnu.org>
36192
36193 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36194 just return an error.
36195
22da1f6f 361962008-01-26 Bean <bean123ch@gmail.com>
36197
36198 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36199 (grub_reiserfs_get_item): Save offset of the next item.
36200 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36201
2a9525e6 362022008-01-25 Robert Millan <rmh@aybabtu.com>
36203
36204 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36205 make all filesystem sources appear together (possibly fixing omissions
36206 while at it).
36207 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36208 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36209 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36211
36212 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36213 add `kern/file.c'.
36214 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36215 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36216 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36217 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36218
36219 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36220 (probe): Add a sanity check to make sure of our ability to read
36221 requested files when probing for filesystem type.
36222
36223 * genmk.rb: Update copyright year (2007).
36224
36225 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36226 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36227 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36228 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36229 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36230 : Remove function prototypes.
36231
b95f71b5 362322008-01-25 Robert Millan <rmh@aybabtu.com>
36233
36234 Revert my previous commits (based on wrong assumption of how grub_errno
36235 works).
36236
fe6b695a 36237 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36238 * kern/file.c (grub_file_open): Likewise.
36239
d08bbb49 362402008-01-24 Pavel Roskin <proski@gnu.org>
36241
36242 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36243 that hang if GRUB tries to setup colors.
36244 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36245 colors for firmwares that don't support it.
36246 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36247 Recognize Open Hack'Ware, set flags to work around its
36248 limitations.
36249
605e36ed 362502008-01-24 Robert Millan <rmh@aybabtu.com>
36251
36252 * kern/file.c (grub_file_open): Do not account previous failures of
36253 unrelated functions when grub_errno is checked for.
36254 Reported by Oleg Strikov.
36255
bac332a1 362562008-01-24 Bean <bean123ch@gmail.com>
36257
36258 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36259 (grub_ufs_sblock): New member volume name.
36260 (grub_ufs_find_file): Fix string copy bug.
36261 (grub_ufs_label): Implement this function properly.
36262
36263 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36264 (grub_hfs_iterate_records): Use the correct file number for extents
36265 and catalog file. Fix problem in next index calculation.
36266 (grub_hfs_find_node): Replace recursive function call with loop.
36267 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36268
15c80c09 362692008-01-23 Robert Millan <rmh@aybabtu.com>
36270
36271 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36272 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36273 (grub_multiboot2_real_boot): New function prototype.
36274
36275 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36276 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36277
36278 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36279 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36280
305338fd 362812008-01-23 Robert Millan <rmh@aybabtu.com>
36282
36283 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36284 #ifdef'ed out grub_printf().
36285
3ea52685 362862008-01-23 Robert Millan <rmh@aybabtu.com>
36287
36288 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36289 grub_dprintf calls, since they make "debug=all" mode unusable.
36290 (grub_console_checkkey): Likewise.
36291
5882ae4b 362922008-01-23 Robert Millan <rmh@aybabtu.com>
36293
36294 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36295 `term/i386/pc/at_keyboard.c'.
36296 (pkglib_MODULES): Add `serial.mod'.
36297 (serial_mod_SOURCES): New variable.
36298 (serial_mod_CFLAGS): Likewise.
36299 (serial_mod_LDFLAGS): Likewise.
36300
36301 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36302 `<grub/powerpc/ieee1275/console.h>'.
36303 (grub_keyboard_controller_init): New function prototype.
36304 (grub_console_checkkey): Likewise.
36305 (grub_console_getkey): Likewise.
36306
36307 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36308 keyboard on i386.
36309
36310 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36311 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36312
06ab5303 363132008-01-23 Robert Millan <rmh@aybabtu.com>
36314
36315 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36316 present, "(memdisk)/boot/grub" becomes the default prefix.
36317
36318 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36319 a memdisk tarball with all the modules. Add --overlay=DIR option that
36320 allows users to overlay additional files into the image.
36321
dbb475a4 363222008-01-23 Robert Millan <rmh@aybabtu.com>
36323
36324 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36325 and `machine/memory.h'.
36326 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36327 (_multiboot_mod_SOURCES): New variable.
36328 (_multiboot_mod_CFLAGS): Likewise.
36329 (_multiboot_mod_LDFLAGS): Likewise.
36330 (multiboot_mod_SOURCES): Likewise.
36331 (multiboot_mod_CFLAGS): Likewise.
36332 (multiboot_mod_LDFLAGS): Likewise.
36333
36334 * include/grub/i386/ieee1275/loader.h: New file.
36335
36336 * include/grub/i386/ieee1275/machine.h: Likewise.
36337
36338 * include/grub/i386/ieee1275/memory.h: Likewise.
36339
36340 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36341 variable declaration.
36342 (grub_os_area_size): Likewise.
36343
36344 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36345 (grub_lower_mem, grub_upper_mem): New variables.
36346 (grub_stop_floppy): New function (just to make
36347 grub_multiboot2_real_boot() happy).
36348
36349 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36350 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36351 (grub_stop): New function.
36352 Include `"../realmode.S"' and `"../loader.S"'.
36353
36354 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36355 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36356
36357 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36358 rely on grub_multiboot2_real_boot() for final boot.
36359
25638629 363602008-01-22 Robert Millan <rmh@aybabtu.com>
36361
36362 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36363 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36364 device that doesn't look like an SD card.
36365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36366 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36367 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36368 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36369 found.
36370
9dad816d 363712008-01-22 Robert Millan <rmh@aybabtu.com>
36372
36373 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36374 avoid claiming over our own code.
36375
34842f2d 363762008-01-22 Bean <bean123ch@gmail.com>
36377
36378 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36379 (jpeg_mod_SOURCES): New variable.
36380 (jpeg_mod_CFLAGS): Likewise.
36381 (jpeg_mod_LDFLAGS): Likewise.
36382
36383 * video/readers/jpeg.c : New file.
36384
44023a28 363852008-01-22 Bean <bean123ch@gmail.com>
36386
36387 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36388 there are no more items.
36389
bc2d8ac6 363902008-01-21 Robert Millan <rmh@aybabtu.com>
36391
36392 * kern/mm.c (grub_mm_init_region): Improve debug message.
36393
261bd4bc 363942008-01-21 Robert Millan <rmh@aybabtu.com>
36395
36396 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36397 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36398 address.
36399 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36400 a C macro.
36401 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36402 Indicates start of upper memory.
36403 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36404 (generate_image): Abort when image size is big enough to corrupt
36405 upper memory.
36406
36407 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36408 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36409 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36410 instead of hardcoding 0xA0000.
36411 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36412 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36413 instead of hardcoding 0xA0000.
36414
f970b55e 364152008-01-21 Robert Millan <rmh@aybabtu.com>
36416
36417 * disk/memdisk.c (memdisk_size): New variable.
36418 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36419 `memdisk_size'.
36420 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36421 image to dynamic memory.
36422 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36423 `memdisk_size'. Free memdisk block.
36424
1a8b0526 364252008-01-21 Robert Millan <rmh@aybabtu.com>
36426
36427 Fix detection of very small filesystems (like tar).
36428
36429 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36430 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36431 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36432 a problem with this disk).
36433
6e9b4aab 364342008-01-21 Robert Millan <rmh@aybabtu.com>
36435
36436 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36437 on grub_biosdisk_rw_standard() error.
36438
0d8837b2 364392008-01-21 Robert Millan <rmh@aybabtu.com>
36440
36441 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36442 recent changes.
36443 * kern/elf.c: Likewise.
36444 * kern/ieee1275/ieee1275.c: Likewise.
36445 * kern/powerpc/ieee1275/openfw.c: Likewise.
36446 * term/ieee1275/ofconsole.c: Likewise.
36447
ffd36e34 364482008-01-21 Robert Millan <rmh@aybabtu.com>
36449
36450 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36451
3f0093d0 36452 * include/grub/kernel.h (grub_arch_memdisk_addr)
36453 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36454
3f0093d0 36455 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36456 (grub_arch_memdisk_size): ... to here.
ffd36e34 36457
6c391b21 364582008-01-21 Robert Millan <rmh@aybabtu.com>
36459
36460 Mostly based on bugfix from Bean.
36461
36462 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36463 attribute with hook() parameter.
36464 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36465 declaration.
36466 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36467 attribute with hook() parameter.
36468 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36469 declaration.
36470
55a581dc 364712008-01-21 Robert Millan <rmh@aybabtu.com>
36472
36473 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36474 (pkglib_MODULES): Add `memdisk.mod'.
36475 (memdisk_mod_SOURCES): New variable.
36476 (memdisk_mod_CFLAGS): Likewise.
36477 (memdisk_mod_LDFLAGS): Likewise.
36478
36479 * disk/memdisk.c: New file.
36480
36481 * include/grub/disk.h (grub_disk_dev_id): Add
36482 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36483
36484 * include/grub/i386/pc/kernel.h
36485 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36486 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36487 (grub_kernel_image_size): New variable declaration.
36488 (grub_total_module_size): Likewise.
36489 (grub_memdisk_image_size): Likewise.
36490
36491 * include/grub/i386/pc/memory.h
36492 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36493
36494 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36495 (grub_arch_memdisk_addr): New variable declaration.
36496 (grub_arch_memdisk_size): Likewise.
36497
36498 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36499 (grub_arch_memdisk_size): Likewise.
36500
36501 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36502 (codestart): Replace hardcoded `0x100000' with
36503 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36504
36505 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36506 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36507 not NULL, append the contents of the file it refers to, at the end of
36508 the compressed kernel image. Initialize `grub_memdisk_image_size'
36509 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36510 (options): Add "memdisk"|'m' option.
36511 (main): Parse --memdisk|-m option, and pass user-provided path as
36512 parameter to generate_image().
36513
3d7f54c9 365142008-01-20 Robert Millan <rmh@aybabtu.com>
36515
36516 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36517 grub_dprintf() calls from here ...
36518 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36519
0bf74728 365202008-01-20 Robert Millan <rmh@aybabtu.com>
36521
36522 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36523
36524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36525 declaration.
36526 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36527 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36528 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36529 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36530 property).
36531 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36532 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36533
33bf70a7 365342008-01-19 Robert Millan <rmh@aybabtu.com>
36535
fe6b695a 36536 Get rid of confusing function (superseded by
33bf70a7 36537 `grub_ieee1275_get_integer_property')
36538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36539 prototype.
36540 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36541 function.
36542 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36543 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36544 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36545
e2da7d26 365462008-01-19 Robert Millan <rmh@aybabtu.com>
36547
36548 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36549 command after "shut-down", since implementations differ on which
36550 the command for halt is.
36551
59f1fd8d 365522008-01-19 Robert Millan <rmh@aybabtu.com>
36553
36554 * include/grub/i386/linuxbios/console.h: Add header protection.
36555 (grub_keyboard_controller_init): New function prototype.
36556 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36557 (KEYBOARD_COMMAND_READ): Likewise.
36558 (KEYBOARD_COMMAND_WRITE): Likewise.
36559 (KEYBOARD_SCANCODE_SET1): Likewise.
36560 (grub_keyboard_controller_write): New function.
36561 (grub_keyboard_controller_read): Likewise.
36562 (grub_keyboard_controller_init): Likewise.
36563
36564 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36565 (grub_console_init): On coreboot/LinuxBIOS, call
36566 grub_keyboard_controller_init().
36567
5f5a7c15 365682008-01-19 Robert Millan <rmh@aybabtu.com>
36569
36570 PowerPC changes provided by Pavel Roskin.
36571
36572 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36573 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36574 don't rely on cmain() doing it.
36575 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36576 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36577
1210e168 365782008-01-16 Robert Millan <rmh@aybabtu.com>
36579
36580 * include/grub/i386/linuxbios/memory.h
36581 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36582 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36583 receive `table_header' as argument. Instead, probe for it in the
36584 known memory ranges where it can be present.
36585 (grub_available_iterate): Do not pass a fixed `table_header' address
36586 to grub_linuxbios_table_iterate().
36587
3d04eab8 365882008-01-15 Robert Millan <rmh@aybabtu.com>
36589
36590 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36591 * conf/i386-ieee1275.rmk: New file.
36592 * include/grub/i386/ieee1275/console.h: Likewise.
36593 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36594 * include/grub/i386/ieee1275/kernel.h: Likewise.
36595 * include/grub/i386/ieee1275/time.h: Likewise.
36596 * kern/i386/ieee1275/init.c: Likewise.
36597 * kern/i386/ieee1275/startup.S: Likewise.
36598
d1bc1b73 365992008-01-15 Robert Millan <rmh@aybabtu.com>
36600
36601 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36602 when pointers are 32-bit (but still do set it to one when they are
36603 64-bit).
36604
66a65807 366052008-01-15 Robert Millan <rmh@aybabtu.com>
36606
36607 * include/grub/ieee1275/ieee1275.h
36608 (grub_ieee1275_get_integer_property): New function prototype.
36609
36610 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36611 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36612 grub_ieee1275_get_property() to handle endianness.
66a65807 36613
36614 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36615 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36616 where appropriate.
66a65807 36617 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36618 (grub_map): Likewise.
36619 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36620
a83ccafd 366212008-01-15 Bean <bean123ch@gmail.com>
36622
36623 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36624 (grub_script_execute_cmdline): Reset grub_errno.
36625
36626 * normal/main.c (read_config_file): Reset grub_errno.
36627
36628 * normal/parse.y (script_init): New.
36629 (script): Move function and menuentry here.
36630 (delimiter): New.
36631 (command): Add delimiter at the end of command.
36632 (commands): Adjust to match the new command.
36633 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36634 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36635 (if): Use the new commands.
36636
36637 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36638
df6ecfc6 366392008-01-15 Robert Millan <rmh@aybabtu.com>
36640
36641 * normal/menu.c (run_menu): Move timeout message from here ...
36642 (print_timeout): ... to here.
36643 (run_menu): Use print_timeout() once during initial draw to print
36644 the whole message, and again in every clock tick to update only
36645 the number of seconds.
36646
87ae25eb 366472008-01-15 Robert Millan <rmh@aybabtu.com>
36648
36649 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36650 actual size of `available' from grub_ieee1275_get_property(), and
36651 restrict parsing to that bound.
36652
47bf09a4 366532008-01-15 Christian Franke <franke@computer.org>
36654
36655 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36656 (argp_program_version): Remove variable.
36657 (argp_program_bug_address): Likewise.
36658 (options): Convert from struct argp_option to struct option.
36659 (struct arguments): Remove.
36660 (parse_opt): Remove.
36661 (usage): New function.
36662 (main): Replace struct args members by simple variables.
36663 Replace argp_parse() by getopt_long().
36664 Add switch to evaluate options.
36665 Add missing "(...)" around root_dev in prefix string.
36666
c86f1469 366672008-01-14 Robert Millan <rmh@aybabtu.com>
36668
36669 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36670 for grub_ieee1275_exit(), in order to improve portability.
36671
e622c559 366722008-01-14 Robert Millan <rmh@aybabtu.com>
36673
36674 * util/grub.d/10_linux.in (prefix): Define.
36675 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36676
44cb1ec8 366772008-01-13 Pavel Roskin <proski@gnu.org>
36678
36679 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36680 grub_errno if no errors have been detected.
36681
1eb8c802 366822008-01-12 Robert Millan <rmh@aybabtu.com>
36683
36684 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36685 (grub_util_get_dev_abstraction): New function prototype.
36686
36687 * util/getroot.c: Include `<grub/util/getroot.h>'
36688 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36689 (grub_util_get_dev_abstraction): ... here (new function).
36690
36691 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36692 `PRINT_ABSTRACTION'.
36693 (probe): Probe for abstraction type when requested.
36694 (main): Understand `--target=abstraction'.
36695
36696 * util/i386/efi/grub-install.in: Add abstraction module to core
36697 image when it is found to be necessary.
36698 * util/i386/pc/grub-install.in: Likewise.
36699 * util/powerpc/ieee1275/grub-install.in: Likewise.
36700
36701 * util/update-grub_lib.in (font_path): Return system path without
36702 converting to GRUB path.
36703 * util/update-grub.in: Convert system path returned by font_path()
36704 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36705 abstraction module is needed for loading fonts (if any). Export
36706 that as `GRUB_PRELOAD_MODULES'.
36707 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36708 insmod commands).
36709
52bd3de9 367102008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36711
36712 Remove some unused code from reiserfs.
f19dbdb7 36713
52bd3de9 36714 * fs/reiserfs.c (struct grub_reiserfs_key)
36715 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36716 (struct grub_reiserfs_node_body): Removed.
36717 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36718 Likewise.
36719 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36720 Likewise.
36721 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36722 Likewise.
36723 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36724 Likewise.
36725 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36726 Likewise.
36727 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36728 Likewise.
36729 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36730 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36731 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36732
2f80039d 367332008-01-10 Robert Millan <rmh@aybabtu.com>
36734
36735 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36736 Determines if a file is garbage left by packaging systems, etc.
36737 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36738 for processing /etc/grub.d scripts.
36739 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36740 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36741 as a condition for processing Linux images.
36742
87888032 367432008-01-10 Pavel Roskin <proski@gnu.org>
36744
36745 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36746 to compile reiserfs.c on PowerPC.
36747
7e54fced 367482008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36749
36750 * kern/device.c (grub_device_iterate): Do not abort device iteration
36751 when one of the devices cannot be opened.
36752 * kern/disk.c (grub_disk_open): Do not account previous failures of
36753 unrelated functions when grub_errno is checked for.
36754
5aa541e6 367552008-01-08 Robert Millan <rmh@aybabtu.com>
36756
36757 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36758 `! grub_linux_is_bzimage', change order of address comparison to make
36759 it more intuitive, and improve "too big zImage" error message.
36760
7076340d 367612008-01-08 Robert Millan <rmh@aybabtu.com>
36762
36763 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36764 `$(update-grub_DATA)'.
36765 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36766 targets.
36767
9ca70333 367682008-01-07 Robert Millan <rmh@aybabtu.com>
36769
36770 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36771 which instruction is modified by grub-setup during installation
36772 (since it wasn't obvious by only looking at this file).
36773
38ccf575 367742008-01-07 Robert Millan <rmh@aybabtu.com>
36775
36776 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36777 listing actual TODO items.
36778
f5db4291 367792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36780
868967cf 36781 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36782 correctly.
36783 (grub_reiserfs_get_key_offset): Likewise.
36784 (grub_reiserfs_set_key_offset): Likewise.
36785 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36786 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36787
36788 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36789 better to remove the bitfield version completely.
f19dbdb7 36790
868967cf 367912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36792
f5db4291 36793 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36794 allocated from the heap, due to the fshelp implementation.
36795 (grub_reiserfs_dir): Free NODE, due to the same reason.
36796
492e6d9d 367972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36798
36799 Mostly from Vincent Pelletier:
f19dbdb7 36800
492e6d9d 36801 * fs/reiserfs.c: New file.
f19dbdb7 36802
492e6d9d 36803 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36804 (reiserfs_mod_SOURCES): New variable.
36805 (reiserfs_mod_CFLAGS): Likewise.
36806 (reiserfs_mod_LDFLAGS): Likewise.
36807
36808 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36809 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36810 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36811 normal/color.c.
36812
9ce3e7c1 368132008-01-06 Robert Millan <rmh@aybabtu.com>
36814
36815 * normal/color.c: Remove `<grub/env.h>'.
36816
f3b58148 368172008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36818
36819 * include/grub/normal.h: Include <grub/env.h>.
36820
7ac3bcfa 368212008-01-05 Robert Millan <rmh@aybabtu.com>
36822
36823 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36824 usage example with `(hd0,1)'.
fb358190 36825 Reported by Samuel Thibault.
7ac3bcfa 36826
c8ee99d7 368272008-01-05 Robert Millan <rmh@aybabtu.com>
36828
36829 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36830 (grub_linux_boot_zimage): Rename to ...
36831 (grub_linux_boot): ... this.
36832 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36833 (grub_linux_boot_zimage): Conditionalize zImage copy.
36834
36835 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36836 (grub_linux_boot_bzimage): Remove prototype.
36837 (grub_linux_boot_zimage): Rename to ...
36838 (grub_linux_boot): ... this.
36839
36840 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36841 (grub_linux_boot): Remove function.
36842
0ece25b1 368432008-01-05 Robert Millan <rmh@aybabtu.com>
36844
36845 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36846 (grub_env_write_color_highlight): Likewise.
36847 (grub_wait_after_message): Likewise.
36848
36849 * normal/color.c: New file.
36850
36851 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36852 (normal_mod_DEPENDENCIES): Likewise.
36853
36854 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36855 (normal_mod_DEPENDENCIES): Likewise.
36856
36857 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36858 (normal_mod_DEPENDENCIES): Likewise.
36859
36860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36861 (normal_mod_DEPENDENCIES): Likewise.
36862
36863 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36864 for waiting after a message is printed.
36865 * normal/main.c (read_config_file): Likewise.
36866 (grub_normal_init): Register grub_env_write_color_normal() and
36867 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36868 `color_highlight' variables as global.
36869
36870 * normal/menu.c (grub_wait_after_message): New function.
36871 (grub_color_menu_normal): New variable. Replaces ...
36872 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36873 (grub_color_menu_highlight): New variable. Replaces ...
36874 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36875 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36876 `GRUB_TERM_COLOR_STANDARD'.
36877 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36878 `normal_code' and `highlight_code' to `old_color_normal' and
36879 `old_color_highlight', respectively.
36880 (grub_menu_init_page): Update colors when drawing the menu, based on
36881 `menu_color_normal' and `menu_color_highlight' variables.
36882 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36883 a message is printed.
36884
182dd4e5 368852008-01-05 Robert Millan <rmh@aybabtu.com>
36886
36887 * kern/env.c (grub_env_context_open): Propagate hooks for global
36888 variables to new context.
36889
36890 * kern/main.c (grub_set_root_dev): Export `root' variable.
36891
ddf8f6ad 368922008-01-05 Robert Millan <rmh@aybabtu.com>
36893
36894 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36895 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36896 them.
36897
d8b43d9b 368982008-01-05 Robert Millan <rmh@aybabtu.com>
36899
36900 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36901
2bff2de3 369022008-01-04 Christian Franke <franke@computer.org>
36903
36904 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36905 of eisa_mmap.
36906
97eab917 369072008-01-03 Pavel Roskin <proski@gnu.org>
36908
36909 * kern/i386/linuxbios/init.c: Put "void" to all function
36910 declarations with no arguments.
36911 * kern/powerpc/ieee1275/init.c: Likewise.
36912 * term/i386/pc/at_keyboard.c: Likewise.
36913 * term/i386/pc/vga_text.c: Likewise.
36914 * util/grub-mkdevicemap.c: Likewise.
36915
b9416d00 369162008-01-02 Robert Millan <rmh@aybabtu.com>
36917
36918 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36919 message when loaded image is out of bounds.
36920 (grub_multiboot_load_elf64): Likewise.
36921
92695df9 369222008-01-02 Pavel Roskin <proski@gnu.org>
36923
36924 * util/grub.d/10_linux.in: Try version without ".old" when
36925 looking for initrd. It's better to use initrd from the newer
36926 kernel of the same version than no initrd at all.
36927
d98d9cad 369282008-01-01 Robert Millan <rmh@aybabtu.com>
36929
36930 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36931
dbfdce36 369322008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36933
f19dbdb7 36934 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36935 grub_video_get_active_render_target.
36936 (grub_video_adapter): Added unmap_color and get_active_render_target.
36937
f19dbdb7 36938 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36939 grub_video_get_active_render_target.
36940 (grub_video_get_info): Changed method to accept NULL pointer as an
36941 argument to allow detection of active video adapter.
36942
36943 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36944 grub_video_vbe_unmap_color_int.
36945 Added grub_video_vbe_unmap_color and
36946 grub_video_vbe_get_active_render_target.
36947 (grub_video_vbe_adapter): Added unmap_color and
36948 get_active_render_target.
36949
f19dbdb7 36950 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36951 with grub_video_vbe_unmap_color_int.
36952
36953 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36954 (DEFAULT_NORMAL_COLOR): Likewise.
36955 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36956 (DEFAULT_FG_COLOR): Removed.
36957 (DEFAULT_BG_COLOR): Likewise.
36958 (DEFAULT_CURSOR_COLOR): Changed value.
36959 (grub_virtual_screen): Added standard_color_setting,
36960 normal_color_setting, highlight_color_setting and term_color.
36961 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36962 (bitmap_width): Added.
36963 (bitmap_height): Likewise.
36964 (bitmap): Likewise.
36965 (set_term_color): Likewise.
36966 (grub_virtual_screen_setup): Changed to use new terminal coloring
36967 settings.
36968 (grub_gfxterm_init): Added init for bitmap.
36969 (grub_gfxterm_fini): Added destroy for bitmap.
36970 (redraw_screen_rect): Updated to use background bitmap and new
36971 terminal coloring.
36972 (scroll_up): Added optimization for case when there is no bitmap.
36973 (grub_gfxterm_cls): Fixed to use correct background color.
36974 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36975 coloring.
36976 (grub_virtual_screen_setcolor): Likewise.
36977 (grub_virtual_screen_getcolor): Added.
36978 (grub_gfxterm_background_image_cmd): Likewise.
36979 (grub_video_term): Added setcolor and getcolor.
36980 (MOD_INIT): Added registration of background_image command.
36981 (MOD_TERM): Added unregistration for background_image command.
36982
c3c20931 369832007-12-30 Pavel Roskin <proski@gnu.org>
36984
36985 * loader/multiboot_loader.c: Fix multiboot command
36986 unregistration. Fix all typos in the word "multiboot".
36987
df266716 369882007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36989
36990 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36991 support for initrd names used in Fedora.
36992
fc6e896c 369932007-12-26 Bean <bean123ch@gmail.com>
36994
36995 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36996 (cpio_mod_SOURCES): New variable.
36997 (cpio_mod_CFLAGS): Likewise.
36998 (cpio_mod_LDFLAGS): Likewise.
36999
37000 * fs/cpio.c: New file.
37001
37002 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37003
37004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37005
37006 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37007
37008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37009
533110ad 370102007-12-25 Robert Millan <rmh@aybabtu.com>
37011
37012 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37013 (grub_getcolor): New function.
37014
37015 * kern/term.c (grub_getcolor): New function.
37016 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37017 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37018 (print_entry): Set normal and highlight colors to
37019 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37020 respectively, before printing and restore them to old
37021 values afterwards.
37022 (grub_menu_init_page): Likewise. Fill an additional colored space
37023 that would otherwise be left blank.
37024
37025 * term/efi/console.c (grub_console_getcolor): New function.
37026 (struct grub_console_term.getcolor): New variable.
37027 * term/i386/pc/console.c (grub_console_getcolor): New function.
37028 (struct grub_console_term.getcolor): New variable.
37029 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37030 (struct grub_console_term.getcolor): New variable.
37031
37032 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37033 (struct grub_console_term.setcolor): Remove variable.
37034 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37035 (struct grub_console_term.setcolor): Remove variable.
37036 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37037 (struct grub_console_term.setcolor): Remove variable.
37038 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37039 (struct grub_console_term.setcolor): Remove variable.
37040
4931827f 370412007-12-25 Robert Millan <rmh@aybabtu.com>
37042
37043 * configure.ac: Search for possible unifont.hex locations, and
37044 define UNIFONT_HEX if found.
37045
37046 * Makefile.in (UNIFONT_HEX): Define variable.
37047 (DATA): Rename to ...
37048 (PKGLIB): ... this. Update all users.
37049 (PKGDATA): New variable.
37050 (pkgdata_IMAGES): Rename to ...
37051 (pkglib_IMAGES): ... this. Update all users.
37052 (pkgdata_MODULES): Rename to ...
37053 (pkglib_MODULES): ... this. Update all users.
37054 (pkgdata_PROGRAMS): Rename to ...
37055 (pkglib_PROGRAMS): ... this. Update all users.
37056 (pkgdata_DATA): Rename to ...
37057 (pkglib_DATA): ... this. Update all users.
37058 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37059 (unicode.pff, ascii.pff): New rules.
37060 (all-local): Add `$(PKGDATA)' dependency.
37061 (install-local): Process `$(PKGDATA)'.
37062
37063 * util/update-grub_lib.in (font_path): Search for *.pff files in
37064 a few more locations, including `${pkgdata}'.
37065
57e57e31 370662007-12-23 Robert Millan <rmh@aybabtu.com>
37067
37068 Patch from Bean <bean123ch@gmail.com>:
37069 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37070 `size'.
37071
4bc72aa9 370722007-12-21 Bean <bean123ch@gmail.com>
37073
37074 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37075 (ntfscomp_mod_SOURCES): New variable.
37076 (ntfscomp_mod_CFLAGS): Likewise.
37077 (ntfscomp_mod_LDFLAGS): Likewise.
37078
37079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37080 (grub_probe_SOURCES): Likewise.
37081 (grub_emu_SOURCES): Likewise.
37082
37083 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37084 (grub_emu_SOURCES): Likewise.
37085
37086 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37087 (grub_emu_SOURCES): Likewise.
37088
37089 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37090 (grub_emu_SOURCES): Likewise.
37091
37092 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37093 (read_run_list): Renamed to grub_ntfs_read_run_list.
37094 (decomp_nextvcn): Moved to ntfscomp.c.
37095 (decomp_getch): Likewise.
37096 (decomp_get16): Likewise.
37097 (decomp_block): Likewise.
37098 (read_block): Likewise.
37099 (read_data): Partially moved to ntfscomp.c.
37100 (fixup): Change unsigned to grub_uint16_t.
37101 (read_mft): Change unsigned long to grub_uint32_t.
37102 (read_attr): Likewise.
37103 (read_data): Likewise.
37104 (read_run_data): Likewise.
37105 (read_run_list): Likewise.
37106 (read_mft): Likewise.
37107
37108 * fs/ntfscomp.c: New file.
37109
37110 * include/grub/ntfs.h: New file.
37111
af680a87 371122007-12-16 Robert Millan <rmh@aybabtu.com>
37113
37114 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37115 IDE disk check, since Linux is known to support 20 IDE disks.
37116 Reported by Colin Watson.
37117
84be7599 371182007-12-15 Bean <bean123ch@gmail.com>
37119
37120 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37121 (lnxboot_img_SOURCES): New variable.
37122 (lnxboot_img_ASFLAGS): Likewise.
37123 (lnxboot_img_LDFLAGS): Likewise.
37124
37125 * boot/i386/pc/lnxboot.S: New file.
37126
6af9db01 371272007-11-24 Pavel Roskin <proski@gnu.org>
37128
37129 * configure.ac: Test if '--build-id=none' is supported by the
37130 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37131 objcopy to generate incorrect binary files (binutils
37132 2.17.50.0.18-1 as shipped by Fedora 8).
37133 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37134 linking, so that build ID doesn't break the test.
37135
7361cfe6 371362007-11-24 Pavel Roskin <proski@gnu.org>
37137
37138 * include/grub/i386/time.h: use "void" in the argument list
37139 of grub_cpu_idle().
37140 * include/grub/powerpc/time.h: Likewise.
37141 * include/grub/sparc64/time.h: Likewise.
37142
1593e10c 371432007-11-18 Christian Franke <franke@computer.org>
37144
37145 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37146 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37147 This fixes the problem that function keys did not work in grub-emu.
37148
3b8db1a8 371492007-11-18 Christian Franke <franke@computer.org>
37150
37151 * disk/host.c (grub_host_open): Remove attribute unused from
37152 name parameter. Add check for "host". This fixes the problem
37153 that grub-emu does not find partitions.
37154
2e29408d 371552007-11-18 Christian Franke <franke@computer.org>
37156
37157 * util/hostfs.c (is_dir): New function.
37158 (grub_hostfs_dir): Handle missing dirent.d_type case.
37159 (grub_hostfs_read): Add missing fseek().
37160 (grub_hostfs_label): Clear label pointer. This fixes a crash
37161 of grub-emu on "ls (host)".
37162
398cd047 371632007-11-18 Christian Franke <franke@computer.org>
37164
37165 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37166 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37167 to 64 bit boundary by default.
37168
c405c391 371692007-11-18 Bean <bean123ch@gmail.com>
37170
37171 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37172 (hexdump_mod_SOURCES): New variable.
37173 (hexdump_mod_CFLAGS): Likewise.
37174 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37175
c405c391 37176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37177
37178 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37179
37180 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37181
37182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37183
37184 * include/grub/hexdump.h: New file.
37185
37186 * commands/hexdump.c: New file.
37187
5cced7fd 371882007-11-10 Robert Millan <rmh@aybabtu.com>
37189
37190 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37191 in grub_outb() calls.
37192 (beep_on): Likewise.
37193
8b714eb0 371942007-11-10 Christian Franke <franke@computer.org>
37195
37196 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37197 (grub_menu_run): Likewise.
37198
ce0f1839 371992007-11-10 Robert Millan <rmh@aybabtu.com>
37200
37201 * include/grub/i386/efi/machine.h: New file.
37202 * include/grub/i386/linuxbios/machine.h: Likewise.
37203 * include/grub/i386/pc/machine.h: Likewise.
37204 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37205 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37206
37207 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37208 (serial_hw_io_addr): New variable.
37209 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37210 instead of `(unsigned short *) 0x400'.
37211
270c237d 372122007-11-10 Bean <bean123ch@gmail.com>
37213
37214 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37215
a87783bf 372162007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37217
37218 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37219 (vga_mod_SOURCES): Added.
37220 (vga_mod_CFLAGS): Likewise.
37221 (vga_mod_LDFLAGS): Likewise.
37222
37223 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37224 grub_outb() calls.
37225 (set_map_mask): Likewise.
37226 (set_read_map): Likewise.
37227 (set_read_address): Likewise.
37228 (vga_font): Removed variable.
37229 (get_vga_glyph): Removed function.
37230 (invalidate_char): Likewise.
37231 (write_char): Changed to use grub_font_get_glyph() for font
37232 information.
37233 (grub_vga_putchar): Likewise.
37234 (grub_vga_getcharwidth): Likewise.
37235
6433b448 372362007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37237
37238 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37239 flags.
37240 (pxeboot_img_LDFLAGS): Likewise.
37241 (diskboot_img_LDFLAGS): Likewise.
37242 (kernel_img_LDFLAGS): Likewise.
37243
49178511 372442007-11-06 Robert Millan <rmh@aybabtu.com>
37245
37246 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37247 in grub_outb() calls.
37248 (serial_hw_init): Likewise.
37249
53b052de 372502007-11-05 Robert Millan <rmh@aybabtu.com>
37251
37252 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37253 spaces. Skip non-regular files.
37254
5ab33bba 372552007-11-05 Robert Millan <rmh@aybabtu.com>
37256
37257 * kern/disk.c (grub_disk_firmware_fini)
37258 (grub_disk_firmware_is_tainted): New variables.
37259
37260 * include/grub/disk.h (grub_disk_firmware_fini)
37261 (grub_disk_firmware_is_tainted): Likewise.
37262
37263 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37264 (grub_disk_biosdisk_fini): ... to here.
37265 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37266 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37267 is set. Register grub_disk_biosdisk_fini() in
37268 `grub_disk_firmware_fini'.
37269
37270 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37271 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37272 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37273 to finish existing firmware disk interface.
37274
37275 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37276 (ata_mod_SOURCES): New variable.
37277 (ata_mod_CFLAGS): Likewise.
37278 (ata_mod_LDFLAGS): Likewise.
37279
0149ab7c 372802007-11-05 Robert Millan <rmh@aybabtu.com>
37281
37282 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37283 (grub_ata_wait): Reimplement using grub_millisleep().
37284
37285 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37286 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37287
be7ac41e 372882007-11-03 Marco Gerards <marco@gnu.org>
37289
37290 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37291 (CRTC_ADDR_PORT): New macro.
37292 (CRTC_DATA_PORT): Likewise.
37293 (CRTC_CURSOR): Likewise.
37294 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37295 (CRTC_CURSOR_ADDR_LOW): Likewise.
37296 (update_cursor): New function.
37297 (grub_console_real_putchar): Call `update_cursor'.
37298 (grub_console_gotoxy): Likewise.
37299 (grub_console_cls): Set the default color when clearing the
37300 screen.
37301 (grub_console_setcursor): Implemented.
37302
bb06ab2e 373032007-11-03 Marco Gerards <marco@gnu.org>
37304
37305 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37306 become activate.
37307 (grub_ata_pio_write): Likewise.
37308
37309 (grub_atapi_identify): Wait after issuing an ATA command.
37310 (grub_atapi_packet): Likewise.
37311 (grub_ata_identify): Likewise.
37312 (grub_ata_readwrite): Likewise.
37313
cf8f780b 373142007-11-03 Marco Gerards <marco@gnu.org>
37315
37316 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37317 (grub_ata_pio_write): Likewise.
37318 (grub_ata_readwrite): Use `grub_error', instead of
37319 returning `grub_errno'.
37320
ed649e54 373212007-11-03 Marco Gerards <marco@gnu.org>
37322
37323 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37324 grub_ata_pio_write once for every single sector, instead of for
37325 multiple sectors.
37326
ca25d8f0 373272007-10-31 Robert Millan <rmh@aybabtu.com>
37328
37329 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37330
37331 * conf/i386-linuxbios.rmk: New file.
37332
37333 * kern/i386/pc/hardware.c: Likewise.
37334 * term/i386/pc/at_keyboard.c: Likewise.
37335 * term/i386/pc/vga_text.c: Likewise.
37336
37337 * include/grub/i386/linuxbios/boot.h: Likewise.
37338 * include/grub/i386/linuxbios/console.h: Likewise.
37339 * include/grub/i386/linuxbios/init.h: Likewise.
37340 * include/grub/i386/linuxbios/kernel.h: Likewise.
37341 * include/grub/i386/linuxbios/loader.h: Likewise.
37342 * include/grub/i386/linuxbios/memory.h: Likewise.
37343 * include/grub/i386/linuxbios/serial.h: Likewise.
37344 * include/grub/i386/linuxbios/time.h: Likewise.
37345
37346 * kern/i386/linuxbios/init.c: Likewise.
37347 * kern/i386/linuxbios/startup.S: Likewise.
37348 * kern/i386/linuxbios/table.c: Likewise.
37349
e911ecc1 373502007-10-31 Marco Gerards <marco@gnu.org>
37351
37352 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37353 (ata_mod_SOURCES): New variable.
37354 (ata_mod_CFLAGS): Likewise.
37355 (ata_mod_LDFLAGS): Likewise.
37356
37357 * disk/ata.c: New file.
37358
37359 * include/grub/disk.h (grub_disk_dev_id): Add
37360 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37361
7f66d0e0 373622007-10-31 Robert Millan <rmh@aybabtu.com>
37363
37364 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37365 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37366
37367 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37368 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37369
37370 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37371 `<grub/types.h>'.
37372
37373 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37374
5cd7dd46 373752007-10-27 Robert Millan <rmh@aybabtu.com>
37376
3236ca65 37377 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37378
2ebfc90f 373792007-10-22 Robert Millan <rmh@aybabtu.com>
37380
37381 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37382 `"../realmode.S"'.
37383 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37384
73fcb0f3 373852007-10-22 Robert Millan <rmh@aybabtu.com>
37386
37387 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37388 (pkgdata_MODULES): Add `biosdisk.mod'.
37389 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37390 variables.
37391
37392 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37393 (grub_biosdisk_init): Replace with ...
37394 (GRUB_MOD_INIT(biosdisk)): ... this.
37395 (grub_biosdisk_fini): Replace with ...
37396 (GRUB_MOD_FINI(biosdisk)): ... this.
37397
37398 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37399 (grub_machine_init): Remove call to grub_biosdisk_init().
37400 (grub_machine_fini): Remove call to grub_machine_fini().
37401
37402 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37403
3381d274 374042007-10-22 Robert Millan <rmh@aybabtu.com>
37405
37406 * include/grub/time.h: New file.
37407 * include/grub/i386/time.h: Likewise.
37408 * include/grub/powerpc/time.h: Likewise.
37409 * include/grub/sparc64/time.h: Likewise.
37410
37411 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37412 instances to ...
37413 (KERNEL_MACHINE_TIME_HEADER): ... this.
37414 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37415 instances to ...
37416 (KERNEL_MACHINE_TIME_HEADER): ... this.
37417 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37418 instances to ...
37419 (KERNEL_MACHINE_TIME_HEADER): ... this.
37420
37421 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37422 (grub_millisleep): New function.
37423 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37424 (grub_millisleep): New function.
37425 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37426 Remove `grub/machine/time.h' include.
37427 (grub_millisleep): New function.
37428 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37429 Remove `grub/machine/time.h' include.
37430 (grub_millisleep): New function.
37431
37432 * include/grub/misc.h (grub_div_roundup): New function.
37433
37434 * kern/misc.c: Include `<grub/time.h>'.
37435 (grub_millisleep_generic): New function.
37436
37437 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37438 Add `time.h'.
37439 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37440 Add `time.h'.
37441 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37442 `machine/time.h'. Add `time.h'.
37443 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37444
a39a0312 374452007-10-21 Robert Millan <rmh@aybabtu.com>
37446
37447 * include/grub/misc.h (grub_max): New function.
37448
2aad70e2 374492007-10-21 Robert Millan <rmh@aybabtu.com>
37450
37451 * util/misc.c (grub_util_info): Call fflush() before returning.
37452
54b71c4b 374532007-10-20 Robert Millan <rmh@aybabtu.com>
37454
37455 * genmk.rb (Image): Copy `extra_flags' from here ...
37456 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37457
37458 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37459 to `argc' and `args' arguments.
37460
a979f513 374612007-10-17 Robert Millan <rmh@aybabtu.com>
37462
37463 * kern/i386/loader.S: New file.
37464
37465 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37466 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37467 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37468 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37469 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37470 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37471 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37472 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37473 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37474 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37475 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37476 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37477 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37478 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37479
37480 * kern/i386/realmode.S: New file.
37481
37482 * kern/i386/pc/startup.S (protstack): Moved from here ...
37483 * kern/i386/realmode.S (protstack)... to here.
37484 * kern/i386/pc/startup.S (gdt): Moved from here ...
37485 * kern/i386/realmode.S (gdt)... to here.
37486 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37487 * kern/i386/realmode.S (prot_to_real)... to here.
37488
37489 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37490 `kern/i386/realmode.S'.
37491
825fc8fd 374922007-10-17 Robert Millan <rmh@aybabtu.com>
37493
37494 * include/grub/i386/loader.h: New file.
37495
37496 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37497 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37498 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37499 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37500 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37501 * include/grub/i386/loader.h (grub_linux_prot_size)
37502 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37503 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37504 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37505 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37506
37507 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37508
e179b2f4 375092007-10-15 Robert Millan <rmh@aybabtu.com>
37510
37511 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37512 filesystem when dev->disk is unset.
37513 Do probe for filesystem even when dev->disk->has_partitions is set.
37514 In case a filesystem is found, always report it.
37515 In case it isn't, if dev->disk->has_partitions is set, report that
37516 a partition table was found instead of reporting that no filesystem
37517 could be identified.
37518
5db82af6 375192007-10-12 Robert Millan <rmh@aybabtu.com>
37520
37521 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37522 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37523
68f6ac74 37524 * include/grub/types.h (grub_host_to_target16): New macro.
37525 (grub_host_to_target32): Likewise.
37526 (grub_host_to_target64): Likewise.
37527 (grub_target_to_host16): Likewise.
37528 (grub_target_to_host32): Likewise.
37529 (grub_target_to_host64): Likewise.
5db82af6 37530
37531 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37532 Renamed from to ...
37533 (GRUB_MOD_ALIGN): ...this. Update all users.
37534
68f6ac74 37535 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37536 grub_host_to_target32.
37537 Replace grub_be_to_cpu32 with grub_target_to_host32.
37538 (load_modules): Likewise.
37539 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37540 Replace grub_be_to_cpu32 with grub_target_to_host32.
37541 Replace grub_cpu_to_be16 with grub_host_to_target16.
37542 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37543
3cf497cc 375442007-10-12 Robert Millan <rmh@aybabtu.com>
37545
37546 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37547 * util/elf/grub-mkimage.c: ... here.
37548
37549 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37550 `util/powerpc/ieee1275/grub-mkimage.c'.
37551
c8cc3692 375522007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37553
c8cc3692 37554 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37555 and make it easier to figure out.
37556 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37557 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37558 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37559 leave us with less than HEAP_MIN_SIZE total heap.
37560 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37561
5c58b791 375622007-10-03 Robert Millan <rmh@aybabtu.com>
37563
37564 * include/grub/i386/io.h: New file.
37565 * commands/i386/pc/play.c (inb): Removed.
37566 (outb): Removed.
37567 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37568 with grub_outb().
afcd2ef8 37569 * term/i386/pc/serial.c (inb): Removed.
37570 (outb): Removed.
37571 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37572 with grub_outb().
37573 * term/i386/pc/vga.c (inb): Removed.
37574 (outb): Removed.
37575 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37576 with grub_outb().
5c58b791 37577
1a477ed6 375782007-10-02 Robert Millan <rmh@aybabtu.com>
37579
37580 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37582 Reported by Marcin Kurek.
37583
6b5d80fa 375842007-09-07 Robert Millan <rmh@aybabtu.com>
37585
37586 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37587 SmartFirmware version updates (as released by Sven Luther), and avoid
37588 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37589 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37590 known broken.
37591
5618afbf 375922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37593
37594 From Hitoshi Ozeki:
37595 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37596 when merging two regions.
37597
6139dcd9 375982007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37599
508e39ee 37600 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37601 * normal/completion.c (grub_normal_do_completion): Likewise.
37602 Reported by Hitoshi Ozeki.
37603
376042007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37605
6139dcd9 37606 Do not use devices at boot in chainloading.
f19dbdb7 37607
6139dcd9 37608 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37609 (boot_part_addr): Likewise.
37610 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37611 with BOOT_DRIVE and BOOT_PART_ADDR.
37612 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37613 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37614
38da6516 376152007-08-29 Robert Millan <rmh@aybabtu.com>
37616
37617 Patch from Simon Peter <dn.tlp@gmx.net>:
37618 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37619 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37620 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37621 util/i386/pc/grub-setup.c_DEPENDENCIES.
37622 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37623 util/grub-probe.c_DEPENDENCIES.
37624 * conf/powerpc-ieee1275.rmk: Likewise.
37625
29d0928c 376262007-08-28 Robert Millan <rmh@aybabtu.com>
37627
37628 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37629 to tell grub-mkdevicemap how to name devices.
37630 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37631 feature).
37632
37633 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37634 util/i386/get_disk_name.c.
37635 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37636 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37637 util/ieee1275/get_disk_name.c.
37638
37639 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37640
37641 * DISTLIST: Add util/i386/get_disk_name.c and
37642 util/ieee1275/get_disk_name.c.
37643
37644 * util/grub-mkdevicemap.c: Replace device naming logic with
37645 grub_util_get_disk_name() calls.
37646
5a0d3cca 376472007-08-20 Robert Millan <rmh@aybabtu.com>
37648
37649 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37650 (so that it works for both plural and singular quantities).
37651
8b72db2f 376522007-08-05 Robert Millan <rmh@aybabtu.com>
37653
37654 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37655 so that [xz] isn't taken into account when determining order.
37656
352466bf 376572007-08-02 Marco Gerards <marco@gnu.org>
37658
37659 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37660 `include/multiboot2.h', `include/grub/elfload.h',
37661 `include/multiboot.h', `include/grub/multiboot.h',
37662 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37663 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37664 `kern/elf.c', `loader/multiboot_loader.c',
37665 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37666 `loader/i386/pc/multiboot2.c',
37667 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37668 `util/i386/pc/grub-mkrescue.in'. Remove
37669 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37670 `include/grub/i386/pc/util/biosdisk.h' and
37671 `include/grub/powerpc/ieee1275/multiboot.h'.
37672
8f096014 376732007-08-02 Bean <bean123ch@gmail.com>
37674
37675 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37676 (ntfs_mod_SOURCES): New variable.
37677 (ntfs_mod_CFLAGS): Likewise.
37678 (ntfs_mod_LDFLAGS): Likewise.
37679
37680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37681 (grub_probe_SOURCES): Likewise.
37682 (grub_emu_SOURCES): Likewise.
37683
37684 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37685 (grub_emu_SOURCES): Likewise.
37686
37687 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37688 (grub_emu_SOURCES): Likewise.
f19dbdb7 37689
8f096014 37690 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37691
37692 * fs/ntfs.c: New file.
37693
9959f7db 376942007-08-02 Bean <bean123ch@gmail.com>
37695
37696 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37697
37698 * file.h (grub_file): Likewise.
37699
37700 * fshelp.h (grub_fshelp_read_file): Likewise.
37701
37702 * util/i386/pc/grub-setup.c (setup): Likewise.
37703 (save_first_sector): Likewise.
37704 (save_blocklists): Likewise.
f19dbdb7 37705
9959f7db 37706 * fs/affs.c (grub_affs_read_file): Likewise.
37707
37708 * fs/ext2.c (grub_ext2_read_file): Likewise.
37709
37710 * fs/fat.c (grub_fat_read_data): Likewise.
37711
37712 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37713
37714 * fs/hfs.c (grub_hfs_read_file): Likewise.
37715
37716 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37717
37718 * fs/jfs.c (grub_jfs_read_file): Likewise.
37719
37720 * fs/minix.c (grub_minix_read_file): Likewise.
37721
37722 * fs/sfs.c (grub_sfs_read_file): Likewise.
37723
37724 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37725
9959f7db 37726 * fs/xfs.c (grub_xfs_read_file): Likewise.
37727
37728 * command/blocklist.c (read_blocklist): Likewise.
37729 (print_blocklist): Likewise.
37730
0a203f83 377312007-08-02 Marco Gerards <marco@gnu.org>
37732
37733 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37734 `util/hostfs.c'.
37735
37736 * disk/host.c: New file.
37737
37738 * util/hostfs.c: Likewise.
37739
37740 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37741 return `GRUB_ERR_BAD_FS'.
37742 * fs/sfs.c (grub_sfs_mount): Likewise.
37743 * fs/xfs.c (grub_xfs_mount): Likewise.
37744
37745 * include/grub/disk.h (enum grub_disk_dev_id): Add
37746 `GRUB_DISK_DEVICE_HOST_ID'.
37747
37748 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37749
e5dfe777 377502007-07-24 Jerone Young <jerone@gmail.com>
37751
f19dbdb7 37752 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37753 modules for compilation.
37754 * conf/powerpc-ieee1275.rmk: Likewise.
37755
37756 * include/multiboot.h: Move multiboot definitions to one file. Rename
37757 many definitions to not get grub specific.
37758 * include/multiboot2.h: Create header with multiboot 2 definitions.
37759 * include/grub/multiboot.h: Header for grub specific function
37760 prototypes and definitions.
37761 * include/grub/multiboot2.h: Likewise.
37762 * include/grub/multiboot_loader.h: Likewise.
37763 * include/grub/i386/pc/multiboot.h: Removed.
37764 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37765
37766 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37767 and 2 to allow for one multiboot and module commands.
37768 * loader/multiboot2.c: Add multiboot2 functionality.
37769 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37770 and definition names.
37771 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37772 2 functions.
37773 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37774 ieee1275 specific multiboot2 code.
37775
37776 * kern/i386/pc/startup.S: Change headers and definition names for
37777 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37778
daf0f0ba 377792007-07-22 Robert Millan <rmh@aybabtu.com>
37780
37781 * geninitheader.sh: Process file specified in first parameter rather
37782 than hardcoding grub_modules_init.lst.
fe6b695a 37783 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37784 than hardcoding grub_modules_init.h.
37785
37786 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37787 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37788 grub_probe_init.[ch] and grub_setup_init.[ch].
37789
37790 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37791 grub_modules_init.h with grub_emu_init.h.
37792 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37793 grub_probe_init.[ch] files.
37794 * conf/i386-efi.rmk: Likewise.
37795 * conf/i386-pc.rmk: Likewise.
37796 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37797 grub_setup_init.[ch] files.
37798
37799 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37800 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37801 to initialize modules rather than a list of hardcoded functions.
37802 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37803 grub_init_all() to initialize modules rather than a list of hardcoded
37804 functions.
37805
54cdc1cc 378062007-07-22 Robert Millan <rmh@aybabtu.com>
37807
37808 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37809 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37810
ad0686cc 378112007-07-22 Robert Millan <rmh@aybabtu.com>
37812
37813 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37814 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37816 flag when running on SmartFirmware.
37817 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37818 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37819 was set.
37820
37821 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37822 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37823 rather than decreasing it.
37824
37825 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37826 there's not enough space to do it, fail in the same way as when it
37827 can't be done because there are no partitions.
37828
37829 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37830 when nvsetenv failed.
37831
969c02ec 378322007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37833
37834 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37835 because this rule is automatically generated.
37836 (grub-mkrescue): Removed for the same reason as above.
37837
5a79f472 378382007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37839
37840 Migrate to GNU General Public License Version 3.
f19dbdb7 37841
5a79f472 37842 * COPYING: Replaced with the plain text version of GPLv3.
37843
37844 * config.guess: Updated from gnulib.
37845 * config.sub: Likewise.
37846
37847 * geninit.sh: Output a GPLv3 copyright notice.
37848 * geninitheader.sh: Likewise.
37849 * genmodsrc.sh: Likewise.
37850 * gensymlist.sh.in: Likewise.
37851
37852 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37853 * boot/i386/pc/diskboot.S: Likewise.
37854 * boot/i386/pc/pxeboot.S: Likewise.
37855 * commands/blocklist.c: Likewise.
37856 * commands/boot.c: Likewise.
37857 * commands/cat.c: Likewise.
37858 * commands/cmp.c: Likewise.
37859 * commands/configfile.c: Likewise.
37860 * commands/echo.c: Likewise.
37861 * commands/help.c: Likewise.
37862 * commands/ls.c: Likewise.
37863 * commands/search.c: Likewise.
37864 * commands/terminal.c: Likewise.
37865 * commands/test.c: Likewise.
37866 * commands/videotest.c: Likewise.
37867 * commands/i386/cpuid.c: Likewise.
37868 * commands/i386/pc/halt.c: Likewise.
37869 * commands/i386/pc/play.c: Likewise.
37870 * commands/i386/pc/reboot.c: Likewise.
37871 * commands/i386/pc/vbeinfo.c: Likewise.
37872 * commands/i386/pc/vbetest.c: Likewise.
37873 * commands/ieee1275/halt.c: Likewise.
37874 * commands/ieee1275/reboot.c: Likewise.
37875 * commands/ieee1275/suspend.c: Likewise.
37876 * disk/loopback.c: Likewise.
37877 * disk/lvm.c: Likewise.
37878 * disk/raid.c: Likewise.
37879 * disk/efi/efidisk.c: Likewise.
37880 * disk/i386/pc/biosdisk.c: Likewise.
37881 * disk/ieee1275/ofdisk.c: Likewise.
37882 * font/manager.c: Likewise.
37883 * fs/affs.c: Likewise.
37884 * fs/ext2.c: Likewise.
37885 * fs/fat.c: Likewise.
37886 * fs/fshelp.c: Likewise.
37887 * fs/hfs.c: Likewise.
37888 * fs/hfsplus.c: Likewise.
37889 * fs/iso9660.c: Likewise.
37890 * fs/jfs.c: Likewise.
37891 * fs/minix.c: Likewise.
37892 * fs/sfs.c: Likewise.
37893 * fs/ufs.c: Likewise.
37894 * fs/xfs.c: Likewise.
37895 * hello/hello.c: Likewise.
37896 * include/grub/acorn_filecore.h: Likewise.
37897 * include/grub/arg.h: Likewise.
37898 * include/grub/bitmap.h: Likewise.
37899 * include/grub/boot.h: Likewise.
37900 * include/grub/cache.h: Likewise.
37901 * include/grub/device.h: Likewise.
37902 * include/grub/disk.h: Likewise.
37903 * include/grub/dl.h: Likewise.
37904 * include/grub/elfload.h: Likewise.
37905 * include/grub/env.h: Likewise.
37906 * include/grub/err.h: Likewise.
37907 * include/grub/file.h: Likewise.
37908 * include/grub/font.h: Likewise.
37909 * include/grub/fs.h: Likewise.
37910 * include/grub/fshelp.h: Likewise.
37911 * include/grub/gzio.h: Likewise.
37912 * include/grub/hfs.h: Likewise.
37913 * include/grub/kernel.h: Likewise.
37914 * include/grub/loader.h: Likewise.
37915 * include/grub/lvm.h: Likewise.
37916 * include/grub/misc.h: Likewise.
37917 * include/grub/mm.h: Likewise.
37918 * include/grub/net.h: Likewise.
37919 * include/grub/normal.h: Likewise.
37920 * include/grub/parser.h: Likewise.
37921 * include/grub/partition.h: Likewise.
37922 * include/grub/pc_partition.h: Likewise.
37923 * include/grub/raid.h: Likewise.
37924 * include/grub/rescue.h: Likewise.
37925 * include/grub/script.h: Likewise.
37926 * include/grub/setjmp.h: Likewise.
37927 * include/grub/symbol.h: Likewise.
37928 * include/grub/term.h: Likewise.
37929 * include/grub/terminfo.h: Likewise.
37930 * include/grub/tparm.h: Likewise.
37931 * include/grub/types.h: Likewise.
37932 * include/grub/video.h: Likewise.
37933 * include/grub/efi/api.h: Likewise.
37934 * include/grub/efi/chainloader.h: Likewise.
37935 * include/grub/efi/console.h: Likewise.
37936 * include/grub/efi/console_control.h: Likewise.
37937 * include/grub/efi/disk.h: Likewise.
37938 * include/grub/efi/efi.h: Likewise.
37939 * include/grub/efi/pe32.h: Likewise.
37940 * include/grub/efi/time.h: Likewise.
37941 * include/grub/i386/linux.h: Likewise.
37942 * include/grub/i386/setjmp.h: Likewise.
37943 * include/grub/i386/types.h: Likewise.
37944 * include/grub/i386/efi/kernel.h: Likewise.
37945 * include/grub/i386/efi/loader.h: Likewise.
37946 * include/grub/i386/efi/time.h: Likewise.
37947 * include/grub/i386/pc/biosdisk.h: Likewise.
37948 * include/grub/i386/pc/boot.h: Likewise.
37949 * include/grub/i386/pc/chainloader.h: Likewise.
37950 * include/grub/i386/pc/console.h: Likewise.
37951 * include/grub/i386/pc/init.h: Likewise.
37952 * include/grub/i386/pc/kernel.h: Likewise.
37953 * include/grub/i386/pc/loader.h: Likewise.
37954 * include/grub/i386/pc/memory.h: Likewise.
37955 * include/grub/i386/pc/multiboot.h: Likewise.
37956 * include/grub/i386/pc/serial.h: Likewise.
37957 * include/grub/i386/pc/time.h: Likewise.
37958 * include/grub/i386/pc/vbe.h: Likewise.
37959 * include/grub/i386/pc/vbeblit.h: Likewise.
37960 * include/grub/i386/pc/vbefill.h: Likewise.
37961 * include/grub/i386/pc/vbeutil.h: Likewise.
37962 * include/grub/i386/pc/vga.h: Likewise.
37963 * include/grub/ieee1275/ieee1275.h: Likewise.
37964 * include/grub/ieee1275/ofdisk.h: Likewise.
37965 * include/grub/powerpc/libgcc.h: Likewise.
37966 * include/grub/powerpc/setjmp.h: Likewise.
37967 * include/grub/powerpc/types.h: Likewise.
37968 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37969 * include/grub/powerpc/ieee1275/console.h: Likewise.
37970 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37971 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37972 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37973 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37974 * include/grub/powerpc/ieee1275/time.h: Likewise.
37975 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37976 * include/grub/sparc64/libgcc.h: Likewise.
37977 * include/grub/sparc64/setjmp.h: Likewise.
37978 * include/grub/sparc64/types.h: Likewise.
37979 * include/grub/sparc64/ieee1275/console.h: Likewise.
37980 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37981 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37982 * include/grub/sparc64/ieee1275/time.h: Likewise.
37983 * include/grub/util/biosdisk.h: Likewise.
37984 * include/grub/util/getroot.h: Likewise.
37985 * include/grub/util/lvm.h: Likewise.
37986 * include/grub/util/misc.h: Likewise.
37987 * include/grub/util/raid.h: Likewise.
37988 * include/grub/util/resolve.h: Likewise.
37989 * io/gzio.c: Likewise.
37990 * kern/device.c: Likewise.
37991 * kern/disk.c: Likewise.
37992 * kern/dl.c: Likewise.
37993 * kern/elf.c: Likewise.
37994 * kern/env.c: Likewise.
37995 * kern/err.c: Likewise.
37996 * kern/file.c: Likewise.
37997 * kern/fs.c: Likewise.
37998 * kern/loader.c: Likewise.
37999 * kern/main.c: Likewise.
38000 * kern/misc.c: Likewise.
38001 * kern/mm.c: Likewise.
38002 * kern/parser.c: Likewise.
38003 * kern/partition.c: Likewise.
38004 * kern/rescue.c: Likewise.
38005 * kern/term.c: Likewise.
38006 * kern/efi/efi.c: Likewise.
38007 * kern/efi/init.c: Likewise.
38008 * kern/efi/mm.c: Likewise.
38009 * kern/i386/dl.c: Likewise.
38010 * kern/i386/efi/init.c: Likewise.
38011 * kern/i386/efi/startup.S: Likewise.
38012 * kern/i386/pc/init.c: Likewise.
38013 * kern/i386/pc/lzo1x.S: Likewise.
38014 * kern/i386/pc/startup.S: Likewise.
38015 * kern/ieee1275/ieee1275.c: Likewise.
38016 * kern/powerpc/cache.S: Likewise.
38017 * kern/powerpc/dl.c: Likewise.
38018 * kern/powerpc/ieee1275/cmain.c: Likewise.
38019 * kern/powerpc/ieee1275/crt0.S: Likewise.
38020 * kern/powerpc/ieee1275/init.c: Likewise.
38021 * kern/powerpc/ieee1275/openfw.c: Likewise.
38022 * kern/sparc64/cache.S: Likewise.
38023 * kern/sparc64/dl.c: Likewise.
38024 * kern/sparc64/ieee1275/init.c: Likewise.
38025 * kern/sparc64/ieee1275/openfw.c: Likewise.
38026 * loader/efi/chainloader.c: Likewise.
38027 * loader/efi/chainloader_normal.c: Likewise.
38028 * loader/i386/efi/linux.c: Likewise.
38029 * loader/i386/efi/linux_normal.c: Likewise.
38030 * loader/i386/pc/chainloader.c: Likewise.
38031 * loader/i386/pc/chainloader_normal.c: Likewise.
38032 * loader/i386/pc/linux.c: Likewise.
38033 * loader/i386/pc/linux_normal.c: Likewise.
38034 * loader/i386/pc/multiboot.c: Likewise.
38035 * loader/i386/pc/multiboot_normal.c: Likewise.
38036 * loader/powerpc/ieee1275/linux.c: Likewise.
38037 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38038 * normal/arg.c: Likewise.
38039 * normal/cmdline.c: Likewise.
38040 * normal/command.c: Likewise.
38041 * normal/completion.c: Likewise.
38042 * normal/execute.c: Likewise.
38043 * normal/function.c: Likewise.
38044 * normal/lexer.c: Likewise.
38045 * normal/main.c: Likewise.
38046 * normal/menu.c: Likewise.
38047 * normal/menu_entry.c: Likewise.
38048 * normal/misc.c: Likewise.
38049 * normal/parser.y: Likewise.
38050 * normal/script.c: Likewise.
38051 * normal/i386/setjmp.S: Likewise.
38052 * normal/powerpc/setjmp.S: Likewise.
38053 * normal/sparc64/setjmp.S: Likewise.
38054 * partmap/acorn.c: Likewise.
38055 * partmap/amiga.c: Likewise.
38056 * partmap/apple.c: Likewise.
38057 * partmap/gpt.c: Likewise.
38058 * partmap/pc.c: Likewise.
38059 * partmap/sun.c: Likewise.
38060 * term/gfxterm.c: Likewise.
38061 * term/terminfo.c: Likewise.
38062 * term/efi/console.c: Likewise.
38063 * term/i386/pc/console.c: Likewise.
38064 * term/i386/pc/serial.c: Likewise.
38065 * term/i386/pc/vesafb.c: Likewise.
38066 * term/i386/pc/vga.c: Likewise.
38067 * term/ieee1275/ofconsole.c: Likewise.
38068 * util/biosdisk.c: Likewise.
38069 * util/console.c: Likewise.
38070 * util/genmoddep.c: Likewise.
38071 * util/getroot.c: Likewise.
38072 * util/grub-emu.c: Likewise.
38073 * util/grub-mkdevicemap.c: Likewise.
38074 * util/grub-probe.c: Likewise.
38075 * util/lvm.c: Likewise.
38076 * util/misc.c: Likewise.
38077 * util/raid.c: Likewise.
38078 * util/resolve.c: Likewise.
38079 * util/update-grub.in: Likewise.
38080 * util/update-grub_lib.in: Likewise.
38081 * util/grub.d/00_header.in: Likewise.
38082 * util/grub.d/10_hurd.in: Likewise.
38083 * util/grub.d/10_linux.in: Likewise.
38084 * util/i386/efi/grub-install.in: Likewise.
38085 * util/i386/efi/grub-mkimage.c: Likewise.
38086 * util/i386/pc/grub-install.in: Likewise.
38087 * util/i386/pc/grub-mkimage.c: Likewise.
38088 * util/i386/pc/grub-mkrescue.in: Likewise.
38089 * util/i386/pc/grub-setup.c: Likewise.
38090 * util/i386/pc/misc.c: Likewise.
38091 * util/powerpc/ieee1275/grub-install.in: Likewise.
38092 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38093 * util/powerpc/ieee1275/misc.c: Likewise.
38094 * video/bitmap.c: Likewise.
38095 * video/video.c: Likewise.
38096 * video/i386/pc/vbe.c: Likewise.
38097 * video/i386/pc/vbeblit.c: Likewise.
38098 * video/i386/pc/vbefill.c: Likewise.
38099 * video/i386/pc/vbeutil.c: Likewise.
38100 * video/readers/tga.c: Likewise.
38101
3572d015 381022007-07-02 Robert Millan <rmh@aybabtu.com>
38103
38104 * conf/i386-efi.rmk: Replace obsolete reference to
38105 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38106 with util/getroot.c.
38107 * conf/powerpc-ieee1275.rmk: Likewise.
38108 * conf/sparc64-ieee1275.rmk: Likewise.
38109
38110 * util/grub-emu.c (main): Fix unchecked pointer handling.
38111
2c2a681b 381122007-07-02 Robert Millan <rmh@aybabtu.com>
38113
38114 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38115 invocation to fail, in order to support partition-less media.
38116
38117 * util/i386/pc/grub-install.in: Likewise.
38118
38119 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38120 which fs or partmap modules are needed (akin to its sister scripts).
38121
38122 Also use grub-probe to get rid of unportable /proc/mounts check.
38123
38124 Print the same informational message that the other scripts do, before
fe6b695a 38125 exiting.
2c2a681b 38126
6193defe 381272007-06-23 Robert Millan <rmh@aybabtu.com>
38128
fe6b695a 38129 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38130 a font file can be found and, if so, echo the GRUB path to it.
38131
38132 * util/update-grub.in: Handle multiple terminals depending on user
38133 input, platform availability and font file presence. Propagate
38134 variables of our findings to /etc/grub.d/ children.
38135
38136 * util/grub.d/00_header.in: Handle multiple terminals, based on
38137 environment setup by update-grub.
38138
eface1dc 381392007-06-23 Robert Millan <rmh@aybabtu.com>
38140
ba50d28f 38141 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38142
bf697e28 381432007-06-21 Robert Millan <rmh@aybabtu.com>
38144
38145 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38146 indicate end of data section in kernel image.
38147 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38148 GRUB_KERNEL_MACHINE_DATA_END.
38149
38150 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38151 space for it.
38152 * kern/i386/efi/startup.S: Likewise.
38153
38154 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38155 during image generation. Implement --prefix option to override this
38156 patch.
38157 * util/i386/efi/grub-mkimage.c: Likewise.
38158
38159 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38160 code to make path relative to its root into a separate function.
38161
38162 * util/i386/pc/grub-install.in: Use newly provided
38163 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38164 pass the result to grub-install --prefix.
38165
baa574b4 381662007-06-13 Robert Millan <rmh@aybabtu.com>
38167
38168 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38169 DEFAULT_DEVICE_MAP.
38170 * util/grub-emu.c: Use above definitions from misc.h instead of
38171 defining them.
38172 * util/grub-mkdevicemap.c: Likewise.
38173 * util/i386/pc/grub-setup.c: Likewise.
38174 * util/grub-probe.c: Likewise.
38175 (probe): Abort with grub_util_error() when either
38176 grub_guess_root_device or grub_util_get_grub_dev fails.
38177
0215dcbf 381782007-06-12 Robert Millan <rmh@aybabtu.com>
38179
38180 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38181 "pager" assignment.
38182 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38183 "pcdata".
38184 * util/grub-probe.c (probe): Likewise for "drive_name".
38185
8af2ab7b 381862007-06-11 Robert Millan <rmh@aybabtu.com>
38187
38188 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38189 not just the cdrom one.
38190
59d31694 381912007-06-11 Robert Millan <rmh@aybabtu.com>
38192
38193 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38194 Add --pkglibdir=DIR option to override pkglibdir.
38195 Mention --image-type=TYPE in help output.
38196 Fix --grub-mkimage (it was a no-op).
fe6b695a 38197 Abort gracefully when no parameter is given.
59d31694 38198
7ee367e4 381992007-06-11 Robert Millan <rmh@aybabtu.com>
38200
38201 * util/i386/pc/grub-mkrescue.in: New file.
38202 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38203 * Makefile.in: Handle bin_SCRIPTS.
38204
29b0ed46 382052007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38206
38207 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38208 list of video modes.
38209
c0f90770 382102007-06-06 Robert Millan <rmh@aybabtu.com>
38211
38212 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38213 file doesn't exist, or if it is in a filesystem grub can't read.
38214
38215 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38216 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38217 header comment to fit in 80 columns when the variables are resolved.
38218
38219 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38220 could be identified by update-grub. Remove redundant check for
fe6b695a 38221 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38222 handles that).
38223
fb36dc26 382242007-06-04 Robert Millan <rmh@aybabtu.com>
38225
38226 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38227
38228 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38229
38230 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38231
0c68c93e 382322007-06-04 Robert Millan <rmh@aybabtu.com>
38233
38234 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38235
38236 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38237 grub_apple_partition_map_fini.
38238
38239 * util/biosdisk.c
38240 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38241 to access >2 TiB disks).
38242
38243 Print disk->total_sectors with %llu instead of %lu, since this
38244 variable is always 64-bit (prevents wrong disk size from being displayed
38245 on either >2 TiB disk or big-endian CPU).
38246
38247 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38248 into a generic case that supports all (sane) partition maps.
38249
38250 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38251 breaks big-endian.
38252
38253 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38254 and grub_apple_partition_map_fini() after that.
38255
0f23eb74 382562007-06-01 Robert Millan <rmh@aybabtu.com>
38257
38258 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38259
38260 * util/grub.d/00_header.in: Only enable gfxterm when
38261 convert_system_path_to_grub_path() succeeds.
38262
42c71976 382632007-05-20 Robert Millan <rmh@aybabtu.com>
38264
38265 * util/update-grub_lib.in: New file.
38266 * DISTLIST: Add update-grub_lib.in.
38267 * conf/common.rmk: Generate update-grub_lib and install it in
38268 $(lib_DATA).
38269 * Makefile.in: Add install routine for $(lib_DATA).
38270
38271 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38272 function provided by update-grub_lib to support arbitrary paths of
38273 unifont.pff.
38274 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38275 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38276
5beb2291 382772007-05-19 Robert Millan <rmh@aybabtu.com>
38278
38279 * commands/i386/cpuid.c: New module.
38280 * DISTLIST: Add it.
38281 * conf/i386-efi.rmk: Enable cpuid.mod.
38282 * conf/i386-pc.rmk: Likewise.
38283
7262eca1 382842007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38285
38286 * kern/disk.c (grub_disk_read): Check return value of
38287 grub_realloc().
38288
260ba823 382892007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38290
38291 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38292 arrays.
38293 * disk/raid.c (grub_raid_open): Likewise.
38294
1ecb6cf2 382952007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38296
38297 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38298 stack instead of on the heap.
38299
38300 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38301 before doing a read on it.
38302
38303 * configure.ac: Only use -fno-stack-protector for the target
38304 environment.
f19dbdb7 38305
21c8cbb1 383062007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38307
38308 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38309 __attribute_ ((unused)) to mode_type argument.
38310
38311 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38312
21c8cbb1 38313 * kern/misc.c (memcmp): Fix prototype.
38314
38315 * include/grub/partition.h [GRUB_UTIL]
38316 (grub_gpt_partition_map_init): Add prototype.
38317 (grub_gpt_partition_map_fini): Likewise.
38318
38319 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38320 at the right place.
38321
38322 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38323 (grub_fat_read_data): Likewise.
38324 (grub_fat_find_dir): Likewise.
38325
38326 * font/manager.c (find_glyph): Make table a const.
38327 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38328
849d55d3 383292007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38330
38331 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38332 code, first search for device in /dev/mapper, then in /dev.
38333 (grub_util_get_grub_dev): New function.
38334 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38335 prototype.
38336 * util/grub-probe.c (probe): Remove check for RAID, call
38337 grub_util_get_grub_dev() instead of
38338 grub_util_biosdisk_get_grub_dev().
38339 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38340 grub_util_biosdisk_get_grub_dev().
38341 * util/i386/pc/grub-setup.c (main): Likewise.
38342
8fff7c2f 383432007-05-16 Robert Millan <rmh@aybabtu.com>
38344
38345 * DISTLIST: Update for the latest changes.
38346 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38347 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38348 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38349 grub/util/biosdisk.h.
38350 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38351 grub/util/biosdisk.h.
38352
48e12b52 383532007-05-16 Robert Millan <rmh@aybabtu.com>
38354
38355 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38356
46b9d128 383572007-05-16 Robert Millan <rmh@aybabtu.com>
38358
38359 * util/i386/efi/grub-install.in: New.
38360 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38361 newly added grub-install.
38362 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38363 include.
38364 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38365 grub/util/biosdisk.h.
38366 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38367 grub/util/biosdisk.h.
38368
2d1a40a9 383692007-05-16 Robert Millan <rmh@aybabtu.com>
38370
38371 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38372 * include/grub/util/biosdisk.h: ... here.
38373 * util/i386/pc/biosdisk.c: Moved to ...
38374 * util/biosdisk.c: ... here.
38375 * util/i386/pc/getroot.c: Moved to ...
38376 * util/getroot.c: ... here.
38377 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38378 * util/grub-mkdevicemap.c: ... here.
38379 * util/i386/pc/grub-probe.c: Moved to ...
38380 * util/grub-probe.c: ... here.
38381
9e26e3bc 383822007-05-15 Robert Millan <rmh@aybabtu.com>
38383
38384 * util/update-grub.in: Remove duplicated line in grub.cfg header
38385 message.
38386
57f96397 383872007-05-13 Robert Millan <rmh@aybabtu.com>
38388
38389 * util/update-grub.in: Fix a few assumptions about the devices holding
38390 /, /boot and /boot/grub being the same.
38391 * util/grub.d/00_header.in: Likewise.
38392 * util/grub.d/10_hurd.in: Likewise.
38393 * util/grub.d/10_linux.in: Likewise.
38394
38395 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38396 patterns. Use that to define the `.old' suffix as older than `'.
38397
38398 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38399
38400 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38401 the grub.cfg header message.
38402
2e610d62 384032007-05-11 Robert Millan <rmh@aybabtu.com>
38404
38405 * util/update-grub.in: Create device.map if it doesn't already exist,
38406 before attempting to run grub-probe.
38407 Check for grub-probe and grub-mkdevicemap with the same code
38408 grub-install is using.
38409 Remove test mode.
38410
3f6a10ef 384112007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38412
38413 * Makefile.in: Add the datarootdir autoconf variable.
38414
02e7b75e 384152007-05-09 Robert Millan <rmh@aybabtu.com>
38416
38417 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38418 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38419
75f396cc 384202007-05-07 Robert Millan <rmh@aybabtu.com>
38421
38422 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38423 determine partition map module.
38424 * util/i386/pc/grub-install.in: Use this feature to decide which
38425 partition module to load, instead of hardcoding pc and gpt.
38426
da65cb36 384272007-05-07 Robert Millan <rmh@aybabtu.com>
38428
38429 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38430 source directory differs from build directory.
38431
b57d6a91 384322007-05-05 Robert Millan <rmh@aybabtu.com>
38433
38434 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38435 initialisation.
38436
509d00f1 384372007-05-05 Robert Millan <rmh@aybabtu.com>
38438
38439 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38440
c48f23ef 384412007-05-05 Robert Millan <rmh@aybabtu.com>
38442
38443 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38444 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38445
20b97658 384462007-05-05 Robert Millan <rmh@aybabtu.com>
38447
38448 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38449 (grub_probe_SOURCES): Likewise.
38450 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38451 GPT and initialize dos_part and bsd_part accordingly.
38452 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38453 install_bsd_part.
38454 (main): Activate gpt module for use during partition identification,
38455 and deactivate it afterwards.
38456 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38457 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38458 partition identification, and deactivate it afterwards.
38459
99123174 384602007-05-05 Robert Millan <rmh@aybabtu.com>
38461
38462 * term/i386/pc/console.c (grub_console_fini): Call
38463 grub_term_set_current() before grub_term_unregister().
38464
ebd97f6e 384652007-05-04 Robert Millan <rmh@aybabtu.com>
38466
38467 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38468 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38469 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38470 and update-grub_DATA.
38471 * conf/common.rmk: Build and install update-grub components.
38472 * conf/common.mk: Regenerate.
38473 * util/update-grub.in: New. Core of update-grub.
38474 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38475 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38476 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38477 * util/grub.d/README: New. Document grub.d directory layout.
38478
b06a264d 384792007-05-01 Robert Millan <rmh@aybabtu.com>
38480
38481 * util/grub-emu.c: Move initialization functions
38482 grub_util_biosdisk_init() and grub_init_all() before
38483 grub_util_biosdisk_get_grub_dev(), which relies on them.
38484
41f0050e 384852007-04-19 Robert Millan <rmh@aybabtu.com>
38486
38487 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38488 it is used later.
38489
04582bb3 384902007-04-18 Jerone Young <jerone@gmail.com>
38491
f19dbdb7 38492 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38493 stanza.
38494
08db4632 384952007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38496
08db4632 38497 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38498 continue on and look for device node with real device name.
38499
801b76be 385002007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38501
fe6b695a 38502 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38503 ability.
38504 * Makefile.in: Add autoconf package transformation code.
38505 * util/i386/pc/grub-install.in: Likewise.
38506 * util/powerpc/ieee1275/grub-install.in: Likewise.
38507
6795c4e1 385082007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38509
38510 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38511 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38512 (EXT2_REVISION): Likewise.
38513 (EXT2_INODE_SIZE): Likewise.
38514 (struct grub_ext2_block_group): Added a missing member
38515 "used_dirs".
38516 (grub_ext2_read_inode): Divide by the inode size in a superblock
38517 instead of 128 to obtain INODES_PER_BLOCK.
38518 Use the macro EXT2_INODE_SIZE instead of directly using
38519 SBLOCK->INODE_SIZE.
38520
d70af616 385212007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38522
38523 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38524 superblock instead of the structure size to compute an
38525 offset. This fixes the problem that GRUB could not read a
38526 filesystem when inode size is different from 128-byte.
38527
3b801603 385282007-03-05 Marco Gerards <marco@gnu.org>
38529
38530 * normal/main.c (read_config_file): When "menu" is not set, create
38531 an initial context.
38532
4785bfe4 385332007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38534
38535 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38536 (HEAP_LIMIT): New macro.
38537 (grub_claim_heap): Claim memory up to `heaplimit'.
38538
a0cbb023 385392007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38540
38541 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38542 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38543 (_start): Likewise.
38544 (grub_arch_modules_addr): Return address after `_end'.
38545 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38546 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38547 (add_segments): Calculate `_end' from phdr size and location.
38548 (ALIGN_UP): Moved to ...
38549 * include/grub/misc.h: here.
38550 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38551 New macro.
38552 (GRUB_IEEE1275_MODULE_BASE): Removed.
38553
fd7d8eba 385542007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38555
38556 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38557 loop boundary.
38558
9b09e6fc 385592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38560
38561 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38562 All users updated.
38563 (grub_elf64_load_hook_t): Likewise.
38564 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38565 debug output.
38566
3ce27299 385672007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38568
38569 * kern/mm.c: Update copyright.
38570 (grub_mm_debug): Correct syntax error.
38571 (grub_mm_dump_free): New function.
38572 (grub_debug_free): Call `grub_free'.
38573 * include/grub/mm.h: Update copyright.
38574 (grub_mm_dump_free): Add declaration.
38575
077d5fee 385762007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38577
38578 * include/grub/ieee1275/ieee1275.h: Update copyright.
38579 * kern/powerpc/ieee1275/init.c: Likewise.
38580 * kern/powerpc/ieee1275/openfw.c: Likewise.
38581
38582 * loader/powerpc/ieee1275/linux.c: Likewise.
38583 * include/grub/elfload.h: Likewise.
38584 * kern/elf.c: Likewise.
38585 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38586 callers.
38587 (grub_elf64_load): Likewise.
38588 (grub_elf32_load_segment): Move to a nested function.
38589 (grub_elf64_load_segment): Likewise.
38590
dc946850 385912007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38592
38593 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38594 prototype.
38595 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38596 (grub_heap_len): Likewise.
38597 (HEAP_SIZE): New macro.
38598 (grub_claim_heap): New function.
38599 (grub_machine_init): Don't claim heap directly. Call
38600 `grub_claim_heap'.
38601 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38602 (grub_available_iterate): New function.
38603
baa2a121 386042007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38605
38606 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38607 * configure.ac: Use it for testing the HOST and TARGET compilers.
38608
4fe9862e 386092006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38610
38611 * Makefile.in (enable_grub_emu): New variable.
38612 * configure.ac (--enable-grub-emu): New option.
38613 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38614 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38615 * conf/i386-pc.rmk: Likewise.
38616 * conf/powerpc-ieee1275.rmk: Likewise.
38617 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38618
a8aa5762 386192006-12-12 Marco Gerards <marco@gnu.org>
38620
38621 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38622
38623 * kern/env.c (grub_env_unset): Don't free the member `value' when
38624 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38625 pointer.
38626
38627 * normal/main.c (current_menu): Removed.
38628 (free_menu): Unset the `menu' environment variable.
38629 (grub_normal_menu_addentry): Make use of the environment variable
38630 `menu', instead of using the global `current_menu'. Allocate
38631 memory for the sourcecode of this entry.
38632 (read_config_file): New argument `nested', changed all callers.
38633 Only in the case of a new context, initialize a new menu. Set the
38634 `menu' environment variable.
38635 (grub_normal_execute): Don't set and unset the environment
38636 variable `menu' here anymore. Only free the menu when leaving the
38637 context.
38638
38639 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38640 leak.
38641
957b3a3e 386422006-12-11 Marco Gerards <marco@gnu.org>
38643
38644 * normal/menu_entry.c (run): Fix off by one bug so the last line
38645 is executed. Move the loader check to outside the loop.
38646
ef875714 386472006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38648
38649 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38650
4e739985 386512006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38652
38653 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38654 the number of sectors. Reported by Andrey Shuvikov
38655 <mr_hyro@yahoo.com>.
f19dbdb7 38656
790707f2 386572006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38658
38659 * kern/disk.c (grub_disk_read): When there is a read error, always
38660 try to read only the necessary data.
f19dbdb7 38661
790707f2 38662 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38663 disk/raid.c.
38664 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38665 prototype.
38666 [GRUB_UTIL] (grub_raid_fini): Likewise.
38667 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38668 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38669 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38670 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38671 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38672 and grub_raid_fini().
f19dbdb7 38673
03e58196 386742006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38675
38676 * include/grub/types.h (__unused): Rename to UNUSED.
38677 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38678 (grub_elf64_size): Likewise.
f19dbdb7 38679
ae4f23bf 386802006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38681
38682 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38683 grub_error_push and grub_error_pop in the error-handling path.
38684 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38685 length.
38686
2166cc83 386872006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38688
38689 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38690 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38692 (kernel_elf_SOURCES): Likewise.
38693 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38694 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38695 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38696 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38697 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38698 (elf_mod_SOURCES): New variable.
38699 (elf_mod_CFLAGS): Likewise.
38700 (elf_mod_LDFLAGS): Likewise.
38701 * include/grub/types.h (__unused): New macro.
38702 * include/grub/elfload.h: New file.
38703 * kern/elf.c: Likewise.
38704 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38705 (ELF32_LOADMASK): New macro.
38706 (ELF64_LOADMASK): Likewise.
38707 (vmlinux): Removed.
38708 (grub_linux_load32): New function.
38709 (grub_linux_load64): Likewise.
38710 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38711 Use grub_elf_t instead of grub_file_t.
38712
a09d5aa5 387132006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38714
38715 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38716 `catch_result' to struct set_color_args.
38717
d976fc51 387182006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38719
38720 * normal/menu.c: Include grub/script.h.
38721 * normal/menu_entry.c: Likewise.
38722 * include/grub/normal.h: Do not include grub/script.h.
38723
67507549 387242006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38725
38726 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38727
69203a99 387282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38729
38730 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38731 disk.
38732 (grub_disk_close): Print debug messages when closing a disk.
38733 (grub_disk_read): Print debug messages when disk read fails.
38734 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38735 filesystem type.
38736 * kern/partition.c: Include misc.h.
38737 (grub_partition_iterate): Print debug messages when detecting
38738 partition type.
38739
e2b8278c 387402006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38741
38742 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38743 is negative.
38744 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38745
97b2f2ff 387462006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38747
38748 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38749 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38750
6555d655 387512006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38752
38753 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38754 instead of sizeof(lv). Patch by Michael Guntsche.
38755
4d42b77f 387562006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38757
38758 * disk/lvm.c: Rename VGS to VG_LIST.
38759 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38760 (grub_lvm_open): Likewise.
38761 Thanks to Michael Guntsche for finding this bug.
38762
5d74d927 387632006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38764
38765 * configure.ac (AC_INIT): Bumped to 1.95.
38766
a1bb27e4 387672006-10-14 Robert Millan <rmh@aybabtu.com>
38768
38769 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38770 with "/dev/.static/dev/md".
38771
e0994b8b 387722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38773
38774 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38775 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38776 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38777 DRIVE_NAME are always freed.
38778
38779 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38780 DOS_PART, as a DOS partition is counted from one instead of zero
38781 now. Reported by Robert Millan.
38782
ddd5cee9 387832006-10-14 Robert Millan <rmh@aybabtu.com>
38784
38785 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38786 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38787 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38788 string returned by grub_guess_root_device.
38789 * util/i386/pc/grub-setup.c: Likewise.
38790 * util/i386/pc/grub-probefs.c: Likewise.
38791
38792 * util/i386/pc/grub-probefs.c: Rename to ...
38793 * util/i386/pc/grub-probe.c: ... this.
38794 * DISTLIST: Remove grub-probefs, add grub-probe.
38795 * conf/i386-efi.rmk: Likewise.
38796 * conf/i386-pc.rmk: Likewise.
38797 * util/i386/pc/grub-install.in: Likewise.
38798
38799 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38800 choose which information we want to print.
38801
2b002173 388022006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38803
38804 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38805 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38806 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38807 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38808 video/readers/tga.c and video/i386/pc/vbeutil.c.
38809
388102006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38811
38812 Added support for RAID and LVM.
f19dbdb7 38813
2b002173 38814 * disk/lvm.c: New file.
38815 * disk/raid.c: Likewise.
38816 * include/grub/lvm.h: Likewise.
f19dbdb7 38817 * include/grub/raid.h: Likewise.
2b002173 38818 * include/grub/util/lvm.h: Likewise.
38819 * include/grub/util/raid.h: Likewise.
38820 * util/lvm.c: Likewise.
38821 * util/raid.c: Likewise.
38822
38823 * include/grub/disk.h (grub_disk_dev_id): Add
38824 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38825 (grub_disk_get_size): New prototype.
38826 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38827 returns a partition.
38828 (grub_disk_get_size): New function.
f19dbdb7 38829
2b002173 38830 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38831 verbatim if grub_install_dos_part is -2.
38832
38833 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38834 and LVM devices.
38835
38836 * util/i386/pc/grub-setup.c (setup): New argument
38837 MUST_EMBED. Force embedding of GRUB when the argument is
38838 true. Close FILE before returning.
38839 (main): Add support for RAID and LVM.
f19dbdb7 38840
2b002173 38841 * conf/common.rmk: Add RAID and LVM modules.
38842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38843 util/lvm.c.
38844 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38845
38846 * kern/misc.c (grub_strstr): New function.
38847 * include/grub/misc.h (grub_strstr): New prototype.
38848
050548d0 388492006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38850
38851 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38852
da849d2d 388532006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38854
38855 * kern/misc.c (grub_strtoull): Guess the base only if not
38856 specified.
38857
97b2f2ff 388582006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38859
38860 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38861 PowerMac support.
38862
97b2f2ff 388632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38864
38865 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38866
38867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38868 Remove `flags' argument. All callers changed.
38869 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38870 (IEEE1275_IHANDLE_INVALID): New variable.
38871 (IEEE1275_CELL_INVALID): New variable.
38872 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38873 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38874 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38875 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38876 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38877 codes from Open Firmware. All callers updated.
38878 (grub_ieee1275_next_property): Directly return Open Firmware return
38879 code.
38880 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38881 Standardize error checking from `grub_ieee1275_get_property'.
38882 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38883 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38884
97b2f2ff 388852006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38886
38887 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38888 `instance_to_package_args' to `instance_to_path_args'.
38889
38890 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38891 `grub_ieee1275_chosen'.
38892
38893 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38894 `grub_ieee1275_interpret'.
38895
97b2f2ff 388962006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38897
38898 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38899
97b2f2ff 389002006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38901
38902 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38903 (__cmpdi): Likewise.
38904
38905 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38906 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38907 `grub_ssize_t'.
38908
02bb8acc 38909 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38910
38911 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38912 to type `grub_ssize_t'.
38913 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38914
7f9a8531 389152006-09-22 Marco Gerards <marco@gnu.org>
38916
38917 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38918 newlines.
38919
b5ef1102 389202006-09-22 Marco Gerards <marco@gnu.org>
38921
38922 * commands/echo.c: New file.
38923
38924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38925
38926 * conf/common.rmk (echo_mod_SOURCES): New variable.
38927 (echo_mod_CFLAGS): Likewise.
38928 (echo_mod_LDFLAGS): Likewise.
38929
2cff3677 389302006-09-22 Marco Gerards <marco@gnu.org>
38931
38932 * normal/main.c (get_line): Malloc memory instead of using
38933 preallocated memory. Removed the arguments `cmdline' and
38934 `max_len'. Updated all callers.
38935
6ba4688b 389362006-09-22 Marco Gerards <marco@gnu.org>
38937
38938 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38939 (normal_mod_DEPENDENCIES): Likewise.
38940
38941 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38942 (normal_mod_DEPENDENCIES): Likewise.
38943
38944 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38945
e02ac02c 389462006-09-22 Johan Rydberg <jrydberg@gnu.org>
38947
38948 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38949 programs.
38950 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38951 (normal_mod_DEPENDENCIES): Likewise.
38952 * conf/i386-pc.mk: Regenerate.
38953 * conf/i386-efi.mk: Likewise
38954 * conf/common.mk: Likewise.
38955 * conf/powerpc-ieee1275.mk: Likewise.
38956 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38957
8d252e44 389582006-09-22 Robert Millan <rmh@aybabtu.com>
38959
38960 Sync with i386 version.
38961 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38962 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38963
209bf7ac 389642006-09-21 Robert Millan <rmh@aybabtu.com>
38965
38966 Import from GRUB Legacy (lib/device.c):
38967 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38968 (init_device_map) [__linux__]: Add support for I2O devices.
38969
6b146090 389702006-09-14 Marco Gerards <marco@gnu.org>
38971
38972 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38973 `-melf_i386'.
38974
e38600a8 389752006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38976
38977 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38978 /boot/grub/*.lst.
78fa1790 38979
2952da5d 38980 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38981
2952da5d 38982 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38983 before adding it to device.map.
38984
01b82a64 389852006-08-15 Johan Rydberg <jrydberg@gnu.org>
38986
fe6b695a 38987 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38988 compiles a file; using the -MD option.
38989 * conf/common.mk: Regenerate.
38990 * conf/i386-pc.mk: Likewise.
38991 * conf/i386-efi.mk: Likewise.
38992 * conf/powerpc-ieee1275.mk: Likewise.
38993 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38994
1064790d 389952006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38996
38997 Move the prototypes of grub_setjmp and grub_longjmp to
38998 cpu/setjmp.h, so that each architecture may specify different
38999 attributes.
f19dbdb7 39000
1064790d 39001 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39002 (grub_longjmp): Likewise.
39003 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39004 (grub_longjmp): Likewise.
39005 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39006 (grub_longjmp): Likewise.
39007
39008 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39009 [!GRUB_UTIL] (grub_longjmp): Removed.
39010
29dda3ed 390112006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39012
39013 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39014 "color!" method does not return any value.
39015
ad2a06ed 390162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39017
39018 * include/grub/bitmap.h: New file.
39019
39020 * include/grub/i386/pc/vbeutil.h: Likewise.
39021
39022 * video/bitmap.c: Likewise.
39023
39024 * video/readers/tga.c: Likewise.
39025
39026 * video/i386/pc/vbeutil.c: Likewise.
39027
39028 * commands/videotest.c: Code cleanup and updated to reflect to new
39029 video API.
39030
39031 * term/gfxterm.c: Likewise.
39032
39033 * video/video.c: Likewise.
39034
39035 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39036 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39037 (bitmap_mod_SOURCES): New entry.
39038 (bitmap_mod_CFLAGS): Likewise.
39039 (bitmap_mod_LDFLAGS): Likewise.
39040 (tga_mod_SOURCES): Likewise.
39041 (tga_mod_CFLAGS): Likewise.
39042 (tga_mod_LDFLAGS): Likewise.
39043
39044 * include/grub/video.h (grub_video_blit_operators): New enum type.
39045 (grub_video_render_target): Changed as forward declaration and moved
39046 actual definition to be video driver specific.
39047 (grub_video_adapter.blit_bitmap): Added blitting operator.
39048 (grub_video_adapter.blit_render_target): Likewise.
39049 (grub_video_blit_bitmap): Likewise.
39050 (grub_video_blit_render_target): Likewise.
39051
39052 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39053 driver specific render target definition.
39054 (grub_video_vbe_map_rgba): Added driver internal helper.
39055 (grub_video_vbe_unmap_color): Updated to use
39056 grub_video_i386_vbeblit_info.
39057 (grub_video_vbe_get_video_ptr): Likewise.
39058
39059 * include/grub/i386/pc/vbeblit.h
39060 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39061 grub_video_i386_vbeblit_info.
39062 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39063 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39064 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39065 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39066 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39067 (grub_video_i386_vbeblit_index_index): Likewise.
39068 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39069 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39070 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39071 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39072 operator.
39073 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39074 operator.
39075
39076 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39077 include/grub/i386/pc/vbeblit.h.
39078
39079 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39080 Updated to use grub_video_i386_vbeblit_info.
39081 (grub_video_i386_vbefill_R8G8B8): Likewise.
39082 (grub_video_i386_vbefill_index): Likewise.
39083 (grub_video_i386_vbefill): Added generic filler.
39084
39085 * video/i386/pc/vbefill.c: Updated to reflect changes on
39086 include/grub/i386/pc/vbefill.h.
39087
39088 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39089 grub_video_i386_vbeblit_info.
39090 (grub_video_vbe_unmap_color): Likewise.
39091 (grub_video_vbe_blit_glyph): Likewise.
39092 (grub_video_vbe_scroll): Likewise.
39093 (grub_video_vbe_draw_pixel): Removed function.
39094 (grub_video_vbe_get_pixel): Likewise.
39095 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39096 updated code to use it.
39097 (common_blitter): Added common blitter for render target and bitmap.
39098 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39099 (grub_video_vbe_blit_render_target): Likewise.
39100
bc8c036d 391012006-07-30 Johan Rydberg <jrydberg@gnu.org>
39102
39103 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39104 is in text mode if there is no console control protocol instance
39105 available.
39106
684a8eff 391072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39108
39109 * include/grub/video.h: Code cleanup.
39110
39111 * include/grub/i386/pc/vbe.h: Likewise.
39112
39113 * video/i386/pc/vbe.c: Likewise.
39114
39115 * video/i386/pc/vbeblit.c: Likewise.
39116
39117 * video/i386/pc/vbefill.c: Likewise.
39118
39119 * video/video.c: Likewise. Also added more comments.
39120
5915059b 391212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39122
39123 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39124 (struct grub_biosdisk_dap): Likewise.
39125
39126 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39127 linkage settings for all functions.
39128
90ce5d56 391292006-07-12 Marco Gerards <marco@gnu.org>
39130
39131 * configure.ac (--enable-mm-debug): Fix typo.
39132
39133 * genkernsyms.sh.in: Use proper quoting for `CC'.
39134
43e7f879 391352006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39136
39137 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39138 (normal_mod_ASFLAGS): Remove "-m32".
39139
4889bdec 391402006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39141
39142 * util/misc.c: Include config.h.
39143 [!HAVE_MEMALIGN]: Do not include malloc.h.
39144 (grub_memalign): Use posix_memalign, if present. Then, use
39145 memalign, if present. Otherwise, emit an error.
39146
39147 * util/grub-emu.c: Do not include malloc.h.
39148
39149 * include/grub/util/misc.h: Include unistd.h. This is required for
39150 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39151 D. Eades III <hde@foobar-qux.org>.
39152
39153 * configure.ac (AC_GNU_SOURCE): Added.
39154 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39155 type.
39156
fd39d4da 391572006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39158
39159 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39160 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39161
b786f3b5 391622006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39163
39164 * include/grub/types.h (grub_host_addr_t): Rename to
39165 grub_target_addr_t.
39166 (grub_host_off_t): Rename to grub_target_off_t.
39167 (grub_host_size_t): Rename to grub_target_size_t.
39168 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39169 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39170
39171 * include/grub/kernel.h (struct grub_module_header): Change type
39172 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39173 (grub_module_info): Likewise.
f19dbdb7 39174
051988bb 391752006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39176
39177 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39178 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39179 Velazquez <jesus.velazquez@gmail.com>.
39180
deae281b 391812006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39182
39183 Count partitions from 1 instead of 0 in the string representation
39184 of partitions. Still use 0-based internally.
f19dbdb7 39185
deae281b 39186 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39187 (sun_partition_map_iterate): Use grub_partition_t instead of
39188 struct grub_partition *. Cast DESC->START_CYLINDER to
39189 grub_uint64_t after converting the endian.
39190 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39191 (sun_partition_map_get_name): Add 1 to P->INDEX.
39192
39193 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39194 PCDATA->DOS_PART.
39195 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39196
39197 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39198 zero instead of one.
39199 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39200 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39201
39202 * partmap/apple.c (apple_partition_map_iterate): Change the type
39203 of POS to unsigned.
39204 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39205 (apple_partition_map_get_name): Add 1 into P->INDEX.
39206
39207 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39208 of POS to unsigned.
39209 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39210 calculate the offset of a partition.
39211 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39212 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39213
39214 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39215 SECTOR to grub_disk_addr_t.
39216 (acorn_partition_map_iterate): Likewise.
39217 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39218 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39219 top.
39220 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39221
39222 * kern/i386/pc/init.c (make_install_device): Add 1 into
39223 GRUB_INSTALL_DOS_PART.
39224
39225 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39226 conditional.
39227
524a1e6a 392282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39229
39230 Clean up the code to support 64-bit addressing in disks and
39231 files. This change is not enough for filesystems yet.
f19dbdb7 39232
524a1e6a 39233 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39234 type of "start" to grub_uint64_t.
39235 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39236 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39237 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39238 convert addresses.
39239
39240 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39241 to grub_disk_addr_t.
39242
39243 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39244 string.
39245
39246 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39247
39248 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39249 to char *.
39250
39251 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39252
39253 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39254
39255 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39256
39257 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39258 to grub_off_t, to detect an error from grub_file_seek.
39259 (grub_multiboot_load_elf32): Likewise.
39260
39261 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39262 maximum unsigned long value when an overflow is detected.
39263 (grub_strtoull): New function.
39264 (grub_divmod64): Likewise.
39265 (grub_lltoa): use grub_divmod64.
39266
39267 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39268 grub_disk_addr_t.
39269 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39270 the pointer to next character. Use grub_strtoull instead of
39271 grub_strtoul.
39272 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39273 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39274 respectively.
39275
fe6b695a 39276 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39277 return value is signed.
39278 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39279 test if OFFSET is less than zero, as OFFSET is unsigned now.
39280
39281 * kern/disk.c (struct grub_disk_cache): Change the type of
39282 "sector" to grub_disk_addr_t.
39283 (grub_disk_cache_get_index): Change the type of SECTOR to
39284 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39285 unsigned after shifting.
39286 (grub_disk_cache_invalidate): Change the type of SECTOR to
39287 grub_disk_addr_t.
39288 (grub_disk_cache_unlock): Likewise.
39289 (grub_disk_cache_store): Likewise.
39290 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39291 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39292 grub_disk_addr_t and grub_uint64_t, respectively.
39293 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39294 body, as the value of OFFSET is tweaked by
39295 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39296 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39297 respectively.
39298 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39299 body, as the value of OFFSET is tweaked by
39300 grub_disk_check_range. Change the types of LEN and N to
39301 grub_size_t.
39302
39303 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39304 and "saved_offset" to grub_off_t.
39305 (test_header): Cast BUF to char *.
39306 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39307 to char *.
39308 (grub_gzio_read): Change the types of OFFSET and SIZE to
39309 grub_off_t and grub_size_t, respectively.
39310
39311 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39312 Removed.
39313 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39314 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39315 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39316 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39317 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39318
39319 * include/grub/types.h (grub_off_t): Unconditionally set to
39320 grub_uint64_t.
39321 (grub_disk_addr_t): Changed to grub_uint64_t.
39322
39323 * include/grub/partition.h (struct grub_partition): Change the
39324 types of "start", "len" and "offset" to grub_disk_addr_t,
39325 grub_uint64_t and grub_disk_addr_t, respectively.
39326 (grub_partition_get_start): Return grub_disk_addr_t.
39327 (grub_partition_get_len): Return grub_uint64_t.
39328
39329 * include/grub/misc.h (grub_strtoull): New prototype.
39330 (grub_divmod64): Likewise.
39331
39332 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39333 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39334 grub_off_t, respectively.
39335 All callers and references changed.
39336
39337 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39338 grub_size_t in "read".
39339 All callers and references changed.
39340
39341 * include/grub/file.h (struct grub_file): Change the types of
39342 "offset" and "size" to grub_off_t and grub_off_t,
39343 respectively. Change the type of SECTOR to grub_disk_addr_t in
39344 "read_hook".
39345 (grub_file_read): Change the type of LEN to grub_size_t.
39346 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39347 grub_off_t.
39348 (grub_file_size): Return grub_off_t.
39349 (grub_file_tell): Likewise.
39350 All callers and references changed.
39351
39352 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39353 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39354 "write".
39355 (struct grub_disk): Change the type of "total_sectors" to
39356 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39357 "read_hook".
524a1e6a 39358 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39359 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39360 (grub_disk_write): Likewise.
39361 All callers and references changed.
39362
39363 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39364 char * for grub_strncmp to silence gcc.
39365 (grub_iso9660_mount): Likewise.
39366 (grub_iso9660_mount): Likewise.
39367 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39368 return statement.
39369 (grub_iso9660_iterate_dir): Likewise.
39370 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39371
39372 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39373 LEN to grub_disk_addr_t and grub_size_t, respectively.
39374
39375 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39376
39377 * fs/jfs.c (grub_jfs_read_file): Likewise.
39378
39379 * fs/minix.c (grub_jfs_read_file): Likewise.
39380
39381 * fs/sfs.c (grub_jfs_read_file): Likewise.
39382
39383 * fs/ufs.c (grub_jfs_read_file): Likewise.
39384
39385 * fs/xfs.c (grub_jfs_read_file): Likewise.
39386
39387 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39388 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39389 respectively.
39390
39391 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39392 BLKNR to -1 instead of returning GRUB_ERRNO.
39393 (grub_ext2_read_file): Change the types of SECTOR and
39394 LEN to grub_disk_addr_t and grub_size_t, respectively.
39395
39396 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39397 LEN to grub_disk_addr_t and grub_size_t, respectively.
39398
39399 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39400 grub_file_read.
39401
39402 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39403 string. Do not cast SECTOR explicitly.
39404
39405 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39406 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39407 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39408 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39409 over 2TB and LBA mode is not supported, raise an error.
39410 (get_safe_sectors): New function.
39411 (grub_biosdisk_read): Use get_safe_sectors.
39412 (grub_biosdisk_write): Likewise.
39413
39414 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39415 (grub_efidisk_write): Likewise.
39416
39417 * disk/loopback.c (delete_loopback): Cosmetic changes.
39418 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39419 correctly.
39420 (grub_loopback_open): Likewise.
39421 (grub_loopback_read): Likewise. Also, change the type of POS to
39422 grub_off_t, and fix the usage of grub_memset.
39423
39424 * commands/i386/pc/play.c: Include grub/machine/time.h.
39425
39426 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39427 print FILE->SIZE.
39428
39429 * commands/configfile.c: Include grub/env.h.
39430
39431 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39432 GRUB_ERRNO directly instead. Change the type of POS to
39433 grub_off_t. Follow the coding standard.
39434
39435 * commands/blocklist.c: Include grub/partition.h.
39436 (grub_cmd_blocklist): Return an error if the underlying device is
39437 not a disk. Take the starting sector of a partition into account,
39438 if a partition is used.
39439
39440 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39441 a length field.
39442 (lba_mode): Support 64-bit addresses.
39443 (chs_mode): Likewise.
39444 (copy_buffer): Adapted to the new offsets of a length field and a
39445 segment field.
39446 (blocklist_default_start): Allocate 64-bit space.
39447
39448 * boot/i386/pc/boot.S (force_lba): Removed.
39449 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39450 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39451 space.
39452 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39453 is useless.
39454 (lba_mode): Refactored to support a 64-bit address. More size
39455 optimization.
39456 (setup_sectors): Likewise.
39457
53af98ad 394582006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39459
39460 * DISTLIST: Added include/grub/i386/linux.h. Removed
39461 include/grub/i386/pc/linux.h
39462
39463 * configure.ac (AC_INIT): Bumped to 1.94.
39464
39465 * config.guess: Updated from gnulib.
39466 * config.sub: Likewise.
39467 * install-sh: Likewise.
39468 * mkinstalldirs: Likewise.
39469
b4c1940a 394702006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39471
39472 * conf/common.rmk (grub_modules_init.lst): Depended on
39473 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39474 MODSRCFILES.
39475
39476 * genmk.rb (PModule::rule): Reverted the previous change.
39477
cfca1cfd 394782006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39479
39480 * conf/common.rmk (grub_modules_init.lst): Depends on
39481 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39482 that the target does not exist before producing.
39483 (grub_modules_init.h): Remove the target before generating.
39484 (grub_emu_init.c): Likewise.
39485
39486 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39487
aa6d7826 394882006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39489
39490 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39491 for the target-specific tests. Make sure that we also have the
39492 up-to-date target variables for those tests.
39493
26c607b9 394942006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39495
39496 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39497 (PModule::rule): Likewise.
39498
0162321a 394992006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39500
39501 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39502 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39503 target-specific flags should be prefixed.
39504 (PModule::rule): Likewise.
39505
6c826348 395062006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39507
39508 * configure.ac (CMP): Check if cmp is available explicitly.
39509
b977bf01 395102006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39511
39512 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39513 (target_cpu): New variable.
39514 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39515
b977bf01 39516 * util/i386/pc/grub-install.in (host_cpu): Removed.
39517 (target_cpu): New variable.
39518 (pkglibdir): Use target_cpu instead of host_cpu.
39519
39520 * util/genmoddep.c: Removed.
f19dbdb7 39521
b977bf01 39522 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39523 instead of GRUB_HOST_SIZEOF_VOID_P.
39524 * kern/dl.c: Likewise.
39525
39526 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39527 ...
39528 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39529 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39530 (GRUB_TARGET_SIZEOF_LONG): ... this.
39531 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39532 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39533 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39534 to ...
39535 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39536 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39537 (GRUB_TARGET_SIZEOF_LONG): ... this.
39538 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39539 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39540 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39541 to ...
39542 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39543 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39544 (GRUB_TARGET_SIZEOF_LONG): ... this.
39545 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39546 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39547
39548 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39549 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39550 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39551 instead of GRUB_HOST_SIZEOF_LONG.
39552 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39553 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39554 GRUB_CPU_WORDS_BIGENDIAN.
39555 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39556 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39557 grub_host_ssize_t.
39558
39559 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39560 (genmoddep_SOURCES): Likewise.
39561 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39562 (genmoddep_SOURCES): Likewise.
39563 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39564 (genmoddep_SOURCES): Likewise.
39565 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39566 Likewise.
39567 (genmoddep_SOURCES): Likewise.
39568
39569 * genmoddep.awk: New file.
39570
39571 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39572 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39573 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39574 (PModule::rule): Likewise.
39575 (Program::rule): Likewise.
39576 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39577 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39578 respectively.
39579
39580 * configure.ac: Rewritten intensively to use host and target
39581 instead of build and host, respectively.
39582
39583 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39584 (host_cpu): Removed.
39585 (target_cpu): New variable.
39586 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39587 (BUILD_CC): Removed.
39588 (BUILD_CFLAGS): Likewise.
39589 (BUILD_CPPFLAGS): Likewise.
39590 (TARGET_CC): New variable.
39591 (TARGET_CFLAGS): Likewise.
39592 (TARGET_CPPFLAGS): Likewise.
39593 (TARGET_LDFLAGS): Likewise.
39594 (AWK): Likewise.
39595 (include): Use target_cpu instead of host_cpu.
39596 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39597
b977bf01 39598 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39599
f09771a1 396002006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39601
39602 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39603 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39604 field 'false' to 'exec_on_false'.
39605 (grub_script_create_cmdif): Renamed argument names to reflect above
39606 changes.
39607
39608 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39609
39610 * normal/script.c (grub_script_create_cmdif): Likewise.
39611
118f4fb3 396122006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39613
39614 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39615 top.
39616 (grub_hfsplus_btree_recptr): Likewise.
39617 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39618 FILEBLOCK both to pass a block number and store next block
39619 number.
39620 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39621 overflow file correctly. Specify errors appropriately, because
39622 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39623 grub_hfsplus_btree_recptr to get the pointer to a found key.
39624 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39625 is found.
39626
39627 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39628 linux.mod.
39629 (_linux_mod_SOURCES): New variable.
39630 (_linux_mod_CFLAGS): Likewise.
39631 (_linux_mod_LDFLAGS): Likewise.
39632 (linux_mod_SOURCES): Likewise.
39633 (linux_mod_CFLAGS): Likewise.
39634 (linux_mod_LDFLAGS): Likewise.
39635
39636 * DISTLIST: Added loader/i386/efi/linux.c,
39637 loader/i386/efi/linux_normal.c and
39638 include/grub/i386/efi/loader.h.
39639
39640 * loader/i386/efi/linux.c: New file.
39641 * loader/i386/efi/linux_normal.c: Likewise.
39642 * include/grub/i386/efi/loader.h: Likewise.
39643
89a7d726 396442006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39645
39646 * commands/blocklist.c: New file.
39647
39648 * DISTLIST: Added commands/blocklist.c.
39649
39650 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39651 color for the background, and a darker color for the foreground.
89a7d726 39652 (grub_console_checkkey): Return READ_KEY.
39653 (grub_console_cls): Set the background to
39654 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39655
39656 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39657
39658 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39659 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39660
39661 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39662 prototype.
39663
39664 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39665 BG. The spec is wrong again.
39666
39667 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39668 prototype.
39669 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39670
39671 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39672 commands/blocklist.c.
39673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39674
89a7d726 39675 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39676 (blocklist_mod_SOURCES): New variable.
39677 (blocklist_mod_CFLAGS): Likewise.
39678 (blocklist_mod_LDFLAGS): Likewise.
39679
75c8f258 396802006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39681
39682 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39683 duplication.
39684 (lba_mode): Use %eax more intensively to reduce the code size.
39685
da2eb181 396862006-05-20 Marco Gerards <marco@gnu.org>
39687
39688 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39689
39690 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39691 for `menuentry'.
39692 (script): Accept leading newlines.
39693 (newlines): New rule to describe 0 or more newlines.
39694 (commands): Accept `command' with trailing newline. Fixed the
39695 order in which arguments were passed to `grub_script_add_cmd'.
39696 Accept commands separated by newlines.
39697 (function): Changed to accept newlines.
39698 (menuentry) Rewritten.
39699
39700 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39701 front of the list, instead of to the end.
39702
577b4050 397032006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39704
39705 * util/i386/pc/grub-install.in (bindir): New variable.
39706 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39707 Shaver <lbgwjl@gmail.com>.
39708
0d6e1189 397092006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39710
39711 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39712 grub/machine/linux.h
39713 * loader/i386/pc/linux.c: Likewise.
39714
39715 * include/grub/i386/pc/linux.h: Moved to ...
39716 * include/grub/i386/linux.h: ... here.
39717
39718 * include/grub/i386/linux.h (struct linux_kernel_params): New
39719 struct.
f19dbdb7 39720
31b86e9f 397212006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39722
39723 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39724 checking.
39725 (grub_video_vbe_blit_glyph): Likewise.
39726 (grub_video_vbe_blit_bitmap): Likewise.
39727 (grub_video_vbe_blit_render_target): Likewise.
39728
83b984de 397292006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39730
39731 * configure.ac (--with-platform): Properly quote the square
39732 brackets.
39733
5f0413bd 397342006-05-08 Marco Gerards <marco@gnu.org>
39735
39736 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39737 this...
39738 (kernel_elf_HEADERS): ...to this. Updated all users.
39739 (grubof_symlist.c): Renamed from this...
39740 (kernel_elf_symlist.c): ...to this. Updated all users.
39741 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39742 (grubof_SOURCES): Renamed from this...
39743 (kernel_elf_SOURCES): ...to this.
39744 (grubof_HEADERS): Renamed from this...
39745 (kernel_elf_HEADERS): ...to this.
39746 (grubof_CFLAGS): Renamed from this...
39747 (kernel_elf_CFLAGS): ...to this.
39748 (grubof_ASFLAGS): Renamed from this...
39749 (kernel_elf_ASFLAGS): ...to this.
39750 (grubof_LDFLAGS): Renamed from this...
39751 (kernel_elf_LDFLAGS): ...to this.
39752
39753 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39754 this...
39755 (kernel_elf_HEADERS): ...to this. Updated all users.
39756 (grubof_symlist.c): Renamed from this...
39757 (kernel_elf_symlist.c): ...to this. Updated all users.
39758 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39759 (grubof_SOURCES): Renamed from this...
39760 (kernel_elf_SOURCES): ...to this.
39761 (grubof_HEADERS): Renamed from this...
39762 (kernel_elf_HEADERS): ...to this.
39763 (grubof_CFLAGS): Renamed from this...
39764 (kernel_elf_CFLAGS): ...to this.
39765 (grubof_ASFLAGS): Renamed from this...
39766 (kernel_elf_ASFLAGS): ...to this.
39767 (grubof_LDFLAGS): Renamed from this...
39768 (kernel_elf_LDFLAGS): ...to this.
39769
39770 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39771 `kernel.elf' instead of `grubof'.
39772
05568c2e 397732006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39774
39775 Add --with-platform to configure. Use pkglibdir instead of
39776 pkgdatadir. This is reported by Roger Leigh.
39777
39778 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39779 (host_vendor): Likewise.
39780 (host_os): Likewise.
39781 (pkgdatadir): Likewise.
39782 (platform): New variable.
39783 (pkglibdir): Likewise.
39784 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39785
05568c2e 39786 * util/i386/pc/grub-install.in (datadir): Removed.
39787 (host_vendor): Likewise.
39788 (host_os): Likewise.
39789 (pkgdatadir): Likewise.
39790 (platform): New variable.
39791 (pkglibdir): Likewise.
39792 Use PKGLIBDIR instead of PKGDATADIR.
39793
39794 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39795 instead of GRUB_DATADIR.
39796 (main): Likewise.
39797 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39798 (main): Likewise.
39799 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39800 (main): Likewise.
39801
39802 * configure.ac (--with-platform): New option.
39803 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39804
39805 * Makefile.in: Include a makefile based on PLATFORM instead of
39806 HOST_VENDOR.
39807 (pkgdatadir): Not appended by the machine type.
39808 (pkglibdir): Appended by the machine type.
39809 (host_vendor): Removed.
39810 (platform): New variable.
39811 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39812 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39813 (uninstall): Likewise.
39814
4e93851c 398152006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39816
39817 Use the environment context in the menu. Remove the commands
39818 "default" and "timeout", and use variables instead.
f19dbdb7 39819
4e93851c 39820 * normal/menu.c: Include grub/env.h.
39821 (print_entry): Cast TITLE to silence gcc.
39822 (get_timeout): New function.
39823 (set_timeout): Likewise.
39824 (get_entry_number): Likewise.
39825 (run_menu): Use a default entry, a fallback entry and a timeout
39826 in the environment variables "default", "fallback" and
39827 "timeout". Also, tweak the default entry if it is not within the
39828 current menu entries.
39829 (grub_menu_run): Use a fallback entry in the environment variable
39830 "fallback".
39831
39832 * normal/main.c (read_config_file): Do not initialize
39833 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39834 NEWMENU->TIMEOUT.
39835 (grub_normal_execute): Use a data slot to store the menu.
39836
39837 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39838 fallback_entry and timeout.
39839 (struct grub_menu_list): Removed.
39840 (grub_menu_list_t): Likewise.
39841 (struct grub_context): Likewise.
39842 (grub_context_t): Likewise.
39843 (grub_context_get): Likewise.
39844 (grub_context_get_current_menu): Likewise.
39845 (grub_context_push_menu): Likewise.
39846 (grub_context_pop_menu): Likewise.
39847 (grub_default_init): Likewise.
39848 (grub_default_fini): Likewise.
39849 (grub_timeout_init): Likewise.
39850 (grub_timeout_fini): Likewise.
39851
39852 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39853 and timeout.mod.
39854 (normal_mod_SOURCES): Removed normal/context.c.
39855
39856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39857 commands/default.c, commands/timeout.c and normal/context.c.
39858 (normal_mod_SOURCES): Removed normal/context.c.
39859
39860 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39861 commands/timeout.c and normal/context.c.
39862 (normal_mod_SOURCES): Removed normal/context.c.
39863
39864 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39865 commands/default.c, commands/timeout.c and normal/context.c.
39866 (normal_mod_SOURCES): Removed normal/context.c.
39867
39868 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39869 timeout.mod.
39870 (default_mod_SOURCES): Removed.
39871 (default_mod_CFLAGS): Likewise.
39872 (default_mod_LDFLAGS): Likewise.
39873 (timeout_mod_SOURCES): Removed.
39874 (timeout_mod_CFLAGS): Likewise.
39875 (timeout_mod_LDFLAGS): Likewise.
39876
39877 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39878 normal/context.c.
39879
39880 * commands/default.c: Removed.
39881 * commands/timeout.c: Likewise.
39882 * normal/context.c: Likewise.
39883
1eb9cc1d 398842006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39885
39886 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39887
385bd9c1 398882006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39889
39890 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39891 "next" to "prev" for readability.
39892 (struct grub_env_sorted_var): New struct.
39893 (grub_env_context): Renamed to ...
39894 (initial_context): ... this.
39895 (grub_env_var_context): Renamed to ...
39896 (current_context): ... this.
39897 (grub_env_find): Look only at CURRENT_CONTEXT.
39898 (grub_env_context_open): Rewritten to copy exported variables from
39899 previous context.
39900 (grub_env_context_close): Rewritten according to the new
39901 scheme. Also, add an assertion to prevent the initial context from
39902 removed.
39903 (grub_env_insert): Removed the code for the sorted list.
39904 (grub_env_remove): Likewise.
39905 (grub_env_export): Simply mark the variable with
39906 GRUB_ENV_VAR_GLOBAL.
39907 (grub_env_set): A cosmetic change for naming consistency.
39908 (grub_env_get): Likewise.
39909 (grub_env_unset): Likewise.
39910 (grub_env_iterate): Rewritten to sort variables within this
39911 function.
39912 (grub_register_variable_hook): Fixed for naming consistency. Call
39913 grub_env_find again, only if NAME is not found at the first time.
39914 (mangle_data_slot_name): New function.
39915 (grub_env_set_data_slot): Likewise.
39916 (grub_env_get_data_slot): Likewise.
39917 (grub_env_unset_data_slot): Likewise.
39918
39919 * include/grub/env.h (grub_env_var_type): New enum.
39920 (GRUB_ENV_VAR_LOCAL): New constant.
39921 (GRUB_ENV_VAR_GLOBAL): Likewise.
39922 (GRUB_ENV_VAR_DATA): Likewise.
39923 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39924 "type".
39925 (grub_env_set): Replace VAR with NAME for consistency.
39926 (grub_register_variable_hook): Likewise.
39927 (grub_env_export): Specify the name of the argument.
39928 (grub_env_set_data_slot): New prototype.
39929 (grub_env_get_data_slot): Likewise.
39930 (grub_env_unset_data_slot): Likewise.
39931
7f362539 399322006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39933
39934 Extend the loader so that GRUB can accept a loader which comes
39935 back to GRUB when a loaded image exits. Also, this change adds
39936 support for a chainloader on EFI.
f19dbdb7 39937
7f362539 39938 * term/efi/console.c: Include grub/misc.h.
39939 (grub_console_checkkey): Display a scan code on the top for
39940 debugging. This will be removed once the EFI port gets stable.
39941 Correct the scan code mapping.
39942
39943 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39944 allocate memory from larger regions, in order to reduce the number
39945 of allocated regions. Otherwise, the MacOSX loader panics.
39946 (filter_memory_map): Avoid less than 1MB for compatibility with
39947 other loaders.
39948 (add_memory_regions): Allocate from the tail of a region, if
39949 possible, to avoid allocating a region near to 1MB, for the MacOSX
39950 loader.
39951
39952 * kern/efi/init.c (grub_efi_set_prefix): Specify
39953 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39954
39955 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39956 argument IMAGE_HANDLE and specify it to get a loaded image.
39957 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39958 grub_efi_get_loaded_image.
fe6b695a 39959 (grub_efi_get_filename): Divide the length by the size of
7f362539 39960 grub_efi_char16_t.
39961 (grub_efi_get_device_path): New function.
39962 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39963 the length by the size of grub_efi_char16_t for a file path device
39964 path node.
39965
39966 * kern/loader.c (grub_loader_noreturn): New variable.
39967 (grub_loader_set): Accept a new argument NORETURN. Set
39968 GRUB_LOADER_NORETURN to NORETURN.
39969 All callers changed.
39970 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39971 grub_machine_fini.
39972
39973 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39974 prototype.
39975 (grub_efi_get_loaded_image): Take an argument to specify an image
39976 handle.
39977
39978 * include/grub/loader.h (grub_loader_set): Added one more argument
39979 NORETURN.
39980
39981 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39982 instead of grub_efi_open_protocol.
39983 (grub_efidisk_get_device_name): Likewise.
39984 (grub_efidisk_close): Print a newline.
39985 (grub_efidisk_get_device_handle): Fixed to use
39986 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39987 GRUB_EFI_DEVICE_PATH_TYPE.
39988
39989 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39990 * kern/efi/efi.c (device_path_guid): ... here.
39991
39992 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39993 chain.mod.
39994 (kernel_mod_HEADERS): Added efi/disk.h.
39995 (_chain_mod_SOURCES): New variable.
39996 (_chain_mod_CFLAGS): Likewise.
39997 (_chain_mod_LDFLAGS): Likewise.
39998 (chain_mod_SOURCES): Likewise.
39999 (chain_mod_CFLAGS): Likewise.
40000 (chain_mod_LDFLAGS): Likewise.
40001
40002 * DISTLIST: Added include/grub/efi/chainloader.h,
40003 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40004
40005 * include/grub/efi/chainloader.h: New file.
40006 * loader/efi/chainloader.c: Likewise.
40007 * loader/efi/chainloader_normal.c: Likewise.
40008
c0111d6e 400092006-04-30 Marco Gerards <marco@gnu.org>
40010
40011 * commands/configfile.c (grub_cmd_source): New function.
40012 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40013 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40014
df5341da 400152006-04-30 Marco Gerards <marco@gnu.org>
40016
40017 * normal/execute.c (grub_script_execute_cmd): Change the return
40018 type to `grub_err_t'. Correctly return the error.
40019 (grub_script_execute_cmdline): In case a command line is not a
40020 command or a function, try to interpret it as an assignment.
40021
f85934bd 400222006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40023
40024 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40025 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40026 skip a node whose name is obviously invalid as UTF-16,
40027 i.e. contains a NUL character. Stop the iteration when the last
40028 directory entry is found. Instead of using the return value of
40029 grub_hfsplus_btree_iterate_node, store the value in RET and use
40030 it, because the iterator can be stopped by the last directory
40031 entry.
40032
8f8a2cf8 400332006-04-30 Marco Gerards <marco@gnu.org>
40034
40035 * include/grub/env.h (grub_env_export): New prototype. Reported
40036 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40037
a27e84ce 400382006-04-30 Marco Gerards <marco@gnu.org>
40039
40040 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40041 size of the extents in a catalog file record.
40042
eaef0553 400432006-04-29 Marco Gerards <marco@gnu.org>
40044
40045 * commands/configfile.c (grub_cmd_configfile): Execute the
40046 configfile within its own context.
40047
40048 * include/grub/env.h (grub_env_context_open): New prototype.
40049 (grub_env_context_close): Likewise.
40050
40051 * kern/env.c (grub_env): Removed.
40052 (grub_env_sorted): Likewise.
40053 (grub_env_context): New variable.
40054 (grub_env_var_context): Likewise.
40055 (grub_env_find): Search both the active context and the global
40056 context.
40057 (grub_env_context_open): New function.
40058 (grub_env_context_close): Likewise.
40059 (grub_env_insert): Likewise.
40060 (grub_env_remove): Likewise.
40061 (grub_env_export): Likewise.
40062 (grub_env_set): Changed to use helper functions to avoid code
40063 duplication.
40064 (grub_env_iterate): Rewritten so both the current context and the
40065 global context are being used.
40066
40067 * normal/command.c (export_command): New function.
40068 (grub_command_init): Register the `export' function.
40069
7b455f4d 400702006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40073 explicitly to suppress gcc's warnings.
40074 * fs/fat.c (grub_fat_find_dir): Likewise.
40075 (grub_fat_label): Likewise.
40076 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40077 (grub_xfs_mount): Likewise.
40078 (grub_xfs_label): Likewise.
40079 * fs/affs.c (grub_affs_mount): Likewise.
40080 (grub_affs_label): Likewise.
40081 (grub_affs_iterate_dir): Likewise.
40082 * fs/sfs.c (grub_sfs_mount): Likewise.
40083 (grub_sfs_iterate_dir): Likewise.
40084 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40085 * fs/hfs.c (grub_hfs_mount): Likewise.
40086 (grub_hfs_cmp_catkeys): Likewise.
40087 (grub_hfs_find_dir): Likewise.
40088 (grub_hfs_dir): Likewise.
40089 (grub_hfs_label): Likewise.
40090 * fs/jfs.c (grub_jfs_mount): Likewise.
40091 (grub_jfs_opendir): Likewise.
40092 (grub_jfs_getent): Likewise.
40093 (grub_jfs_lookup_symlink): Likewise.
40094 (grub_jfs_label): Likewise.
40095 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40096 (grub_hfsplus_iterate_dir): Likewise.
40097 (grub_hfsplus_btree_iterate_node): Made static.
40098
40099 * util/grub-emu.c (prefix): New variable.
40100 (grub_machine_set_prefix): New function.
40101 (main): Do not set the environment variable "prefix" here. Only
40102 set PREFIX, which is used later by grub_machine_set_prefix.
40103
40104 * include/grub/video.h: Do not include grub/symbol.h.
40105 (grub_video_register): Not exported. This symbol is not defined in
40106 the kernel.
40107 (grub_video_unregister): Likewise.
40108 (grub_video_iterate): Likewise.
40109 (grub_video_setup): Likewise.
40110 (grub_video_restore): Likewise.
40111 (grub_video_get_info): Likewise.
40112 (grub_video_get_blit_format): Likewise.
40113 (grub_video_set_palette): Likewise.
40114 (grub_video_get_palette): Likewise.
40115 (grub_video_set_viewport): Likewise.
40116 (grub_video_get_viewport): Likewise.
40117 (grub_video_map_color): Likewise.
40118 (grub_video_map_rgb): Likewise.
40119 (grub_video_map_rgba): Likewise.
40120 (grub_video_fill_rect): Likewise.
40121 (grub_video_blit_glyph): Likewise.
40122 (grub_video_blit_bitmap): Likewise.
40123 (grub_video_blit_render_target): Likewise.
40124 (grub_video_scroll): Likewise.
40125 (grub_video_swap_buffers): Likewise.
40126 (grub_video_create_render_target): Likewise.
40127 (grub_video_delete_render_target): Likewise.
40128 (grub_video_set_active_render_target): Likewise.
40129
40130 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40131 Undefined.
40132 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40133
40134 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40135 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40136 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40137 instead of $(srcdir)/genkernsyms.sh.
40138
40139 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40140 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40141 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40142 instead of $(srcdir)/genkernsyms.sh.
40143
40144 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40145 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40146 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40147 instead of $(srcdir)/genkernsyms.sh.
40148
40149 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40150 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40151 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40152 instead of $(srcdir)/genkernsyms.sh.
40153
40154 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40155 genkernsyms.sh.
40156
40157 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40158 genkernsyms.sh.
40159 (gensymlist.sh): New target.
40160 (genkernsyms.sh): Likewise.
40161
40162 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40163 genkernsyms.sh.in and gensymlist.sh.in.
40164
40165 * genkernsyms.sh: Removed.
40166 * gensymlist.sh: Likewise.
f19dbdb7 40167
7b455f4d 40168 * genkernsyms.sh.in: New file.
40169 * gensymlist.sh.in: Likewise.
40170
1885bb27 401712006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40172
40173 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40174 clobber "prefix", since we may have already set it manually.
40175
71538dff 401762006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40177
40178 * kern/misc.c (abort): New alias for grub_abort.
40179
2965c7cc 401802006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40181
40182 A new machine-specific function "grub_machine_set_prefix" is
40183 defined. This is called after loading modules, so that a prefix
40184 initialization can use modules. Also, this change adds an
40185 intensive debugging feature for the memory manager via the
40186 configure option "--enable-mm-debug".
f19dbdb7 40187
2965c7cc 40188 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40189 PART.LEN.
40190
40191 * kern/sparc64/ieee1275/init.c (abort): Removed.
40192 (grub_stop): Likewise.
40193 (grub_exit): New function.
40194 (grub_set_prefix): Renamed to ...
40195 (grub_machine_set_prefix): ... this.
40196 (grub_machine_init): Do not call grub_set_prefix.
40197
40198 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40199 (grub_machine_set_prefix): ... this.
40200 (grub_machine_init): Do not call grub_set_prefix.
40201
40202 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40203 (grub_machine_init): Do not set the prefix here.
40204
40205 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40206
40207 * kern/efi/init.c: Include grub/mm.h.
40208 (grub_efi_set_prefix): New function.
40209
40210 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40211 (grub_efi_get_filename): New function.
40212 (grub_print_device_path): Renamed to ...
40213 (grub_efi_print_device_path): ... this.
40214
40215 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40216 [MM_DEBUG] (grub_realloc): Likewise.
40217 [MM_DEBUG] (grub_free): Likewise.
40218 [MM_DEBUG] (grub_memalign): Likewise.
40219 [MM_DEBUG] (grub_mm_debug): New variable.
40220 [MM_DEBUG] (grub_debug_malloc): New function.
40221 [MM_DEBUG] (grub_debug_free): New function.
40222 [MM_DEBUG] (grub_debug_realloc): New function.
40223 [MM_DEBUG] (grub_debug_memalign): New function.
40224
40225 * kern/misc.c (grub_abort): Print a newline to distinguish
40226 the message.
40227
40228 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40229 grub_set_root_dev after loading modules. This is necessary when
40230 setting a prefix depends on modules.
40231
40232 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40233 (grub_efi_print_device_path): ... this.
40234 (grub_efi_get_filename): New prototype.
40235 (grub_efi_set_prefix): Likewise.
40236
40237 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40238 and grub/disk.h.
40239 (grub_efidisk_get_device_handle): New prototype.
40240 (grub_efidisk_get_device_name): Likewise.
40241
40242 * include/grub/mm.h: Include config.h.
40243 (MM_DEBUG): Removed.
40244 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40245 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40246 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40247 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40248 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40249 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40250 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40251 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40252 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40253
40254 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40255
40256 * disk/efi/efidisk.c: Include grub/partition.h.
40257 (iterate_child_devices): New function.
40258 (add_device): First, compare only last device path nodes, so that
40259 devices are sorted by the types.
40260 (grub_efidisk_get_device_handle): New function.
40261 (grub_efidisk_get_device_name): Likewise.
40262
40263 * configure.ac (--enable-mm-debug): New option to enable the
40264 memory manager debugging feature. This makes the binary much
40265 bigger, so is disabled by default.
40266
9cacaa17 402672006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40268
40269 Use grub_abort instead of grub_stop, and grub_exit must be
40270 define in each architecture now. Also, this change adds support
40271 for EFI disks.
f19dbdb7 40272
9cacaa17 40273 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40274 (grub_getkey): New function.
40275 (grub_term_get_current): Likewise.
40276
40277 * util/i386/pc/grub-setup.c: Include grub/term.h.
40278 (grub_getkey): New function.
40279 (grub_term_get_current): Likewise.
40280
40281 * util/misc.c (grub_stop): Renamed to ...
40282 (grub_exit): ... this.
40283
40284 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40285 (grub_exit): ... this.
40286 (grub_machine_init): Use grub_abort instead of abort.
40287 (grub_stop): Removed.
40288
40289 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40290 abort.
40291
40292 * kern/i386/pc/startup.S (grub_exit): New function.
40293 (cold_reboot): New label.
40294
40295 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40296 (grub_efi_init): Call grub_efidisk_init.
40297 (grub_efi_fini): Call grub_efidisk_fini.
40298
40299 * kern/efi/efi.c: Include grub/mm.h.
40300 (grub_efi_console_control_guid): Renamed to ...
40301 (console_control_guid): ... this.
40302 (grub_efi_loaded_image_guid): Renamed to ...
40303 (loaded_image_guid): ... this.
40304 (grub_efi_locate_handle): New function.
40305 (grub_efi_open_protocol): Likewise.
40306 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40307 GRUB_EFI_CONSOLE_CONTROL_GUID.
40308 (grub_efi_exit): Removed.
40309 (grub_stop): Likewise.
40310 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40311 (grub_exit): New function.
40312 (grub_print_device_path): Likewise.
40313
40314 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40315 (grub_enter_rescue_mode): Register "exit".
40316
40317 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40318 (grub_abort): New function.
40319
40320 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40321
40322 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40323
40324 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40325
40326 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40327 (grub_print_device_path): New prototype.
40328 (grub_efi_locate_handle): Likewise.
40329 (grub_efi_open_protocol): Likewise.
40330
40331 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40332 * disk/efi/efidisk.c: Likewise.
40333
40334 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40335
40336 * include/grub/efi/console_control.h
40337 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40338
40339 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40340 last 8 bytes as an array.
40341 (GRUB_EFI_DISK_IO_GUID): New macro.
40342 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40343 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40344 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40345 grub_uint8_t.
40346 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40347 (struct grub_efi_device_path): Rename the member "sub_type" to
40348 "subtype".
40349 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40350 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40351 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40352 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40353 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40354 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40355 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40356 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40357 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40358 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40359 (struct grub_efi_pci_device_path): New structure.
40360 (grub_efi_pci_device_path_t): New type.
40361 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40362 (struct grub_efi_pccard_device_path): New structure.
40363 (grub_efi_pccard_device_path_t): New type.
40364 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40365 (struct grub_efi_memory_mapped_device_path): New structure.
40366 (grub_efi_memory_mapped_device_path_t): New type.
40367 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40368 (struct grub_efi_vendor_device_path): New structure.
40369 (grub_efi_vendor_device_path_t): New type.
40370 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40371 (struct grub_efi_controller_device_path): New structure.
40372 (grub_efi_controller_device_path_t): New type.
40373 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40374 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40375 (struct grub_efi_acpi_device_path): New structure.
40376 (grub_efi_acpi_device_path_t): New type.
40377 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40378 (struct grub_efi_expanded_acpi_device_path): New structure.
40379 (grub_efi_expanded_acpi_device_path_t): New type.
40380 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40381 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40382 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40383 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40384 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40385 (struct grub_efi_atapi_device_path): New structure.
40386 (grub_efi_atapi_device_path_t): New type.
40387 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40388 (struct grub_efi_fibre_channel_device_path): New structure.
40389 (grub_efi_fibre_channel_device_path_t): New type.
40390 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40391 (struct grub_efi_1394_device_path): New structure.
40392 (grub_efi_1394_device_path_t): New type.
40393 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40394 (struct grub_efi_usb_device_path): New structure.
40395 (grub_efi_usb_device_path_t): New type.
40396 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40397 (struct grub_efi_usb_class_device_path): New structure.
40398 (grub_efi_usb_class_device_path_t): New type.
40399 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40400 (struct grub_efi_i2o_device_path): New structure.
40401 (grub_efi_i2o_device_path_t): New type.
40402 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40403 (struct grub_efi_mac_address_device_path): New structure.
40404 (grub_efi_mac_address_device_path_t): New type.
40405 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40406 (struct grub_efi_ipv4_device_path): New structure.
40407 (grub_efi_ipv4_device_path_t): New type.
40408 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40409 (struct grub_efi_ipv6_device_path): New structure.
40410 (grub_efi_ipv6_device_path_t): New type.
40411 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40412 (struct grub_efi_infiniband_device_path): New structure.
40413 (grub_efi_infiniband_device_path_t): New type.
40414 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40415 (struct grub_efi_uart_device_path): New structure.
40416 (grub_efi_uart_device_path_t): New type.
40417 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40418 (struct grub_efi_vendor_messaging_device_path): New structure.
40419 (grub_efi_vendor_messaging_device_path_t): New type.
40420 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40421 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40422 (struct grub_efi_hard_drive_device_path): New structure.
40423 (grub_efi_hard_drive_device_path_t): New type.
40424 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40425 (struct grub_efi_cdrom_device_path): New structure.
40426 (grub_efi_cdrom_device_path_t): New type.
40427 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40428 (struct grub_efi_vendor_media_device_path): New structure.
40429 (grub_efi_vendor_media_device_path_t): New type.
40430 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40431 (struct grub_efi_file_path_device_path): New structure.
40432 (grub_efi_file_path_device_path_t): New type.
40433 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40434 (struct grub_efi_protocol_device_path): New structure.
40435 (grub_efi_protocol_device_path_t): New type.
40436 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40437 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40438 (struct grub_efi_bios_device_path): New structure.
40439 (grub_efi_bios_device_path_t): New type.
40440 (struct grub_efi_disk_io): New structure.
40441 (grub_efi_disk_io_t): New type.
40442 (struct grub_efi_block_io_media): New structure.
40443 (grub_efi_block_io_media_t): New type.
40444 (struct grub_efi_block_io): New structure.
40445 (grub_efi_block_io_t): New type.
40446
40447 * include/grub/misc.h (grub_stop): Removed.
40448 (grub_exit): New prototype.
40449 (grub_abort): Likewise.
40450
40451 * include/grub/disk.h (enum grub_disk_dev_id): Added
40452 GRUB_DISK_DEVICE_EFIDISK_ID.
40453
40454 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40455 disk/efi/efidisk.c.
40456 (kernel_syms.lst): Remove the target if an error occurs.
40457
49986a9f 404582006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40459
40460 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40461 as it was simply too buggy.
40462
970d3b8a 404632006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40464
40465 * kern/misc.c (grub_lltoa): New function.
40466 (grub_vsprintf): Added support for the long long suffix,
40467 i.e. "ll".
40468
ff04ec24 404692006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40470
40471 * Makefile.in (LDFLAGS): Add variable.
40472 (LD): Remove variable.
40473 * configure.ac: Add -m32 to LDFLAGS.
40474 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40475 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40476 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40477 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40478 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40479 variables.
40480 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40481 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40482 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40483
37e5e1a4 404842006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40485
40486 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40487 length for unknown glyph.
40488
c352d8dd 404892006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40490
2eab1c0d 40491 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40492
2eab1c0d 40493 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40494 completely. Accept one more argument DIR. The caller has changed.
40495
40496 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40497
40498 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40499 (grub_efi_loaded_image_guid): New variable.
40500 (grub_efi_get_loaded_image): New function.
40501 (grub_arch_modules_addr): Likewise.
40502
40503 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40504 prototype.
40505
40506 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40507 (struct grub_efi_loaded_image): New structure.
40508 (grub_efi_loaded_image_t): New type.
40509
405102006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40511
c352d8dd 40512 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40513 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40514 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40515
6d01d6b4 405162006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40517
40518 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40519
976a4ea0 405202006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40521
40522 * DISTLIST: Added include/grub/efi/console.h,
40523 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40524 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40525
40526 * include/grub/efi/console.h: New file.
40527 * include/grub/efi/time.h: Likewise.
40528 * include/grub/i386/efi/kernel.h: Likewise.
40529 * kern/efi/init.c: Likewise.
40530 * kern/efi/mm.c: Likewise.
40531 * term/efi/console.c: Likewise.
f19dbdb7 40532
976a4ea0 40533 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40534 (grub_stop): Removed.
40535 (grub_get_rtc): Likewise.
40536 (grub_machine_init): Simply call grub_efi_init.
40537 (grub_machine_fini): Call grub_efi_fini.
40538
40539 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40540 (grub_efi_output_string): Removed.
40541 (grub_efi_stall): New function.
40542 (grub_stop): Likewise.
40543 (grub_get_rtc): Likewise.
40544
40545 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40546 (grub_efi_stall): New prototype.
40547 (grub_efi_allocate_pages): Likewise.
40548 (grub_efi_free_pages): Likewise.
40549 (grub_efi_get_memory_map): Likewise.
40550 (grub_efi_mm_init): Likewise.
40551 (grub_efi_mm_fini): Likewise.
40552 (grub_efi_init): Likewise.
40553 (grub_efi_fini): Likewise.
40554
40555 * include/grub/i386/efi/time.h: Do not include
40556 grub/symbol.h. Include grub/efi/time.h.
40557 (GRUB_TICKS_PER_SECOND): Removed.
40558 (grub_get_rtc): Likewise.
40559
40560 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40561 Added padding. The EFI spec is buggy.
40562 (GRUB_EFI_BLACK): New macro.
40563 (GRUB_EFI_BLUE): Likewise.
40564 (GRUB_EFI_GREEN): Likewise.
40565 (GRUB_EFI_CYAN): Likewise.
40566 (GRUB_EFI_RED): Likewise.
40567 (GRUB_EFI_MAGENTA): Likewise.
40568 (GRUB_EFI_BROWN): Likewise.
40569 (GRUB_EFI_LIGHTGRAY): Likewise.
40570 (GRUB_EFI_BRIGHT): Likewise.
40571 (GRUB_EFI_DARKGRAY): Likewise.
40572 (GRUB_EFI_LIGHTBLUE): Likewise.
40573 (GRUB_EFI_LIGHTGREEN): Likewise.
40574 (GRUB_EFI_LIGHTCYAN): Likewise.
40575 (GRUB_EFI_LIGHTRED): Likewise.
40576 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40577 (GRUB_EFI_YELLOW): Likewise.
40578 (GRUB_EFI_WHITE): Likewise.
40579 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40580 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40581 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40582 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40583 (GRUB_EFI_BACKGROUND_RED): Likewise.
40584 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40585 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40586 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40587 (GRUB_EFI_TEXT_ATTR): Likewise.
40588
40589 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40590 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40591 (kernel_mod_HEADERS): Added efi/time.h.
40592
83709125 405932006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40594
40595 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40596 include/grub/efi/api.h, include/grub/efi/console_control.h,
40597 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40598 include/grub/i386/efi/time.h, kern/efi/efi.c,
40599 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40600 and util/i386/efi/grub-mkimage.c.
40601
40602 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40603
40604 * genmk.rb (PModule#rule): Do not export symbols if
40605 #{prefix}_EXPORTS is set to "no".
40606
40607 * conf/i386-efi.mk: New file.
40608 * conf/i386-efi.rmk: Likewise.
40609 * include/grub/efi/api.h: Likewise.
40610 * include/grub/efi/console_control.h: Likewise.
40611 * include/grub/efi/efi.h: Likewise.
40612 * include/grub/efi/pe32.h: Likewise.
40613 * include/grub/i386/efi/time.h: Likewise.
40614 * kern/efi/efi.c: Likewise.
40615 * kern/i386/efi/init.c: Likewise.
40616 * kern/i386/efi/startup.S: Likewise.
40617 * util/i386/efi/grub-mkimage.c: Likewise.
40618
406192006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40620
40621 * include/grub/script.h: Include <grub/parser.h> and
40622 "grub_script.tab.h".
40623 (struct grub_lexer_param): New struct.
40624 (struct grub_parser_param): Likewise.
40625 (grub_script_create_arglist): Pass the state in an argument.
40626 (grub_script_add_arglist): Likewise.
40627 (grub_script_create_cmdline): Likewise.
40628 (grub_script_create_cmdblock): Likewise.
40629 (grub_script_create_cmdif): Likewise.
40630 (grub_script_create_cmdmenu): Likewise.
40631 (grub_script_add_cmd): Likewise.
40632 (grub_script_arg_add): Likewise.
40633 (grub_script_lexer_ref): Likewise.
40634 (grub_script_lexer_deref): Likewise.
40635 (grub_script_lexer_record_start): Likewise.
40636 (grub_script_lexer_record_stop): Likewise.
40637 (grub_script_mem_record): Likewise.
40638 (grub_script_mem_record_stop): Likewise.
40639 (grub_script_malloc): Likewise.
40640 (grub_script_yylex): Likewise.
40641 (grub_script_yyparse): Likewise.
40642 (grub_script_yyerror): Likewise.
40643 (grub_script_yylex): Likewise.
40644 (grub_script_lexer_init): Return the state.
40645
40646 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40647 (grub_script_lexer_done): Likewise.
40648 (grub_script_lexer_getline): Likewise.
40649 (grub_script_lexer_refs): Likewise.
40650 (script): Likewise.
40651 (newscript): Likewise.
40652 (record): Likewise.
40653 (recording): Likewise.
40654 (recordpos): Likewise.
40655 (recordlen): Likewise.
40656 (grub_script_lexer_init): Return the state instead of setting
40657 global variables.
40658 (grub_script_lexer_ref): Use the newly added argument for state
40659 instead of globals.
40660 (grub_script_lexer_deref): Likewise.
40661 (grub_script_lexer_record_start): Likewise.
40662 (grub_script_lexer_record_stop): Likewise.
40663 (recordchar): Likewise.
40664 (nextchar): Likewise.
40665 (grub_script_yylex2): Likewise.
40666 (grub_script_yylex): Likewise.
40667 (grub_script_yyerror): Likewise.
40668
40669 * normal/parser.y (func_mem): Removed variable.
40670 (menu_entry): Likewise.
40671 (err): Likewise.
40672 (%lex-param): New parser option.
40673 (%parse-param): Likewise.
40674 (script): Always return the AST.
40675 (argument): Pass the state around.
40676 (arguments): Likewise.
40677 (grubcmd): Likewise.
40678 (commands): Likewise.
40679 (function): Likewise.
40680 (menuentry): Likewise.
40681 (if_statement): Likewise.
40682 (if): Likewise.
40683
40684 * normal/script.c (grub_script_memused): Removed variable.
40685 (grub_script_parsed): Likewise.
40686 (grub_script_malloc): Added a state argument. Use that instead of
40687 global variables.
40688 (grub_script_mem_record): Likewise.
40689 (grub_script_mem_record_stop): Likewise.
40690 (grub_script_arg_add): Likewise.
40691 (grub_script_add_arglist): Likewise.
40692 (grub_script_create_cmdline): Likewise.
40693 (grub_script_create_cmdif): Likewise.
40694 (grub_script_create_cmdmenu): Likewise.
40695 (grub_script_add_cmd): Likewise.
40696 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40697
e2a8c904 406982006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40699
40700 * normal/command.c (grub_command_init): Remove the title command.
40701
40702 * normal/lexer.c (grub_script_yylex): Renamed from this...
40703 (grub_script_yylex2): ... to this.
40704 (grub_script_yylex): New function. Temporary
40705 introduced to filter some tokens.
40706 (grub_script_yyerror): Print a newline.
40707
40708 * normal/main.c (read_config_file): Output information about the
40709 lines that contain errors. Wait for a key after all lines have
40710 been processed. Don't return an empty menu.
40711
40712 * normal/parser.y (func_mem): Don't initialize.
40713 (menu_entry): Likewise.
40714 (err): New variable.
40715 (script): Don't return anything when an error was encountered.
40716 (ws, returns): Removed rules.
40717 (argument): Disabled concatenated variable support.
40718 (arguments): Remove explicit separators.
40719 (grubcmd): Likewise.
40720 (function): Likewise.
40721 (menuentry): Likewise.
40722 (if): Likewise.
40723 (commands): Likewise. Add error handling.
40724
40725 * normal/script.c (grub_script_create_cmdline): If
40726 `grub_script_parsed' is 0, assume the parser encountered an error.
40727
c9a86192 407282006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40729
40730 * configure.ac: Add support for EFI. Fix the typo
40731 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40732
70f3b243 407332006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40734
40735 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40736 foreign multibyte characters should be shown correctly.
40737
65f201ad 407382006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40739
40740 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40741 calculation.
40742 (read_config_file): Made it to close file before returning.
40743
b4b93674 407442006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40745
40746 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40747 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40748 video/i386/pc/vbefill.c.
40749
40750 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40751 video/i386/pc/vbefill.c.
40752
40753 * include/grub/video.h (grub_video_blit_format): New enum.
40754 (grub_video_mode_info): Added new member blit_format.
40755 (grub_video_get_blit_format): New function prototype.
40756
40757 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40758 function prototype.
40759 (grub_video_vbe_map_rgb): Likewise.
40760 (grub_video_vbe_unmap_color): Likewise.
40761
40762 * include/grub/i386/pc/vbeblit.h: New file.
40763
40764 * include/grub/i386/pc/vbefill.h: New file.
40765
40766 * video/video.c (grub_video_get_blit_format): New function.
40767 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40768 (grub_video_vbe_map_rgb): Likewise.
40769 (grub_video_vbe_unmap_color): Likewise.
40770
40771 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40772 optimized fills.
40773 (grub_video_vbe_blit_render_target): Changed to use more optimized
40774 blits.
40775 (grub_video_vbe_setup): Added detection for optimized settings.
40776 (grub_video_vbe_create_render_target): Likewise.
40777
40778 * video/i386/pc/vbeblit.c: New file.
40779
40780 * video/i386/pc/vbefill.c: New file.
40781
c2379b9c 407822006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40783
40784 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40785 here...
40786
40787 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40788 parsing to support both hex and dec ranges. If filename was missing
40789 show usage information.
40790
bd0d7896 407912006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40792
40793 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40794 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40795
40796 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40797 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40798 (video_mod_SOURCES): Added.
40799 (video_mod_CFLAGS): Likewise.
40800 (video_mod_LDFLAGS): Likewise.
40801 (gfxterm_mod_SOURCES): Likewise.
40802 (gfxterm_mod_CFLAGS): Likewise.
40803 (gfxterm_mod_LDFLAGS): Likewise.
40804 (videotest_mod_SOURCES): Likewise.
40805 (videotest_mod_CFLAGS): Likewise.
40806 (videotest_mod_LDFLAGS): Likewise.
40807 (vesafb_mod_SOURCES): Removed.
40808 (vesafb_mod_CFLAGS): Likewise.
40809 (vesafb_mod_LDFLAGS): Likewise.
40810 (vga_mod_SOURCES): Likewise.
40811 (vga_mod_CFLAGS): Likewise.
40812 (vga_mod_LDFLAGS): Likewise.
40813
40814 * commands/videotest.c: New file.
40815
40816 * font/manager.c (fill_with_default_glyph): Modified to use
40817 grub_font_glyph.
40818 (grub_font_get_glyph): Likewise.
40819 (fontmanager): Renamed from this...
40820 (font_manager): ... to this.
40821
40822 * include/grub/font.h (grub_font_glyph): Added new structure.
40823 (grub_font_get_glyph): Modified to use grub_font_glyph.
40824
40825 * include/grub/misc.h (grub_abs): Added as inline function.
40826
40827 * include/grub/video.h: New file.
40828
40829 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40830 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40831 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40832 (grub_vbe_get_controller_info): Renamed from this...
40833 (grub_vbe_bios_get_controller_info): ... to this.
40834 (grub_vbe_get_mode_info): Renamed from this...
40835 (grub_vbe_bios_get_mode_info): ... to this.
40836 (grub_vbe_set_mode): Renamed from this...
40837 (grub_vbe_bios_set_mode): ... to this.
40838 (grub_vbe_get_mode): Renamed from this...
40839 (grub_vbe_bios_get_mode): ... to this.
40840 (grub_vbe_set_memory_window): Renamed from this...
40841 (grub_vbe_bios_set_memory_window): ... to this.
40842 (grub_vbe_get_memory_window): Renamed from this...
40843 (grub_vbe_bios_get_memory_window): ... to this.
40844 (grub_vbe_set_scanline_length): Renamed from this...
40845 (grub_vbe_set_scanline_length): ... to this.
40846 (grub_vbe_get_scanline_length): Renamed from this...
40847 (grub_vbe_bios_get_scanline_length): ... to this.
40848 (grub_vbe_set_display_start): Renamed from this...
40849 (grub_vbe_bios_set_display_start): ... to this.
40850 (grub_vbe_get_display_start): Renamed from this...
40851 (grub_vbe_bios_get_display_start): ... to this.
40852 (grub_vbe_set_palette_data): Renamed from this...
40853 (grub_vbe_bios_set_palette_data): ... to this.
40854 (grub_vbe_set_pixel_rgb): Removed.
40855 (grub_vbe_set_pixel_index): Likewise.
40856
40857 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40858 from this...
40859 (grub_vbe_bios_get_controller_info): ... to this.
40860 (grub_vbe_get_mode_info): Renamed from this...
40861 (grub_vbe_bios_get_mode_info): ... to this.
40862 (grub_vbe_set_mode): Renamed from this...
40863 (grub_vbe_bios_set_mode): ... to this.
40864 (grub_vbe_get_mode): Renamed from this...
40865 (grub_vbe_bios_get_mode): ... to this.
40866 (grub_vbe_set_memory_window): Renamed from this...
40867 (grub_vbe_bios_set_memory_window): ... to this.
40868 (grub_vbe_get_memory_window): Renamed from this...
40869 (grub_vbe_bios_get_memory_window): ... to this.
40870 (grub_vbe_set_scanline_length): Renamed from this...
40871 (grub_vbe_set_scanline_length): ... to this.
40872 (grub_vbe_get_scanline_length): Renamed from this...
40873 (grub_vbe_bios_get_scanline_length): ... to this.
40874 (grub_vbe_set_display_start): Renamed from this...
40875 (grub_vbe_bios_set_display_start): ... to this.
40876 (grub_vbe_get_display_start): Renamed from this...
40877 (grub_vbe_bios_get_display_start): ... to this.
40878 (grub_vbe_set_palette_data): Renamed from this...
40879 (grub_vbe_bios_set_palette_data): ... to this.
40880 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40881 getting corrupted after calling it. Added more pushes and pops.
40882 (grub_vbe_bios_set_mode): Likewise.
40883 (grub_vbe_bios_get_mode): Likewise.
40884 (grub_vbe_bios_get_memory_window): Likewise.
40885 (grub_vbe_bios_set_scanline_length): Likewise.
40886 (grub_vbe_bios_get_scanline_length): Likewise.
40887 (grub_vbe_bios_get_display_start): Likewise.
40888 (grub_vbe_bios_set_palette_data): Likewise.
40889
40890 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40891 (cl_insert): Likewise.
40892 (cl_delete): Likewise.
40893
40894 * term/gfxterm.c: New file.
40895
40896 * term/i386/pc/vesafb.c: Removed file.
40897
40898 * video/video.c: New file.
40899
40900 * video/i386/pc/vbe.c (real2pm): Added new function.
40901 (grub_video_vbe_draw_pixel): Likewise.
40902 (grub_video_vbe_get_video_ptr): Likewise.
40903 (grub_video_vbe_get_pixel): Likewise
40904 (grub_video_vbe_init): Likewise.
40905 (grub_video_vbe_fini): Likewise.
40906 (grub_video_vbe_setup): Likewise.
40907 (grub_video_vbe_get_info): Likewise.
40908 (grub_video_vbe_set_palette): Likewise.
40909 (grub_video_vbe_get_palette): Likewise.
40910 (grub_video_vbe_set_viewport): Likewise.
40911 (grub_video_vbe_get_viewport): Likewise.
40912 (grub_video_vbe_map_color): Likewise.
40913 (grub_video_vbe_map_rgb): Likewise.
40914 (grub_video_vbe_map_rgba): Likewise.
40915 (grub_video_vbe_unmap_color): Likewise.
40916 (grub_video_vbe_fill_rect): Likewise.
40917 (grub_video_vbe_blit_glyph): Likewise.
40918 (grub_video_vbe_blit_bitmap): Likewise.
40919 (grub_video_vbe_blit_render_target): Likewise.
40920 (grub_video_vbe_scroll): Likewise.
40921 (grub_video_vbe_swap_buffers): Likewise.
40922 (grub_video_vbe_create_render_target): Likewise.
40923 (grub_video_vbe_delete_render_target): Likewise.
40924 (grub_video_vbe_set_active_render_target): Likewise.
40925 (grub_vbe_set_pixel_rgb): Remove function.
40926 (grub_vbe_set_pixel_index): Likewise.
40927 (index_color_mode): Remove static variable.
40928 (active_mode): Likewise.
40929 (framebuffer): Likewise.
40930 (bytes_per_scan_line): Likewise.
40931 (grub_video_vbe_adapter): Added new static variable.
40932 (framebuffer): Likewise.
40933 (render_target): Likewise.
40934 (initial_mode): Likewise.
40935 (mode_in_use): Likewise.
40936 (mode_list): Likewise.
40937
5f97350b 409382006-03-10 Marco Gerards <marco@gnu.org>
40939
40940 * configure.ac (AC_INIT): Bumped to 1.93.
40941
40942 * DISTLIST: Added `include/grub/hfs.h'.
40943
a3c5c6f8 409442006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40945
40946 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40947 18H, which might help the BIOS falling back to next boot media.
40948
6de53d26 409492006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40950
40951 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40952 Poe Chen <poe.poechen@gmail.com>.
40953
77c4a393 409542006-01-17 Marco Gerards <marco@gnu.org>
40955
40956 * include/grub/normal.h: Include <grub/script.h>.
40957 (grub_command_list): Removed struct.
40958 (grub_command_list_t): Removed type.
40959 (grub_menu_entry): Remove members `num' and `command_list'. Add
40960 members `commands' and `sourcecode'.
40961 * include/grub/script.h: Add inclusion guards.
40962 (grub_script_cmd_menuentry): New struct.
40963 (grub_script_execute_menuentry): New prototype.
40964 (grub_script_lexer_record_start): Likewise.
40965 (grub_script_lexer_record_stop): Likewise.
40966 * normal/execute.c (grub_script_execute_menuentry): New function.
40967 * normal/lexer.c (record, recording, recordpos, recordlen): New
40968 variables.
40969 (grub_script_lexer_record_start): New function.
40970 (grub_script_lexer_record_stop): Likewise.
40971 (recordchar): Likewise.
40972 (nextchar): Likewise.
40973 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40974 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40975 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40976 (current_menu): New variable.
40977 (free_menu): Mainly rewritten.
40978 (grub_normal_menu_addentry): New function.
40979 (read_config_file): Rewritten.
40980 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40981 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40982 the menu entry.
40983 (run): Mainly rewritten.
40984 * normal/parser.y (menu_entry): New variable.
40985 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40986 (menuentry): New rule.
40987 (command): Add `menuentry'.
40988 (if_statement): Allow additional returns before `fi'.
40989 * normal/script.c (grub_script_create_cmdmenu): New function.
40990
144f1f98 409912006-01-03 Marco Gerards <marco@gnu.org>
40992
40993 * INSTALL: GNU Bison is required.
40994 * configure.ac: Rewritten the test to detect Bison.
40995 * Makefile.in (YACC): New variable. Reported by Xun Sun
40996 <xun.sun.cn@gmail.com>.
40997
af4b2d89 409982006-01-03 Marco Gerards <marco@gnu.org>
40999
41000 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41001 the HFS+ filesystem to filesystem blocks.
41002 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41003 GCC warning is silenced.
41004
15643b71 410052006-01-03 Marco Gerards <marco@gnu.org>
41006
41007 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41008 read from disk from big endian to host byte order.
41009
00905879 410102006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41011
41012 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41013 documentation.
41014 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41015 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41016 embedded HFS+ filesystem.
41017 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41018 (grub_hfs_sblock): Move from here...
41019 * include/grub/hfs.h: To here... New file.
41020 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41021 documentation.
41022 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41023 New macros.
41024 (grub_hfsplus_volheader): Change type of member `magic' to
41025 `grub_uint16_t'.
41026 (grub_hfsplus_data): Add new member `embedded_offset'.
41027 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41028 returned block.
41029 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41030 Calculate the offset.
41031
8899bc3e 410322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41033
41034 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41035 Removed.
41036 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41037
ae8c0277 410382005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41039
41040 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41041 ENV->NAME is NULL after allocating ENV->VALUE.
41042
07084456 410432005-12-25 Marco Gerards <marco@gnu.org>
41044
41045 * kern/env.c (grub_env_set): Rewritten the error handling code.
41046
4750f5f1 410472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41048
41049 * geninit.sh: Made more robust, and more portable.
41050
50214199 410512005-12-25 Marco Gerards <marco@gnu.org>
41052
41053 Add support for Apple HFS+ filesystems.
f19dbdb7 41054
50214199 41055 * fs/hfsplus.c: New file.
41056
41057 * DISTLIST: Added `fs/hfsplus.c'.
41058
41059 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41060 (hfsplus_mod_SOURCES): New variable.
41061 (hfsplus_mod_CFLAGS): Likewise.
41062 (hfsplus_mod_LDFLAGS): Likewise.
41063 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41064 (grub_setup_SOURCES): Likewise.
41065 (grub_mkdevicemap_SOURCES): Likewise.
41066 (grub_emu_SOURCES): Likewise.
41067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41068
41069 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41070
41071 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41072
befaed6c 410732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41074
41075 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41076 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41077 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41078 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41079 normal/lexer.c, normal/parser.y, normal/script.c, and
41080 partmap/gpt.c.
41081 Removed kern/sparc64/cache.c.
41082
41083 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41084 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41085 grub_emu_init.c.
41086
41087 * configure.ac (AC_INIT): Bumped to 1.92.
41088
6a124103 410892005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41090
41091 * kern/err.c (grub_error_push): Added new function to support error
41092 stacks.
41093 (grub_error_pop): Likewise.
41094 (grub_error_stack_items): New local variable to support error stacks.
41095 (grub_error_stack_pos): Likewise.
41096 (grub_error_stack_assert): Likewise.
41097 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41098 stack depth.
41099 (grub_print_error): Added support to print errors from error stack.
41100
41101 * include/grub/err.h (grub_error_push): Added function prototype.
41102 (grub_error_pop): Likewise.
41103
be973c1b 411042005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41105
41106 * configure.ac: Accept `powerpc64' as host_cpu.
41107 (amd64): Rename to `biarch32'.
41108
41109 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41110 non-cacheline-aligned addresses.
41111
41112 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41113 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41114 if `size' is non-zero.
41115
b04216ab 411162005-12-03 Marco Gerards <mgerards@xs4all.nl>
41117
41118 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41119 and `cd' to make sure the filename is not prefixed with a
41120 directory name.
41121 (pkgdata_MODULES): Add `gpt.mod'.
41122 (gpt_mod_SOURCES): New variable.
41123 (gpt_mod_CFLAGS): Likewise.
41124 (gpt_mod_LDFLAGS): Likewise.
41125
41126 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41127
41128 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41129 New macro.
41130
41131 * partmap/gpt.c: New file.
41132
41133 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41134 GPT partition map is detected.
41135
41730ed9 411362005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41137
41138 * commands/i386/pc/play.c: New file.
41139 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41140 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41141 macros.
f19dbdb7 41142
95dc3643 411432005-11-27 Marco Gerards <mgerards@xs4all.nl>
41144
41145 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41146 ((unused))' to silence gcc warning.
41147
1569ec51 411482005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41149
41150 * configure.ac: Correct `AC_PROG_YACC' test.
41151
9abde152 411522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41153
41154 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41155 check before installing files.
41156
44b83271 411572005-11-22 Mike Small <smallm@panix.com>
41158
41159 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41160 number regex so multidigit numbers are recognized correctly.
41161
411622005-11-22 Mike Small <smallm@panix.com>
41163
41164 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41165 debugging message before attempting to claim memory.
41166 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41167 multiple addresses in case of failure.
41168
9c12956b 411692005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41170
41171 * term/tparm.c (get_space): Remove empty `if' statement.
41172
41173 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41174
41175 * kern/parser.c (check_varstate): Rename `state' to 's'.
41176
aeaf81d9 411772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41178
41179 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41180 variable definitions to the beginning of each function. Sort stack
41181 variables by size.
41182 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41183 `buf' argument to `char *'.
41184
79bbb63f 411852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41186
41187 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41188 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41189 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41190 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41191 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41192 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41193 configfile.mod, search.mod, gzio.mod and test.mod.
41194 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41195 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41196 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41197 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41198 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41199 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41200 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41201 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41202 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41203 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41204 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41205 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41206 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41207 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41208 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41209 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41210 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41211 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41212 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41213 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41214 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41215 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41216 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41217
41218 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41219 `grep --include'.
41220 (pkgdata_MODULES): Add test.mod.
41221
233b1628 412222005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41223
41224 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41225 appending to variables with "+=".
41226 (PModule): Use full pathname to generate *.lst filenames.
41227
41228 * Makefile.in: Fixed list rules moved from genmk.rb.
41229 (.DELETE_ON_ERROR): New special target.
41230 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41231
41232 * conf/i386-pc.rmk: Include conf/common.mk.
41233 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41234 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41235 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41236 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41237 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41238 configfile.mod, search.mod, gzio.mod and test.mod.
41239 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41240 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41241 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41242 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41243 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41244 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41245 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41246 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41247 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41248 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41249 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41250 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41251 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41252 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41253 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41254 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41255 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41256 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41257 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41258 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41259 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41260 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41261 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41262 here...
41263 * conf/common.rmk: ... to here. New file.
41264
41265 * conf/common.mk: New file.
41266
16f820c8 412672005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41268
41269 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41270 (grub_script.tab.c): ... here.
41271
41272 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41273 (grub_script.tab.c): ... here.
41274
41275 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41276 (grub_script.tab.c): ... here.
41277
41278 * normal/command.c (grub_command_find): Fixed a memory leak of
41279 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41280
63ba1554 412812005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41282
41283 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41284 "@" which marks the start of a comment on ARM.
41285 (VARIABLE): Likewise.
41286
7f67dc13 412872005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41288
79bbb63f 41289 Add support for Linux/ADFS partition tables.
7f67dc13 41290
41291 * partmap/acorn.c: New file.
41292
41293 * include/grub/acorn_filecore.h: Likewise.
41294
41295 * DISTLIST: Added `partmap/acorn.c' and
41296 `include/grub/acorn_filecore.h'.
f19dbdb7 41297
7f67dc13 41298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41299 `partmap/acorn.c'.
41300 (pkgdata_MODULES): Add `acorn.mod'.
41301 (acorn_mod_SOURCES): New variable.
41302 (acorn_mod_CFLAGS): Likewise.
41303
41304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41305 `partmap/acorn.c'.
41306 (pkgdata_MODULES): Add `acorn.mod'.
41307 (acorn_mod_SOURCES): New variable.
41308 (acorn_mod_CFLAGS): Likewise.
41309
41310 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41311 (pkgdata_MODULES): Add `acorn.mod'.
41312 (acorn_mod_SOURCES): New variable.
41313 (acorn_mod_CFLAGS): Likewise.
41314 (acorn_mod_LDFLAGS): Likewise.
41315
41316 * include/types.h (grub_disk_addr_t): New typedef.
41317
6d099807 413182005-11-13 Marco Gerards <mgerards@xs4all.nl>
41319
41320 * geninit.sh: New file.
41321
41322 * geninitheader.sh: Likewise.
41323
41324 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41325 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41326 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41327 * commands/configfile.c (grub_configfile_init)
41328 (grub_configfile_fini): Likewise.
41329 * commands/default.c (grub_default_init, grub_default_fini):
41330 Likewise.
41331 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41332 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41333 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41334 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41335 Likewise.
41336 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41337 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41338 Likewise.
41339 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41340 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41341 Likewise.
41342 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41343 Likewise.
fe6b695a 41344 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41345 Likewise.
41346 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41347 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41348 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41349 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41350 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41351 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41352 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41353 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41354 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41355 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41356 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41357 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41358 * partmap/amiga.c (grub_amiga_partition_map_init)
41359 (grub_amiga_partition_map_fini): Likewise.
41360 * partmap/apple.c (grub_apple_partition_map_init)
41361 (grub_apple_partition_map_fini): Likewise.
41362 * partmap/pc.c (grub_pc_partition_map_init)
41363 (grub_pc_partition_map_fini): Likewise.
41364 * partmap/sun.c (grub_sun_partition_map_init,
41365 grub_sun_partition_map_fini): Likewise.
41366 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41367 Likewise.
41368
41369 * util/grub-emu.c: Include <grub_modules_init.h>.
41370 (main): Don't initialize and de-initialize any modules directly,
41371 use `grub_init_all' and `grub_fini_all' instead.
41372
41373 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41374 `grub_vesafb_mod_init'.
41375 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41376 all users.
41377 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41378 `grub_vga_mod_init'. Updated all users.
41379 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41380
6d099807 41381 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41382 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41383 rules.
41384
41385 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41386 Generate a function to initialize the module in utilities.
41387 Updated all callers.
41388 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41389 initialize the module in utilities. Updated all callers.
41390
9046bcf0 413912005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41392
41393 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41394 escape sequence and a literal ^L to clear the screen.
41395
41396 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41397 when returning from Open Firmware.
41398
d13ea639 413992005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41400
41401 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41402 (grub_ofconsole_height): Likewise.
41403 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41404 manually insert a '\n'.
41405 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41406 `grub_ofconsole_height'. Return early if these are already set.
41407
a8fcf206 414082005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41409
41410 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41411 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41412 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41413 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41414 and `normal/script.c'.
41415 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41416 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41417 (test_mod_SOURCES): New variable.
41418 (test_mod_CFLAGS): Likewise.
41419 (test_mod_LDFLAGS): Likewise.
41420 (pkgdata_MODULES): Add `test.mod'.
41421 (grub_script.tab.c): New rule.
41422 (grub_script.tab.h): Likewise.
41423
b6b32745 414242005-11-07 Marco Gerards <mgerards@xs4all.nl>
41425
41426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41427 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41428 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41429 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41430 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41431 (test_mod_SOURCES): New variable.
41432 (test_mod_CFLAGS): Likewise.
41433 (pkgdata_MODULES): Add `test.mod'.
41434 (grub_script.tab.c): New rule.
41435 (grub_script.tab.h): Likewise.
41436
daac212a 414372005-11-06 Marco Gerards <mgerards@xs4all.nl>
41438
41439 Add initial scripting support.
41440
41441 * commands/test.c: New file.
41442 * include/grub/script.h: Likewise.
41443 * normal/execute.c: Likewise.
41444 * normal/function.c: Likewise.
41445 * normal/lexer.c: Likewise.
41446 * normal/parser.y: Likewise.
41447 * normal/script.c: Likewise.
41448
41449 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41450
daac212a 41451 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41452 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41453 `normal/function.c' and `normal/script.c'.
41454 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41455 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41456 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41457 variables.
daac212a 41458 (pkgdata_MODULES): Add `test.mod'.
41459 (grub_script.tab.c): New rule.
41460 (grub_script.tab.h): Likewise.
41461
41462 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41463
41464 * include/grub/normal.h (grub_test_init): New prototype.
41465 (grub_test_fini): Likewise.
f19dbdb7 41466
daac212a 41467 * normal/command.c: Include <grub/script.h>.
41468 (grub_command_execute): Rewritten.
f19dbdb7 41469
daac212a 41470 * util/grub-emu.c (main): Call `grub_test_init' and
41471 `grub_test_fini'.
41472
77500b2b 414732005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41474
41475 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41476 to 0.
41477 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41478 there are no pending characters.
41479
e45deb9e 414802005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41481
41482 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41483 `grub_strndup' to drop device arguments. Replace unnecessary
41484 `grub_strndup' with `grub_strdup'.
41485
4ce32619 414862005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41487
41488 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41489 `debug' environment variable has been set.
41490
414912005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41492
4ce32619 41493 * Makefile.in (install-local): Use $(DATA).
41494 (uninstall): Likewise.
41495 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41496 (sbin_UTILITIES): ... to here.
41497 (sbin_SCRIPTS): New variable.
41498 (grub_install_SOURCES): New variable.
41499 * util/powerpc/ieee1275/grub-install.in: New file.
41500 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41501 variable.
41502 (add_segments): Call `grub_util_get_path'.
41503
25fe6f03 415042005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41505
41506 From Timothy Baldwin:
41507 * commands/ls.c (grub_ls_list_files): Close FILE with
41508 grub_file_close.
41509 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41510
04ccf3ec 415112005-10-24 Marco Gerards <mgerards@xs4all.nl>
41512
41513 * include/grub/parser.h: New file.
41514
41515 * kern/parser.c: Likewise.
41516
41517 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41518 (grub_setup_SOURCES): Likewise.
41519 (grub_probefs_SOURCES): Likewise.
41520 (grub_emu_SOURCES): Likewise.
41521 (kernel_img_HEADERS): Add `parser.h'.
41522
41523 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41524 (grub_emu_SOURCES): Add `kern/parser.c'.
41525 (grubof_SOURCES): Likewise.
41526
41527 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41528 (grubof_SOURCES): Add `kern/parser.c'.
41529
41530 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41531
41532 * kern/misc.c (grub_split_cmdline): Removed function.
41533
41534 * kern/rescue.c: Include <grub/parser.h>.
41535 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41536 of `grub_split_cmdline'.
41537
41538 * normal/command.c: Include <grub/parser.h>.
41539 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41540 of `grub_split_cmdline'.
41541
41542 * normal/completion.c: Include <grub/parser.h>.
41543 (cmdline_state): New variable.
41544 (iterate_dir): End the filename with a quote depending on the
41545 command line state.
41546 (get_state): new function.
41547 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41548 split the arguments and determine the current argument. When the
41549 argument string is not quoted, escape all spaces.
41550
6d8f4b0e 415512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41552
41553 * normal/sparc64/setjmp.S: New file.
41554
15cf03ed 415552005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41556
41557 * include/grub/sparc64/libgcc.h: New file.
41558 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41559 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41560 normal/sparc64/setjmp.c.
41561
03e8661a 415622005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41563
41564 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41565 * kern/sparc64/cache.S: New file.
41566 * kern/sparc64/cache.c: Removed.
41567 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41568 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41569 -mtune=ultrasparc.
41570 (COMMON_LDFLAGS): Add -melf64_sparc.
41571 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41572 (grubof_SOURCES): Use cache.S instead of cache.c.
41573 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41574 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41575 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41576 commented though.
41577 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41578 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41579 (linux_mod_CFLAGS): Commented out.
41580 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41581 out because module isn't built.
41582 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41583 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41584 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41585 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41586 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41587 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41588 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41589 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41590 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41591 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41592 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41593 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41594 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41595 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41596
34eeec8a 415972005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41598
41599 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41600 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41601 longer, because HFS should not be used on PC.
41602
708367a3 416032005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41604
41605 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41606 consistently within the loop.
41607
6fa1251a 416082005-10-15 Marco Gerards <mgerards@xs4all.nl>
41609
41610 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41611 directory can not be read.
41612
4801580b 416132005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41614
41615 * configure.ac (AC_INIT): Increase the version number to 1.91.
41616
41617 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41618 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41619 term/i386/pc/serial.c.
41620
219ad426 416212005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41622
41623 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41624 file size must be permitted.
41625
41626 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41627 between %ah and %al.
41628
688e5699 416292005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41630
41631 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41632 grub_uint64_t.
41633 Call the hook with a NUL-terminated filename.
41634 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41635 grub_cpu_to_be32.
41636
41637 * kern/term.c (cursor_state): New variable.
41638 (grub_term_set_current): Reset the cursor state on a new
41639 terminal.
41640 (grub_setcursor): Rewritten to use CURSOR_STATE.
41641 (grub_getcursor): New function.
41642
41643 * include/grub/term.h (grub_getcursor): New prototype.
41644
41645 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41646 integers on ARM. Reported by Timothy Baldwin
41647 <T.E.Baldwin99@members.leeds.ac.uk>.
41648
bb34586c 416492005-10-11 Marco Gerards <mgerards@xs4all.nl>
41650
41651 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41652 allocated.
41653 (grub_sfs_dir): Likewise.
41654
9a909877 416552005-10-09 Marco Gerards <mgerards@xs4all.nl>
41656
41657 Add support for the SFS filesystem.
41658
41659 * fs/sfs.c: New file.
41660
41661 * DISTLIST: Added `fs/sfs.c'.
41662
41663 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41664 (grub_probefs_SOURCES): Likewise.
41665 (grub_emu_SOURCES): Likewise.
41666 (pkgdata_MODULES): Add `sfs.mod'.
41667 (sfs_mod_SOURCES): New variable.
41668 (sfs_mod_CFLAGS): Likewise.
41669 (sfs_mod_LDFLAGS): Likewise.
41670
41671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41672 (pkgdata_MODULES): Add `sfs.mod'.
41673 (sfs_mod_SOURCES): New variable.
41674 (sfs_mod_CFLAGS): Likewise.
41675
41676 * util/grub-emu.c (main): Call `grub_sfs_init' and
41677 `grub_sfs_fini'.
41678
41679 * include/grub/fs.h (grub_sfs_init): New prototype.
41680 (grub_sfs_fini): Likewise.
41681
57bdbde3 416822005-10-07 Marco Gerards <mgerards@xs4all.nl>
41683
41684 Add support for the AFFS filesystem.
41685
41686 * fs/affs.c: New file.
41687
41688 * DISTLIST: Added `fs/affs.c'.
41689
41690 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41691 (grub_probefs_SOURCES): Likewise.
41692 (grub_emu_SOURCES): Likewise.
41693 (pkgdata_MODULES): Add `affs.mod'.
41694 (affs_mod_SOURCES): New variable.
41695 (affs_mod_CFLAGS): Likewise.
41696 (affs_mod_LDFLAGS): Likewise.
41697
41698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41699 (pkgdata_MODULES): Add `affs.mod'.
41700 (affs_mod_SOURCES): New variable.
41701 (affs_mod_CFLAGS): Likewise.
41702
41703 * util/grub-emu.c (main): Call `grub_affs_init' and
41704 `grub_affs_fini'.
41705
41706 * include/grub/fs.h (grub_affs_init): New prototype.
41707 (grub_affs_fini): Likewise.
41708
047b67e0 417092005-10-01 Marco Gerards <mgerards@xs4all.nl>
41710
41711 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41712
59b8208a 417132005-10-01 Marco Gerards <mgerards@xs4all.nl>
41714
41715 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41716 `-m32' to CFLAGS.
41717
41718 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41719 linking.
f19dbdb7 41720
59b8208a 41721 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41722 (COMMON_LDFLAGS): New variable.
41723 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41724 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41725 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41726 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41727 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41728 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41729 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41730 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41731 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41732 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41733 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41734 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41735 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41736 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41737 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41738 variables.
41739 (normal_mod_ASFLAGS): Add `-m32'.
41740
41741 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41742 (grub_host_size_t, grub_host_ssize_t): New types.
41743 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41744 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41745 `GRUB_HOST_SIZEOF_VOID_P'.
41746
41747 * include/grub/kernel.h (struct grub_module_header): Type of
41748 member offset changed to `grub_host_off_t'. Type of member size
41749 changed to `grub_host_size_t'.
41750 (struct grub_module_info): Type of member offset changed to
41751 `grub_host_off_t'. Type of member size changed to
41752 `grub_host_size_t'.
41753
b4093103 417542005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41755
41756 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41757
b4093103 41758 * kern/i386/pc/startup.S (multiboot_header): New label.
41759 (multiboot_entry): Likewise.
41760 (multiboot_trampoline): Likewise.
41761
41762 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41763 Increased to 0x4A0.
41764
41765 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41766 put parentheses after a question mark.
41767 [!GRUB_UTIL] (my_mod): New variable.
41768
41769 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41770
b2499b29 417712005-09-28 Marco Gerards <mgerards@xs4all.nl>
41772
41773 Adds support for the XFS filesystem. Btrees are not supported
41774 yet.
41775
41776 * fs/xfs.c: New file.
41777
41778 * DISTLIST: Added `fs/xfs.c'.
41779
41780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41781 (grub_probefs_SOURCES): Likewise.
41782 (grub_emu_SOURCES): Likewise.
41783 (pkgdata_MODULES): Add `xfs.mod'.
41784 (xfs_mod_SOURCES): New variable.
41785 (xfs_mod_CFLAGS): Likewise.
41786
41787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41788 (pkgdata_MODULES): Add `xfs.mod'.
41789 (xfs_mod_SOURCES): New variable.
41790 (xfs_mod_CFLAGS): Likewise.
41791
41792 * util/grub-emu.c (main): Call `grub_xfs_init' and
41793 `grub_xfs_fini'.
41794
41795 * include/grub/fs.h (grub_xfs_init): New prototype.
41796 (grub_xfs_fini): Likewise.
41797
f19dbdb7 41798
83d37a62 417992005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41800
41801 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41802 color modes, allow greater than 16 colors to be configured as
41803 a default palette.
41804
47d2d65e 418052005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41806
41807 * normal/completion.c (complete_arguments): Add the qualifier
41808 const into OPTIONS.
41809
41810 From Omniflux <omniflux+lists@omniflux.com>:
41811 * include/grub/terminfo.h: New file.
41812 * include/grub/tparm.h: Likewise.
41813 * include/grub/i386/pc/serial.h: Likewise.
41814 * term/terminfo.c: Likewise.
41815 * term/tparm.c: Likewise.
41816 * term/i386/pc/serial.c: Likewise.
41817 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41818 serial.mod.
41819 (terminfo_mod_SOURCES): New variable.
41820 (terminfo_mod_CFLAGS): Likewise.
41821 (serial_mod_SOURCES): Likewise.
41822 (serial_mod_CFLAGS): Likewise.
41823
48b671ff 418242005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41825
41826 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41827 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41828 and kern/powerpc/ieee1275/cmain.c, respectively.
41829
41830 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41831 * kern/powerpc/ieee1275/crt0.S: ... here.
41832
41833 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41834 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41835
48b671ff 41836 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41837 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41838 instead of boot/powerpc/ieee1275/crt0.S and
41839 boot/powerpc/ieee1275/cmain.c, respectively.
41840
41841 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41842 sectors. It was not used anyway.
41843
09fc77a7 418442005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41845
41846 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41847 `unused parameter' warning.
41848
003789c7 418492005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41850
41851 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41852 function.
41853 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41854 getcharwidth.
41855
67f44c86 418562005-08-28 Marco Gerards <metgerards@student.han.nl>
41857
41858 * include/grub/normal.h (enum grub_completion_type): Added
41859 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41860
41861 * normal/cmdline.c (print_completion): Handle
41862 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41863 * normal/menu_entry.c (store_completion): Likewise.
41864
41865 * normal/completion.c (complete_arguments): New function.
41866 (grub_normal_do_completion): Call `complete_arguments' when the
41867 current words start with a dash.
41868
0b5abe02 418692005-08-27 Marco Gerards <metgerards@student.han.nl>
41870
41871 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41872 `gzio.mod' instead of `io.mod').
41873
d9864ee1 418742005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41875
41876 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41877 (DISTDIRS): Added io and video.
41878 Rewrite the search routine to make an output consistently.
41879
41880 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41881 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41882 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41883 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41884 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41885 util/powerpc/ieee1275/misc.c.
f19dbdb7 41886
d9864ee1 41887 * include/grub/gzio.h: New file.
41888 * io/gzio.c: Likewise.
f19dbdb7 41889
d9864ee1 41890 * kern/file.c (grub_file_close): Call grub_device_close only if
41891 FILE->DEVICE is not NULL.
41892
41893 * include/grub/mm.h [!NULL] (NULL): New macro.
41894
41895 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41896
41897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41898 (pkgdata_MODULES): Added gzio.mod.
41899 (gzio_mod_SOURCES): New variable.
41900 (gzio_mod_CFLAGS): Likewise.
41901
41902 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41903 (pkgdata_MODULES): Added gzio.mod.
41904 (gzio_mod_SOURCES): New variable.
41905 (gzio_mod_CFLAGS): Likewise.
41906
41907 * commands/cat.c: Include grub/gzio.h.
41908 (grub_cmd_cat): Use grub_gzfile_open instead of
41909 grub_file_open.
f19dbdb7 41910
d9864ee1 41911 * commands/cmp.c: Include grub/gzio.h.
41912 (grub_cmd_cmp): Use grub_gzfile_open instead of
41913 grub_file_open.
41914
41915 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41916 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41917 grub_file_open.
41918 (grub_rescue_cmd_module): Likewise.
41919
fa46f4b5 419202005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41921
41922 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41923 kern/sparc64/ieee1275/init.c because it contains _start.
41924 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41925
e9211b5d 419262005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41927
41928 * configure.ac: Add support for sparc64 host with ieee1275
41929 firmware.
41930 * configure: Generated from configure.ac.
41931 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41932 instead of int.
41933 (grub_ofdisk_read): Likewise.
41934 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41935 pointers as (void *) to remove a warning.
41936 (grub_ofdisk_close): Likewise.
41937 (grub_ofdisk_read): Likewise.
41938 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41939 returns, so make it return void to remove a warning.
41940 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41941 Corresponding prototype change.
41942 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41943 values, and cast the pointers as (void *) to remove a warning.
41944 (grub_mm_dump): Likewise.
41945 * conf/sparc64-ieee1275.mk: New file.
41946 * conf/sparc64-ieee1275.rmk: Likewise.
41947 * include/grub/sparc64/setjmp.h: Likewise.
41948 * include/grub/sparc64/types.h: Likewise.
41949 * include/grub/sparc64/ieee1275/console.h: Likewise.
41950 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41951 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41952 * include/grub/sparc64/ieee1275/time.h: Likewise.
41953 * kern/sparc64/cache.c: Likewise.
41954 * kern/sparc64/dl.c: Likewise.
41955 * kern/sparc64/ieee1275/init.c: Likewise.
41956 * kern/sparc64/ieee1275/openfw.c: Likewise.
41957
385c6a92 419582005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41959
41960 * util/console.c (grub_ncurses_putchar): If C is greater than
41961 0x7f, set C to a question mark.
41962 (grub_ncurses_getcharwidth): New function.
41963 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41964 getcharwidth.
41965
41966 * normal/menu.c (print_entry): Made aware of Unicode. First,
41967 convert TITLE to UCS-4, and predict the cursor position by
41968 grub_getcharwidth.
41969
41970 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41971 const to SRC.
41972 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41973
16ccb8b1 419742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41975
41976 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41977 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41978 grub_strcat.
41979
41980 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41981 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41982 grub_strcpy and grub_strlen. Take it into account that a space
41983 character is inserted as a delimiter.
41984
6a85ce79 419852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41986
41987 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41988 invalid magic in the error.
6a85ce79 41989
41990 * commands/search.c: New file.
f19dbdb7 41991
6a85ce79 41992 * util/grub-emu.c (main): Call grub_search_init and
41993 grub_search_fini.
41994
41995 * kern/rescue.c (grub_rescue_print_disks): Removed.
41996 (grub_rescue_print_devices): New function.
41997 (grub_rescue_cmd_ls): Use grub_device_iterate with
41998 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41999 grub_rescue_print_disks.
42000
42001 * kern/partition.c (grub_partition_iterate): Return the result of
42002 PARTMAP->ITERATE instead of GRUB_ERRNO.
42003
42004 * kern/device.c: Include grub/partition.h.
42005 (grub_device_iterate): New function.
42006
42007 * include/grub/partition.h (grub_partition_iterate): Return int
42008 instead of grub_err_t.
42009
42010 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42011 prototype.
42012 [GRUB_UTIL] (grub_search_fini): Likewise.
42013
42014 * include/grub/device.h (grub_device_iterate): New prototype.
42015
42016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42017 commands/search.c.
42018 (pkgdata_MODULES): Added search.mod.
42019 (search_mod_SOURCES): New variable.
42020 (search_mod_CFLAGS): Likewise.
42021
42022 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42023 (pkgdata_MODULES): Added search.mod.
42024 (search_mod_SOURCES): New variable.
42025 (search_mod_CFLAGS): Likewise.
42026
42027 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42028 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42029 All callers changed.
42030
42031 * DISTLIST: Added commands/search.c.
42032
ef095434 420332005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42034
42035 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42036 conversion.
42037 (grub_getcharwidth): New function.
42038
42039 * kern/misc.c (grub_utf8_to_ucs4): New function.
42040
42041 * include/grub/term.h (struct grub_term): Added a new member
42042 "getcharwidth".
42043 (grub_getcharwidth): New prototype.
42044
42045 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42046
42047 * term/i386/pc/console.c (map_char): New function. Segregated from
42048 grub_console_putchar.
42049 (grub_console_putchar): Use map_char.
42050 (grub_console_getcharwidth): New function.
42051 (grub_console_term): Specified grub_console_getcharwidth as
42052 getcharwidth.
42053
42054 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42055 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42056
42057 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42058 GRUB_ERRNO.
42059 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42060 on grub_strtoul completely.
42061 (write_char): Declare local variables in the beginning of the
42062 function.
42063 (grub_vesafb_getcharwidth): New function.
42064 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42065 getcharwidth.
42066
1f0a95e4 420672005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42068
42069 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42070 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42071 commands/i386/pc/vbetest.c.
42072
42073 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42074 call grub_vbe_get_controller_info again, because the returned
42075 information is volatile.
42076 (grub_vbe_set_video_mode): Mostly rewritten.
42077 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42078 grub_vbe_status_t correctly.
42079 (grub_vbe_get_video_mode_info): Likewise.
42080 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42081 several if statements.
42082
42083 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42084 * commands/i386/pc/vbeinfo.c: ... this.
42085
42086 * commands/i386/pc/vbe_test.c: Renamed to ...
42087 * commands/i386/pc/vbetest.c: ... this.
42088
42089 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42090 ...
42091 (grub_cmd_vbeinfo): ... this. Save video modes before
42092 iterating. Skip a video mode, if it is not available, not enough
42093 information is given or it is monochrome. Show the memory
42094 model. Leave the interpretation of MODEVAR to grub_strtoul
42095 completely.
42096 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42097 (GRUB_MOD_FINI): Likewise.
42098
42099 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42100 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42101 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42102 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42103 grub_strtoul completely.
42104 (real2pm): Removed.
42105 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42106 (GRUB_MOD_FINI): Likewise.
42107
42108 * normal/misc.c: Include grub/mm.h.
42109
42110 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42111 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42112 (vbe_list_modes_mod_SOURCES): Removed.
42113 (vbe_list_modes_mod_CFLAGS): Likewise.
42114 (vbe_test_mod_SOURCES): Likewise.
42115 (vbe_test_mod_CFLAGS): Likewise.
42116 (vbeinfo_mod_SOURCES): New variable.
42117 (vbeinfo_mod_CFLAGS): Likewise.
42118 (vbetest_mod_SOURCES): Likewise.
42119 (vbetest_mod_CFLAGS): Likewise.
42120
992ffbbe 421212005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42122
42123 * normal/misc.c: New file.
42124
42125 * DISTLIST: Added normal/misc.c.
f19dbdb7 42126
992ffbbe 42127 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42128 DISK to HOOK. Call HOOK with DISK.
42129 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42130 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42131 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42132
42133 * normal/menu_entry.c (struct screen): Added a new member
42134 "completion_shown".
42135 (completion_buffer): New global variable.
42136 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42137 (store_completion): New function.
42138 (complete): Likewise.
42139 (clear_completions): Likewise.
42140 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42141 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42142 a tab, call complete.
42143
42144 * normal/completion.c (disk_dev): Removed.
42145 (print_simple_completion): Likewise.
42146 (print_partition_completion): Likewise.
42147 (print_func): New global variable.
42148 (add_completion): Do not take the arguments WHAT or PRINT any
42149 longer. Added a new argument TYPE. Instead of printing directly,
42150 call PRINT_FUNC if not NULL.
42151 All callers changed.
42152 (complete_device): Use a local variable DEV instead of
42153 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42154 (grub_normal_do_completion): Take a new argument HOOK. Do not
42155 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42156 empty string, return NULL instead.
42157 All callers changed.
42158
42159 * normal/cmdline.c (print_completion): New function.
42160
42161 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42162 to HOOK.
42163 All callers changed.
42164
42165 * kern/disk.c (grub_print_partinfo): Removed.
42166
42167 * include/grub/partition.h (struct grub_partition_map): Add a new
42168 argument DISK into HOOK of ITERATE.
42169 (grub_partition_iterate): Add a new argument DISK to HOOK.
42170
42171 * include/grub/normal.h (enum grub_completion_type): New enum.
42172 (grub_completion_type_t): New type.
42173 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42174 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42175 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42176 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42177 (grub_normal_do_completion): Added a new argument HOOK.
42178 (grub_normal_print_device_info): New prototype.
42179
42180 * include/grub/disk.h (grub_print_partinfo): Removed.
42181
42182 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42183 (normal_mod_SOURCES): Likewise.
42184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42185 (normal_mod_SOURCES): Likewise.
42186
42187 * commands/ls.c (grub_ls_list_disks): Use
42188 grub_normal_print_device_info instead of grub_print_partinfo. Free
42189 PNAME.
42190 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42191 duplicating the code.
42192
0bd41162 421932005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42194
42195 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42196 follow GCS more precisely.
42197 * commands/i386/pc/vbe_test.c: Likewise.
42198 * include/grub/i386/pc/vbe.h: Likewise.
42199 * term/i386/pc/vesafb.c: Likewise.
42200 * video/i386/pc/vbe.c: Likewise.
0bd41162 42201
6323696a 422022005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42203
42204 * DISTLIST: Added term/i386/pc/vesafb.c
42205 DISTLIST: Added video/i386/pc/vbe.c
42206 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42207 DISTLIST: Added commands/i386/pc/vbe_test.c.
42208 * commands/i386/pc/vbe_list_modes.c: New file.
42209 * commands/i386/pc/vbe_test.c: Likewise.
42210 * term/i386/pc/vesafb.c: Likewise.
42211 * video/i386/pc/vbe.c: Likewise.
42212 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42213 (grub_vbe_probe) Added prototype.
42214 (grub_vbe_set_video_mode) Likewise.
42215 (grub_vbe_get_video_mode) Likewise.
42216 (grub_vbe_get_video_mode_info) Likewise.
42217 (grub_vbe_set_pixel_rgb) Likewise.
42218 (grub_vbe_set_pixel_index) Likewise.
42219 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42220 (pkgdata_MODULES): Added vesafb.mod.
42221 (pkgdata_MODULES): Added vbe_list_modes.mod.
42222 (pkgdata_MODULES): Added vbe_test.mod.
42223 (vbe_mod_SOURCES): Added.
42224 (vbe_mod_CFLAGS): Likewise.
42225 (vesafb_mod_SOURCES): Likewise.
42226 (vesafb_mod_CFLAGS): Likewise.
42227 (vbe_list_modes_mod_SOURCES): Likewise.
42228 (vbe_list_modes_mod_CFLAGS): Likewise.
42229 (vbe_test_mod_SOURCES): Likewise.
42230 (vbe_test_mod_CFLAGS): Likewise.
42231
0a74e62f 422322005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42233
0a74e62f 42234 * normal/command.c (grub_command_execute): If INTERACTIVE is
42235 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42236 CMDLINE. Disable the pager if INTERACTIVE is true.
42237 All callers are changed.
42238
42239 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42240 before reading a config file.
42241 * normal/main.c (read_config_file): Even if a command is not
42242 found, register it if it is within an entry.
42243
42244 * util/grub-emu.c: Include sys/types.h and unistd.h.
42245 (options): Added --hold.
42246 (struct arguments): Added a new member "hold".
42247 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42248 missing.
42249 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42250 cleared by a debugger, if it is not zero.
42251
42252 * include/grub/normal.h (grub_command_execute): Add an argument
42253 INTERACTIVE.
42254
e51f85ae 422552005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42256
42257 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42258
e9c6f39b 422592005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42260
42261 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42262 program with another one, because the old one didn't detect a bug
42263 in gcc-3.4. Always use regparm 2, because the new test is still
42264 not enough for gcc-4.0. Someone must investigate a simple test
42265 case which detects a bug in gcc-4.0.
42266
8de3495c 422672005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42268
42269 * DISTLIST: Added normal/completion.c.
42270
42271 * normal/completion.c: New file.
f19dbdb7 42272
8de3495c 42273 * term/i386/pc/console.c (grub_console_getwh): New function.
42274 (grub_console_term): Assign grub_console_getwh to getwh.
42275
42276 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42277 function is defined in normal/completion.c as
42278 grub_normal_do_completion.
42279 (grub_cmdline_get): Use grub_normal_do_completion instead of
42280 grub_tab_complete.
42281
42282 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42283 returns non-zero, otherwise return 0.
42284 (grub_partition_iterate): First, probe the partition map. Then,
42285 call ITERATE only for this partition map.
42286
42287 * kern/misc.c (grub_strncmp): Rewritten.
42288
42289 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42290 returns non-zero. Otherwise return 0.
42291
42292 * include/grub/partition.h (grub_partition_map_iterate): Return
42293 int instead of void.
42294
42295 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42296
42297 * include/grub/misc.h (grub_strncmp): Change the type of N to
42298 grub_size_t.
42299
42300 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42301 of void.
42302
42303 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42304 unsigned explicitly before comparing it with I.
8de3495c 42305
42306 * kern/main.c (grub_env_write_root): Add the attribute unused into
42307 VAR.
42308
42309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42310 normal/completion.c.
42311 (normal_mod_SOURCES): Likewise.
42312 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42313 (normal_mod_SOURCES): Likewise.
42314
42315 * normal/command.c (grub_iterate_commands): If ITERATE returns
42316 non-zero, return one immediately.
42317
e85e144b 423182005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42319
42320 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42321 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42322 descriptions.
42323 (grub_vbe_get_controller_info): New function.
42324 (grub_vbe_get_mode_info): Likewise.
42325 (grub_vbe_set_mode): Likewise.
42326 (grub_vbe_get_mode): Likewise.
42327 (grub_vbe_set_memory_window): Likewise.
42328 (grub_vbe_get_memory_window): Likewise.
42329 (grub_vbe_set_scanline_length): Likewise.
42330 (grub_vbe_get_scanline_length): Likewise.
42331 (grub_vbe_set_display_start): Likewise.
42332 (grub_vbe_get_display_start): Likewise.
42333 (grub_vbe_set_palette_data): Likewise.
42334 * include/grub/i386/pc/vbe.h: New file.
42335
c46153d2 423362005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42337
42338 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42339 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42340 * DISTLIST: Likewise.
42341 * kern/ieee1275/of.c: Moved to ...
42342 * kern/ieee1275/ieee1275.c: ... here.
42343
0cb90c45 423442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42345
42346 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42347 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42348 Pass 0 as `end' parameter to grub_strtoul().
42349
a19fb360 423502005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42351
42352 * include/grub/powerpc/ieee1275/console.h: Do not include
42353 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42354 ifdef.
42355 (grub_console_cur_color): Remove i386-specific prototype.
42356 (grub_console_real_putchar): Likewise.
42357 (grub_console_checkkey): Likewise.
42358 (grub_console_getkey): Likewise.
42359 (grub_console_getxy): Likewise.
42360 (grub_console_gotoxy): Likewise.
42361 (grub_console_cls): Likewise.
42362 (grub_console_setcursor): Likewise.
42363 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42364 Include <grub/machine/console.h>.
42365 * term/ieee1275/ofconsole.c: Likewise.
42366
4ac9bd04 423672005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42368
42369 * Makefile.in (LIBLZO): New variable.
42370
42371 * configure.ac: Check for LZO version 2.
42372
42373 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42374 lzo/lzo1x.h instead of lzo1x.h.
42375
42376 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42377 of -llzo.
42378
42379 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42380 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42381
42382 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42383 copying the data from PARTITION to P.
42384
f4917dfd 423852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42386
42387 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42388 negative, unload the module.
42389
42390 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42391 map is "pc_partition_map" but not "pc".
42392 (usage): Fix the description. The options are --boot-image and
42393 --core-image but not --boot-file or --core-file.
42394 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42395 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42396 DEFAULT_DIRECTORY.
42397
42398 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42399 --core-file. Specify INSTALL_DEVICE as an argument.
42400
42401 * util/console.c: Include config.h.
42402 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42403 [HAVE_NCURSES_H]: Include ncurses.h.
42404 [HAVE_CURSES_H]: Include curses.h.
42405 [!A_NORMAL] (A_NORMAL): Defined as zero.
42406 [!A_STANDOUT] (A_STANDOUT): Likewise.
42407
42408 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42409 -lncurses.
42410 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42411
42412 * configure.ac: Check for curses libraries and headers.
42413
42414 * Makefile.in (LIBCURSES): New variable.
42415
42416 * genmk.rb (Script::rule): Set the executable bits.
42417
42418 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42419 name of the PC partition map is "pc_partition_map" but not "pc".
42420
0e143073 424212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42422
42423 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42424 (modules): Likewise.
42425 (usage): Added descriptions for --modules and --grub-probefs.
42426 Handle --modules and --grub-probefs. Save the arguments in MODULES
42427 and GRUB_PROBEFS, respectively.
42428 Auto-detect a filesystem module against GRUBDIR. If the result is
42429 empty and modules are not specified explicitly, abort the
42430 installation. Add the result to MODULES.
42431
42432 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42433 disk/powerpc/ieee1275/ofdisk.c,
42434 include/grub/powerpc/ieee1275/init.h and
42435 term/powerpc/ieee1275/ofconsole.c.
42436 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42437 term/ieee1275/ofconsole.c.
42438
42439 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42440
42441 * COPYING: Upgraded to the latest version. Only the address of the
42442 FSF office has changed.
f19dbdb7 42443
efd6e6d5 424442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42445
42446 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42447 kern/ieee1275.c with kern/ieee1275/of.c.
42448
42449 * kern/ieee1275.c: Moved to ...
42450 * kern/ieee1275/of.c: ... here.
42451
8ceafda2 424522005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42453
42454 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42455 readability.
8ceafda2 42456
42457 * config.guess: Updated to the latest version from gnulib.
42458 * config.sub: Likewise.
42459 * install.sh: Likewise.
42460 * mkinstalldirs: Likewise.
42461
42462 * include/grub/console.h: Removed. This file is arch-specific. Do
42463 not put this in include/grub.
42464
42465 * include/grub/i386/pc/console.h: Resurrected.
42466
42467 * util/console.c: Include grub/machine/console.h instead of
42468 grub/console.h.
42469 * util/grub-emu.c: Likewise.
42470
267f6cd9 424712005-08-04 Marco Gerards <metgerards@student.han.nl>
42472
42473 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42474 hardcoded value.
f19dbdb7 42475
267f6cd9 42476 From Vincent Pelletier <subdino2004@yahoo.fr>
42477 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42478 Redefined to use grub_getwh.
42479 (grub_term): New member named getwh.
42480 (grub_getwh): New prototype.
42481 * kern/term.c (grub_getwh): New function.
42482 * term/i386/pc/console.c (grub_console_getwh): New function.
42483 (grub_console_term): New member `getwh'.
42484 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42485 (grub_vga_term): New member `getwh'.
0b5abe02 42486 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42487 grub_ssize_t.
42488 (grub_ofconsole_getw): New function.
42489 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42490 (grub_ofconsole_term): New field named getwh and new initial
42491 value.
42492
3be7266d 424932005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42494
42495 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42496 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42497 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42498 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42499 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42500 of <grub/machine/ieee1275.h>.
42501 * commands/ieee1275/reboot.c: Likewise.
42502 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42503 * kern/ieee1275.c: ... to here. All users updated. Change all
42504 parameter structs to use new type `grub_ieee1275_cell_t'.
42505 * term/powerpc/ieee1275/ofconsole.c: Move ...
42506 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42507 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42508 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42509 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42510 to return int.
42511 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42512 Remove unused prototypes. All users updated.
42513 * include/grub/powerpc/ieee1275/console.h: Removed.
42514 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42515 `grub_ieee1275_cell_t'.
42516 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42517 Cast comparisons with -1 to the correct type.
42518 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42519 type to match `grub_ieee1275_entry_fn'.
42520
8b5f3938 425212005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42522
42523 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42524
42525 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42526 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42527 partmap/sun.c.
42528 (grub_probefs_SOURCES): New variable.
42529
42530 * util/i386/pc/grub-probefs.c: New file.
42531
42532 * util/i386/pc/grub-setup.c (main): Call
42533 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42534 grub_hfs_init and grub_jfs_init to initialize the system. Call
42535 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42536 grub_pc_partition_map_fini to finish the system.
42537
ea409713 425382005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42539
42540 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42541 function.
42542 (grub_multiboot_load_elf32): Likewise.
42543 (grub_multiboot_is_elf64): Likewise.
42544 (grub_multiboot_load_elf64): Likewise.
42545 (grub_multiboot_load_elf): Likewise.
42546 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42547 an ELF32 or ELF64 file.
42548 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42549
42550 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42551 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42552 NULL before calling FS->LABEL.
42553 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42554 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42555 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42556 before calling FS->LABEL.
42557
141a288b 425582005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42559
42560 * util/i386/pc/grub-install.in (datadir): New variable.
42561 (libdir): Removed.
42562 (pkgdatadir): New variable.
42563 (pkglibdir): Removed.
42564
0d5f8a54 425652005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42566
42567 * DISTLIST: Added util/i386/pc/grub-install.in.
42568
42569 * util/i386/pc/grub-install.in: New file.
42570
42571 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42572 (grub_install_SOURCES): Likewise.
42573
42574 * genmk.rb: Added support for scripts.
42575 (Script): New class.
42576 (scripts): New variable.
42577
42578 * Makefile.in (install-local): Install sbin_SCRIPTS by
42579 INSTALL_SCRIPT.
42580 (uninstall): Remove sbin_SCRIPTS.
42581
42582 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42583 device, try to get a GRUB device by
42584 grub_util_biosdisk_get_grub_dev.
42585 Free DEST_DEV.
42586
42587 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42588 description for --device-map.
42589
5f968e1e 425902005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42591
42592 Change the semantics of variable hooks. They now return strings
42593 instead of error values.
f19dbdb7 42594
5f968e1e 42595 * util/i386/pc/grub-setup.c: Include grub/env.h.
42596 (setup): Use grub_device_set_root instead of grub_env_set.
42597
42598 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42599 grub_env_get instead of grub_device_set_root and
42600 grub_device_get_root, respectively.
42601
42602 * kern/main.c (grub_env_write_root): New function.
42603 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42604 grub_env_set instead of grub_device_set_root.
42605
42606 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42607 many variables.
42608 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42609 rather than calling ENV->WRITE_HOOK afterwards.
42610 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42611 passing a pointer of a pointer.
42612 (grub_register_variable_hook): Change the types of "read_hook" and
42613 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42614 respectively.
42615 Allocate the default empty string on the heap, because this string
42616 may be freed later.
42617
42618 * kern/device.c: Include grub/env.h.
42619 (grub_device_set_root): Removed.
42620 (grub_device_get_root): Likewise.
42621 (grub_device_open): Use grub_env_get instead of
42622 grub_device_get_root.
42623
42624 * include/grub/env.h (grub_env_read_hook_t): New type.
42625 (grub_env_write_hook_t): Likewise.
42626 (grub_env_var): Change the types of "read_hook" and "write_hook"
42627 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42628 (grub_register_variable_hook): Likewise.
42629
42630 * include/grub/device.h (grub_device_set_root): Removed.
42631 (grub_device_set_root): Likewise.
42632
42633 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42634 make sure that DIRNAME terminates with '/', so that
42635 grub_fat_find_dir will fail if PATH is not a directory.
42636
42637 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42638 from DIRNAME.
42639 Use the qualifier auto for print_files and print_files_long.
42640 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42641 as a regular file.
42642 Put a newline only if there is no error.
42643 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42644 used.
42645
896f0afd 426462005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42647
42648 * kern/partition.c (grub_partition_probe): Initialize PART to
42649 NULL. Otherwise, when no partition map is registered, this returns
42650 a garbage.
42651
b28b81b2 426522005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42653
42654 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42655 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42656 valid.
42657
5f3607e0 426582005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42659
42660 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42661 information on each device, if it does not have partitions. Print
42662 "Device" instead of "Disk", because this function is not specific
42663 to disk devices.
42664
42665 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42666 static to ensure that it is put on the memory rather than a
42667 register.
42668
502c87e8 426692005-07-17 Yoshinori Okuji <okuji@enbug.org>
42670
42671 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42672 (grub_cat_init): Likewise.
42673 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42674 (options): Likewise.
42675 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42676 (grub_configfile_init): Likewise.
42677 * font/manager.c (GRUB_MOD_INIT): Likewise.
42678 * commands/help.c (GRUB_MOD_INIT): Likewise.
42679 (grub_help_init): Likewise.
42680 * normal/command.c (grub_command_init): Likewise.
42681 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42682 * disk/loopback.c (grub_loop_init): Likewise.
42683 (GRUB_MOD_INIT): Likewise.
42684 * commands/ls.c (grub_ls_init): Likewise.
42685 (GRUB_MOD_INIT): Likewise.
42686 (options): Likewise.
42687 * commands/boot.c (grub_boot_init): Likewise.
42688 (GRUB_MOD_INIT): Likewise.
42689 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42690 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42691 (GRUB_MOD_INIT): Likewise.
42692 * commands/cmp.c (grub_cmp_init): Likewise.
42693 (GRUB_MOD_INIT): Likewise.
42694
42695 * normal/arg.c: Use <> instead of "" to include header files.
42696 (SHORT_ARG_HELP): New macro.
42697 (SHORT_ARG_USAGE): Likewise.
42698 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42699 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42700 descriptions.
42701 (find_short): Check if C is 'h' or 'u' explicitly.
42702 (grub_arg_show_help): Use space characters instead of tabs. Treat
42703 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42704 are shown with --help and --usage only if they are not used for
42705 the command itself.
42706 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42707 'h' and 'u'.
42708
42709 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42710 const into "longarg". Change the type of "shortarg" to int.
42711
f806d18e 427122005-07-17 Yoshinori Okuji <okuji@enbug.org>
42713
42714 * boot/i386/pc/boot.S (boot_drive_check): New label.
42715
42716 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42717 macro.
42718
42719 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42720 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42721
e293232b 427222005-07-17 Yoshinori Okuji <okuji@enbug.org>
42723
42724 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42725 When turning off Gate A20, skip the check and return immediately,
42726 because this is not fatal usually.
42727
ebedfd00 427282005-07-17 Yoshinori Okuji <okuji@enbug.org>
42729
42730 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42731 be 0x7C00 instead of 0x8000.
42732
42733 * boot/i386/pc/pxeboot.S: Rewritten.
42734
42735 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42736 EXT_C.
42737 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42738 result.
42739
654fc59f 427402005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42741
42742 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42743 robustness. This routine now supports a BIOS call and System
42744 Control Port A to modify the gate A20.
42745
42746 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42747 Increased to 0x440.
42748
09f9923f 427492005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42750
42751 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42752 device path and resulting ihandle.
42753 (grub_ofdisk_close): dprintf the ihandle being closed.
42754 (grub_ofdisk_read): dprintf function parameters.
42755 * kern/mm.c (grub_mm_init_region): Likewise.
42756 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42757 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42758 size, and boot arguments.
42759 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42760 before loading into memory.
42761 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42762 before loading into memory.
42763
7ef504d8 427642005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42765
42766 * kern/mm.c: Added much documentation.
42767 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42768 8, set to 5 instead of 8.
42769
e0f050c2 427702005-07-10 Yoshinori Okuji <okuji@enbug.org>
42771
42772 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42773
42774 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42775 (grub_mkdevicemap_SOURCES): New variable.
42776
42777 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42778 lib/device.c of GRUB Legacy.
42779
7224189a 427802005-07-10 Yoshinori Okuji <okuji@enbug.org>
42781
42782 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42783 instead of PATH is NULL.
42784
68c864eb 427852005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42786
42787 * commands/cmp.c (BUFFER_SIZE): New macro.
42788 (grub_cmd_cmp): Close the right file at the right time. Compare
42789 only data just read. Don't report files of different size as
42790 identical. Dynamically allocate buffers. Move variable
42791 declarations at the beginning of function.
42792
e6f3e614 427932005-07-09 Yoshinori Okuji <okuji@enbug.org>
42794
42795 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42796 reverse.
42797
f8f1559a 427982004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42799
42800 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42801 when backspace is pressed at beginning of line.
42802
39c9d41d 428032005-07-03 Yoshinori Okuji <okuji@enbug.org>
42804
42805 * DISTLIST: Added genfslist.sh.
42806
42807 * normal/main.c (fs_module_list): New variable.
42808 (autoload_fs_module): New function.
42809 (read_fs_list): Likewise.
42810 (grub_normal_execute): Call read_fs_list.
42811
42812 * kern/fs.c (grub_fs_autoload_hook): New variable.
42813 (grub_fs_probe): Added support for auto-loading.
42814
42815 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42816 (grub_fs_module_list_t): New type.
42817
42818 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42819 (grub_fs_autoload_hook): New prototype.
42820
42821 * genfslist.sh: New file.
f19dbdb7 42822
39c9d41d 42823 * genmk.rb: Added a rule to generate a filesystem list.
42824
121c1d83 428252005-06-30 Marco Gerards <metgerards@student.han.nl>
42826
42827 * configure.ac: Fix the test for cross-compiling.
42828
42829 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42830 define GRUB_UTIL anymore.
42831
42832 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42833 so this function works on other systems than just big endian.
42834 (load_modules): Likewise.
42835 (add_segments): Likewise.
42836
e75d76e1 428372005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42838
42839 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42840 contains `l' modifier, get a long from va_arg().
42841
50b5a0a7 428422005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42843
42844 * kern/mm.c (grub_free): If the next free block which is being
42845 merged is the first free block, set the first block to the block
42846 being freed.
42847 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42848
89371b20 428492005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42850
42851 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42852 `grub_ieee1275_chosen'.
42853
168d6e58 428542005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42855
42856 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42857 (grub_ieee1275_chosen): New variable.
42858 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42859 `chosen'.
42860 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42861 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42862 Rename first argument to `phandle' for consistency.
42863 (grub_ieee1275_get_property_length): Likewise.
42864 (grub_ieee1275_next_property): Likewise. Change type of first argument
42865 to grub_ieee1275_phandle_t.
42866 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42867 Move export next to declaration.
42868 (grub_ieee1275_chosen): New variable.
42869 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42870 Correct cosmetic typo.
42871 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42872 `grub_ieee1275_chosen'.
42873 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42874 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42875 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42876 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42877 `grub_ieee1275_chosen'.
42878
ca5baa3f 428792005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42880
42881 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42882 /chosen/bootargs.
42883 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42884 /chosen/bootargs as "variable=value" pairs.
42885
708b345f 428862005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42887
42888 * include/grub/misc.h (grub_dprintf): New macro.
42889 (grub_real_dprintf): New prototype.
42890 (grub_strword): Likewise.
42891 (grub_iswordseparator): Likewise.
42892 * kern/misc.c (grub_real_dprintf): New function.
42893 (grub_strword): Likewise.
42894 (grub_iswordseparator): Likewise.
42895
f4c5e67c 428962005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42897
42898 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42899 (roundup): Remove macro.
42900 (grub_ieee1275_flags): Make static.
42901 (grub_ieee1275_realmode): Remove.
42902 (grub_ieee1275_test_flag): New function.
42903 (grub_ieee1275_set_flag): Likewise.
42904 (find_options): Rename to `grub_ieee1275_find_options'; update
42905 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42906 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42907 (cmain): New prototype.
42908 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42909 `grub_ieee1275_flags' directly.
42910 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42911 machine/biosdisk.h.
42912 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42913 Don't include grub/machine/init.h.
42914 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42915 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42916 Remove prototype.
42917 (grub_ieee1275_realmode): Likewise.
42918 (grub_ieee1275_flag): New enum.
42919 (grub_ieee1275_test_flag): New prototype.
42920 (grub_ieee1275_set_flag): New prototype.
42921 * include/grub/powerpc/ieee1275/init.h: Remove file.
42922 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42923 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42924 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42925 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42926 comment.
42927 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42928 `grub_ieee1275_test_flag'.
42929 (grub_ieee1275_encode_devname): Likewise.
42930
ed16607e 429312005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42932
42933 * include/grub/powerpc/ieee1275/ieee1275.h
42934 (grub_ieee1275_encode_devname): New prototype.
42935 (grub_ieee1275_get_filename): Likewise.
42936 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42937 function.
42938 (grub_set_prefix): Likewise.
42939 (grub_machine_init): Call grub_set_prefix.
42940 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42941 (grub_parse_type): New enum.
42942 (grub_ieee1275_get_devargs): New function.
42943 (grub_ieee1275_get_devname): Likewise.
42944 (grub_ieee1275_parse_args): Likewise.
42945 (grub_ieee1275_get_filename): Likewise.
42946 (grub_ieee1275_encode_devname): Likewise.
42947
be369920 429482005-03-30 Marco Gerards <metgerards@student.han.nl>
42949
42950 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42951 `grub_loader_unset'.
42952
a5ce3a4a 429532005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42954
42955 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42956 instead of grub_ieee1275_interpret.
42957 (grub_halt_init): New function.
42958 (grub_halt_fini): Likewise.
42959 (GRUB_MOD_INIT): Correct message grammar.
42960 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42961 instead of grub_ieee1275_interpret.
42962 (grub_reboot_init): New function.
42963 (grub_reboot_fini): Likewise.
42964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42965 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42966 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42967 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42968 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42969 function.
42970 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42971 Add prototype.
42972 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42973 prototype.
42974 (grub_halt): Likewise.
42975 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42976 (cmain): Remove __attribute__((unused)).
42977 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42978 (grub_heap_len): Likewise.
42979 (grub_machine_fini): New function.
42980 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42981 (grub_halt): Likewise.
42982 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42983 function.
42984 * util/powerpc/ieee1275/misc.c: New file.
42985
0058f771 429862005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42987
42988 * DISTLIST: New file.
42989 * gendistlist.sh: Likewise.
f19dbdb7 42990
0058f771 42991 * Makefile.in (COMMON_DISTFILES): Removed.
42992 (BOOT_DISTFILES): Likewise.
42993 (CONF_DISTFILES): Likewise.
42994 (DISK_DISTFILES): Likewise.
42995 (FS_DISTFILES): Likewise.
42996 (INCLUDE_DISTFILES): Likewise.
42997 (KERN_DISTFILES): Likewise.
42998 (LOADER_DISTFILES): Likewise.
42999 (TERM_DISTFILES): Likewise.
43000 (UTIL_DISTFILES): Likewise.
43001 (DISTFILES): Likewise.
43002 (uninstall): Uninstall files in $(pkgdata_DATA).
43003 (DISTLIST): New target.
43004 (distdir): Use the contents of the file DISTLIST to get a list of
43005 distributed files.
43006
46b3b8a5 430072005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43008
43009 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43010 descriptor. This is ported from GRUB Legacy.
43011
43012 * gencmdlist.sh: Added an extra semicolon to make it work with
43013 old sed versions. Reported by Robert Bihlmeyer
43014 <robbe@orcus.priv.at>.
43015
5822ff87 430162005-03-08 Yoshinori Okuji <okuji@enbug.org>
43017
43018 Automatic loading of commands is supported.
f19dbdb7 43019
5822ff87 43020 * normal/main.c (read_command_list): New function.
43021 (grub_normal_execute): Call read_command_list.
43022
43023 * normal/command.c (grub_register_command): Return zero or CMD.
43024 Allocate CMD->NAME from the heap.
43025 Initialize CMD->MODULE_NAME to zero.
43026 Find the same name as well. If the same command is found and it is
43027 a dummy command, overwrite members. If it is not a dummy command,
43028 return zero.
43029 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43030 (grub_command_find): If a dummy command is found, load a module
43031 and retry to find a command only once.
43032
43033 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43034 make sure that each command is loaded.
43035
43036 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43037 macro.
43038 (struct grub_command): Remove const from the member `name'.
43039 Add a new member `module_name'.
43040 (grub_register_command): Return grub_command_t.
43041
43042 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43043 sure that each command is loaded.
43044
43045 * genmk.rb (PModule::rule): Specify a module name without the
43046 suffix ".mod" to gencmdlist.sh.
43047
7b1f4b57 430482005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43049
43050 * gencmdlist.sh: New file.
f19dbdb7 43051
7b1f4b57 43052 * genmk.rb (PModule::rule): Generate a rule for a command list.
43053 Clean command.lst.
43054 Generate command.lst from $(COMMANDFILES).
43055
43056 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43057 (DATA): Added $(pkgdata_DATA).
43058 (install-local): Install files in $(pkgdata_DATA).
43059
062aaf39 430602005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43061
43062 * term/i386/pc/vga.c (debug_command): Removed.
43063 (GRUB_MOD_INIT): Do not register the command "debug".
43064
43065 From Hollis Blanchard:
43066 * commands/configfile.c: New file.
43067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43068 commands/configfile.c.
43069 (pkgdata_MODULES): Added configfile.mod.
43070 (configfile_mod_SOURCES): New variable.
43071 (configfile_mod_CFLAGS): Likewise.
43072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43073 commands/configfile.c.
43074 (pkgdata_MODULES): Added configfile.mod.
43075 (configfile_mod_SOURCES): New variable.
43076 (configfile_mod_CFLAGS): Likewise.
43077 * util/grub-emu.c (main): Call grub_configfile_init and
43078 grub_configfile_fini.
43079 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43080 prototype.
43081 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43082
cee01aa6 430832005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43084
43085 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43086 address.
43087
43088 * commands/help.c (grub_cmd_help): Do not print newlines after
43089 the last command in print_command_help.
43090
93f3a1d8 430912005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43092
43093 * commands/default.h: New file.
43094 * commands/timeout.h: Likewise.
43095 * normal/context.c: Likewise.
f19dbdb7 43096
93f3a1d8 43097 * util/misc.c: Do not include sys/times.h.
43098 Include sys/time.h and grub/machine/time.h.
43099 (grub_get_rtc): Rewritten with gettimeofday.
43100
43101 * util/grub-emu.c (main): Call grub_default_init and
43102 grub_timeout_init before grub_normal_init, and call
43103 grub_timeout_fini and grub_default_fini after grub_main.
43104
43105 * util/console.c (grub_ncurses_checkkey): Return the read
43106 character or -1.
43107
43108 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43109 timeouts.
43110
43111 * normal/main.c (read_config_file): Push MENU. If this fails,
43112 print an error and wait for a user input.
43113 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43114 If a menu is empty or an error occurs, pop MENU.
43115 (grub_normal_execute): Pop and free MENU after grub_menu_run
43116 returns.
43117
43118 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43119
43120 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43121 include time.h.
43122 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43123 without GRUB_UTIL.
43124 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43125 time.h.
43126 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43127 without GRUB_UTIL.
43128
43129 * include/grub/normal.h (struct grub_menu_list): New struct.
43130 (grub_menu_list_t): New type.
43131 (struct grub_context): New struct.
43132 (grub_context_t): New type.
43133 (grub_register_command): Got rid of EXPORT_FUNC.
43134 (grub_unregister_command): Likewise.
43135 (grub_context_get): New prototype.
43136 (grub_context_get_current_menu): Likewise.
43137 (grub_context_push_menu): Likewise.
43138 (grub_context_pop_menu): Likewise.
43139 [GRUB_UTIL] (grub_default_init): Likewise.
43140 [GRUB_UTIL] (grub_default_fini): Likewise.
43141 [GRUB_UTIL] (grub_timeout_init): Likewise.
43142 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43143
43144 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43145 commands/timeout.c and normal/context.c.
43146 (pkgdata_MODULES): Added default.mod and timeout.mod.
43147 (normal_mod_SOURCES): Added normal/context.c.
43148 (default_mod_SOURCES): New variable.
43149 (default_mod_CFLAGS): Likewise.
43150 (timeout_mod_SOURCES): Likewise.
43151 (timeout_mod_CFLAGS): Likewise.
43152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43153 conf/i386-pc.rmk.
43154 (pkgdata_MODULES): Added default.mod and timeout.mod.
43155 (normal_mod_SOURCES): Added normal/context.c.
43156 (default_mod_SOURCES): New variable.
43157 (default_mod_CFLAGS): Likewise.
43158 (timeout_mod_SOURCES): Likewise.
43159 (timeout_mod_CFLAGS): Likewise.
43160
43161 * Makefile.in (all-local): Added $(MKFILES).
43162
4ed2e1dd 431632005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43164
43165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43166 (grub_emu_SOURCES): Likewise.
43167 (pkgdata_MODULES): Add `sun.mod'.
43168 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43170 `partmap/sun.c'.
43171 (pkgdata_MODULES): Add `sun.mod'.
43172 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43173 * include/grub/partition.h (grub_sun_partition_map_init): New
43174 prototype.
43175 (grub_sun_partition_map_fini): Likewise.
43176 * partmap/sun.c: New file.
43177 * util/grub-emu.c (main): Initialize and de-initialize the sun
43178 partitionmap support.
43179
4d4e372e 431802005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43181
43182 This implements an Emacs-like menu entry editor.
f19dbdb7 43183
4d4e372e 43184 * normal/menu_entry.c: New file.
f19dbdb7 43185
4d4e372e 43186 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43187 characters to ASCII.
43188 (saved_char): New variable.
43189 (grub_ncurses_checkkey): Rewritten completely.
43190 (grub_ncurses_getkey): Likewise.
43191 (grub_ncurses_init): Call raw instead of cbreak.
43192
43193 * normal/menu.c (print_entry): Do not put a space.
43194 (init_page): Renamed to ...
43195 (grub_menu_init_page): ... this. All callers changed.
43196 (edit_menu_entry): Removed.
43197 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43198
43199 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43200
43201 * kern/misc.c (grub_vprintf): Call grub_refresh.
43202
43203 * normal/menu.c (DISP_LEFT): Renamed to ...
43204 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43205 * normal/menu.c (DISP_UP): Renamed to ...
43206 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43207 * normal/menu.c (DISP_RIGHT): Renamed to ...
43208 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43209 * normal/menu.c (DISP_DOWN): Renamed to ...
43210 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43211 * normal/menu.c (DISP_HLINE): Renamed to ...
43212 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43213 * normal/menu.c (DISP_VLINE): Renamed to ...
43214 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43215 * normal/menu.c (DISP_UL): Renamed to ...
43216 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43217 * normal/menu.c (DISP_UR): Renamed to ...
43218 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43219 * normal/menu.c (DISP_LL): Renamed to ...
43220 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43221 * normal/menu.c (DISP_LR): Renamed to ...
43222 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43223 * normal/menu.c (TERM_WIDTH): Renamed to ...
43224 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43225 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43226 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43227 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43228 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43229 * normal/menu.c (TERM_MARGIN): Renamed to ...
43230 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43231 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43232 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43233 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43234 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43235 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43236 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43237 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43238 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43239 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43240 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43241 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43242 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43243 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43244 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43245 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43246 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43247 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43248 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43249 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43250 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43251 All callers changed.
43252
43253 * include/grub/normal.h: New prototype.
43254
43255 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43256 normal/menu_entry.c.
43257 (normal_mod_SOURCES): Likewise.
43258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43259 (normal_mod_SOURCES): Likewise.
43260
e6b92c8a 432612005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43262
43263 * include/grub/normal.h (grub_halt_init): New prototype.
43264 (grub_halt_fini): Likewise.
43265 (grub_reboot_init): Likewise.
43266 (grub_reboot_fini): Likewise.
43267
43268 * util/grub-emu.c: Include signal.h.
43269 (main_env): New global variable.
43270 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43271 catch C-c.
43272 (grub_machine_fini): New function.
43273 (main): Call grub_halt_init and grub_reboot_init before
43274 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43275 Call setjmp with MAIN_ENV to go back afterwards.
43276 Call grub_machine_fini right before return.
43277
43278 * include/grub/util/misc.h: Include setjmp.h.
43279 (main_env): New prototype.
43280
43281 * include/grub/kernel.h (grub_machine_fini): New prototype.
43282 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43283 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43284
43285 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43286 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43287 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43288
e6b92c8a 43289 * util/i386/pc/misc.c: New file.
f19dbdb7 43290
e6b92c8a 43291 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43292 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43293 commands/i386/pc/reboot.c.
43294
c642636f 432952005-02-14 Guillem Jover <guillem@hadrons.org>
43296
43297 * include/grub/dl.h (grub_dl_check_header): New prototype.
43298 (grub_arch_dl_check_header): Change return type to grub_err_t,
43299 remove size parameter and export function. Update all callers.
43300 * kern/dl.c (grub_dl_check_header): New function.
43301 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43302 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43303 are inside the core.
43304 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43305 independent ELF header checks.
43306 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43307 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43308 `grub_dl_check_header' instead of explicit checks. Check for the
43309 ELF type.
43310 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43311 `grub_dl_check_header' instead of explicit checks. Remove arch
43312 specific ELF header checks.
43313
e6b92c8a 43314 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43315 argument SIZE.
43316
5eabe94b 433172005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43318
43319 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43320 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43321
1b14a681 433222005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43323
43324 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43325 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43326 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43327 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43328 * partmap/amiga.c (amiga_partition_map_iterate): Return
43329 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43330 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43331
aca108aa 433322005-02-01 Guillem Jover <guillem@hadrons.org>
43333
43334 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43335 help info.
43336
c9f9c556 433372005-01-31 Marco Gerards <metgerards@student.han.nl>
43338
43339 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43340 Removed prototype.
43341 (grub_rescue_cmd_linux): New prototype.
43342 (grub_rescue_cmd_initrd): Likewise.
43343 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43344 `bi_rec'.
43345 (grub_linux_release_mem): Release the memory for the initrd.
43346 (grub_load_linux): Renamed from this...
43347 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43348 Changed `entry' not to be static. Loop over memory regions to
43349 find another one when the default fails.
43350 (grub_rescue_cmd_initrd): New function.
43351 (grub_linux_init): Remove function.
43352 (grub_linux_fini): Likewise.
43353 (GRUB_MOD_INIT): Register `initrd'.
43354 (GRUB_MOD_FINI): Unregister `initrd'.
43355 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43356 Function removed.
43357 (grub_linux_normal_fini): Likewise.
43358 (GRUB_MOD_INIT): Register `initrd'.
43359 (GRUB_MOD_FINI): Unregister `initrd'.
43360
990cf3aa 433612005-01-31 Marco Gerards <metgerards@student.han.nl>
43362
43363 * commands/help.c: New file.
43364 * normal/arg.c (show_help): Renamed to...
43365 (grub_arg_show_help): ... this.
43366 * commands/i386/pc/halt.c: New file.
43367 * commands/i386/pc/reboot.c: Likewise.
43368 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43369 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43370 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43371 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43372 variables.
43373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43374 `commands/help.c'.
43375 (pkgdata_MODULES): Add `help.mod'.
43376 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43377 * grub/i386/pc/init.h (grub_reboot): New prototype.
43378 (grub_halt): Likewise.
43379 * include/grub/normal.h (grub_arg_show_help): New prototype.
43380 (grub_help_init): Likewise.
43381 (grub_help_fini): Likewise.
43382 * util/grub-emu.c (main): Initialize and deinitialize the help
43383 command.
43384
43385 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43386
43387 * normal/command.c (grub_command_init): Fixed the description of
43388 the `set' and `unset' commands.
43389
433902005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43391
43392 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43393 function.
43394 * commands/ieee1275/halt.c: New file.
43395 * commands/ieee1275/reboot.c: Likewise.
43396 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43397 `__attribute__ ((unused))'. Some GCS related fixed.
43398 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43399 (grub_suspend_fini): Likewise.
43400 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43401 and `halt.mod'.
43402 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43403 (halt_mod_CFLAGS): New variables.
43404 * include/grub/powerpc/ieee1275/ieee1275.h
43405 (grub_ieee1275_interpret): New prototype.
43406
1ab09cc7 434072005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43408
43409 * include/grub/misc.h (memmove): New prototype.
43410 (memcpy): Likewise.
43411
8b8cbdb2 434122005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43413
43414 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43415 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43416
e3741a27 434172005-01-22 Marco Gerards <metgerards@student.han.nl>
43418
43419 * kern/misc.c (grub_strndup): Function rewritten.
43420
776bd780 434212005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43422
43423 * normal/menu.c (TERM_WIDTH): Macro redefined.
43424 (TERM_TOP_BORDER_Y): Likewise.
43425 (draw_border): Replaced while-loop by a for-loop. Make the number
43426 of lines consistent with the number of lines displayed in
43427 print_entries. Added a margin below the rectangle.
43428 (print_entry): Make the entry fit in the rectangle.
43429 (print_entries): Display the scroll arrows next to the right
43430 border.
43431
78026bce 434322005-01-21 Marco Gerards <metgerards@student.han.nl>
43433
43434 * fs/minix.c (grub_minix_find_file): Reserve more space for
43435 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43436 `grub_strncpy' to copy `path' into it.
43437
67bbaf0f 434382005-01-21 Marco Gerards <metgerards@student.han.nl>
43439
43440 Add the loopback device, a device via which files can be accessed
43441 as devices.
f19dbdb7 43442
67bbaf0f 43443 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43444 (pkgdata_MODULES): Add loopback.mod.
43445 (loopback_mod_SOURCES): New variable.
43446 (loopback_mod_CFLAGS): Likewise.
43447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43448 `disk/loopback.c'.
43449 (pkgdata_MODULES): Add loopback.mod.
43450 (loopback_mod_SOURCES): New variable.
43451 (loopback_mod_CFLAGS): Likewise.
43452 * disk/loopback.c: new file.
43453 * include/grub/normal.h (grub_loop_init): New prototype.
43454 (grub_loop_fini): New prototype.
43455 * util/grub-emu.c (main): Initialize and de-initialize loopback
43456 support.
43457 * include/grub/disk.h (grub_disk_dev_id): Add
43458 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43459
6f1c18bd 434602005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43461
43462 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43463 function.
43464 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43465 (suspend_mod_SOURCES): New variable.
43466 (suspend_mod_CFLAGS): Likewise.
43467 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43468 New prototype.
43469 * commands/ieee1275/suspend.c: New file.
43470
b38551da 434712005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43472
43473 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43474 ((unused))' to `__attribute__ ((used))'.
b38551da 43475 (GRUB_MOD_FINI): Likewise.
43476 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43477 * genmk.rb (PModule): Assign space to common symbols when linking
43478 modules.
43479
777aff39 434802005-01-20 Marco Gerards <metgerards@student.han.nl>
43481
43482 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43483 `unsigned' arguments to `grub_size_t'.
43484 (grub_malloc): Likewise.
43485 (grub_realloc): Likewise.
43486 (grub_memalign): Likewise.
43487 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43488 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43489 * util/misc.c (grub_malloc): Likewise.
43490 (grub_realloc): Likewise.
43491 * kern/mm.c (get_header_from_pointer): Change the casts to
43492 `unsigned' into a cast to `grub_size_t'.
43493
43494 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43495 point to `currnode' when `currnode' is changed.
43496
43497 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43498 Schottelius <nico-linux@schottelius.org>.
43499
d0ff18e1 435002005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43501
43502 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43503 (note_path): Remove variable.
43504 (GRUB_IEEE1275_NOTE_NAME): New macro.
43505 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43506 (grub_ieee1275_note_hdr): New structure.
43507 (grub_ieee1275_note_desc): Likewise.
43508 (grub_ieee1275_note): Likewise.
43509 (load_note): Remove `dir' argument. All callers updated. Remove
43510 `note_img' and `path'. Do not load a file from `note_path'.
43511 Initialize a struct grub_ieee1275_note and write that to `out'.
43512 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43513
4ca7004c 435142005-01-05 Marco Gerards <metgerards@student.han.nl>
43515
43516 * util/misc.c (grub_util_read_image): Revert last change. It
43517 called `grub_util_read_at', which seeks from the beginning of the
43518 file.
43519
0b412211 435202005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43521
43522 * TODO: Add note about endianness in grub-mkimage.
43523 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43524 section.
43525 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43526 (grub_mkimage_SOURCES): New target.
43527 * include/grub/kernel.h (grub_start_addr): Remove variable.
43528 (grub_end_addr): Likewise.
43529 (grub_total_module_size): Likewise.
43530 (grub_kernel_image_size): Likewise.
43531 (GRUB_MODULE_MAGIC): New constant.
43532 (grub_module_info): New structure.
43533 (grub_arch_modules_addr): New prototype.
43534 (grub_get_end_addr): Remove prototype.
43535 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43536 * include/grub/powerpc/ieee1275/kernel.h: New file.
43537 * include/grub/util/misc.h (grub_util_get_fp_size): New
43538 prototype.
43539 (grub_util_read_at): Likewise.
43540 (grub_util_write_image_at): Likewise.
43541 * kern/main.c (grub_get_end_addr): Remove function.
43542 (grub_load_modules): Call grub_arch_modules_addr instead of using
43543 grub_end_addr. Look for a grub_module_info struct in memory. Use
43544 the grub_module_info fields instead of calling grub_get_end_addr
43545 as loop conditions. Move grub_add_unused_region code here.
43546 (grub_add_unused_region): Remove function.
43547 * kern/i386/pc/init.c: Include grub/cache.h.
43548 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43549 one call to add_mem_region.
43550 (grub_arch_modules_addr): New function.
43551 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43552 (grub_total_module_size): Likewise.
43553 Include grub/machine/kernel.h.
43554 (grub_arch_modules_addr): New function.
43555 * util/grub-emu.c (grub_end_addr): Remove variable.
43556 (grub_total_module_size): Likewise.
43557 (grub_arch_modules_addr): New function.
43558 * util/misc.c: Include unistd.h.
43559 (grub_util_get_fp_size): New function.
43560 (grub_util_read_at): Likewise.
43561 (grub_util_write_image_at): Likewise.
43562 (grub_util_read_image): Call grub_util_read_at.
43563 (grub_util_write_image): Call grub_util_write_image_at.
43564 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43565 additional memory in kernel_img for a struct grub_module_info.
43566 Fill in that grub_module_info.
43567 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43568
458786f8 435692005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43570
43571 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43572 New function.
43573 * include/grub/powerpc/ieee1275/ieee1275.h
43574 (grub_ieee1275_milliseconds): New prototype.
43575 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43576 Change to 1000.
43577 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43578 grub_ieee1275_milliseconds.
43579
ac507d1b 435802005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43581
43582 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43583 variable.
43584 (find_options): New function.
43585 (cmain): Call find_options.
43586 * include/grub/powerpc/ieee1275/ieee1275.h
43587 (grub_ieee1275_realmode): New extern variable.
43588 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43589 grub_map if grub_ieee1275_realmode is false.
43590
6b8fd1c4 435912004-12-29 Marco Gerards <metgerards@student.han.nl>
43592
43593 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43594 lines are inserted and make it work like readline. Reported by
43595 Vincent Pelletier <subdino2004@yahoo.fr>.
43596
8514a1e0 435972004-12-28 Marco Gerards <metgerards@student.han.nl>
43598
43599 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43600
43601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43602 `kern/powerpc/cache.S'.
43603
924b6140 436042004-12-27 Marco Gerards <metgerards@student.han.nl>
43605
43606 * genmk.rb: Handle the `Program' class in the main loop. Written
43607 by Johan Rydberg <jrydberg@gnu.org>.
43608 (Program): New class.
43609 (programs): New variable.
43610 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43611 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43612 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43613 (help_arch): Function removed.
43614 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43615 `powerpc/libgcc.h' and `loader.h'.
43616 (pkgdata_PROGRAMS): New variable.
43617 (sbin_UTILITIES): Variable removed.
43618 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43619 (grubof_SOURCES): Variable re-defined so it only includes the
43620 core functionality.
43621 (grubof_CFLAGS): Remove `-DGRUBOF'.
43622 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43623 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43624 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43625 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43626 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43627 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43628 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43629 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43630 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43631 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43632 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43633 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43634 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43635 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43636 (pc_mod_CFLAGS): New variables.
43637 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43638 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43639 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43640 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43641 Moved from here...
43642 * include/grub/i386/pc/init.h (grub_os_area_addr)
43643 (rub_os_area_size): ... to here.
43644 * include/grub/powerpc/ieee1275/ieee1275.h
43645 (grub_ieee1275_entry_fn): Export symbol.
43646 * include/grub/powerpc/ieee1275/init.h: New file.
43647 * include/grub/powerpc/libgcc.h: Likewise.
43648 * include/grub/cache.h: Likewise.
43649 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43650 <hollis@penguinppc.org>.
43651 * kern/dl.c: Include <grub/cache.h>.
43652 (grub_dl_flush_cache): New function.
43653 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43654 for this module.
43655 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43656 (grub_console_init): Removed prototypes.
43657 (grub_machine_init): Don't initialize the modules anymore.
43658 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43659 static.
43660 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43661 Macro undef removed.
43662 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43663 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43664 relocation `R_PPC_REL32'. Return an error when the relocation is
43665 unknown.
43666 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43667 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43668 * util/misc.c (grub_arch_sync_caches): Likewise.
43669
e4b47e0c 436702004-12-19 Marco Gerards <metgerards@student.han.nl>
43671
43672 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43673 `symlist.c', add `grubof_symlist.c'.
43674 (symlist.c): Variable removed.
43675 (grubof_HEADERS): Variable added.
43676 (grubof_symlist.c): New target.
43677 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43678 `kernel_img_HEADERS'.
43679 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43680 * kern/powerpc/dl.c: New file.
43681 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43682 Function removed.
43683 (grub_arch_dl_relocate_symbols): Likewise.
43684 (grub_register_exported_symbols): Likewise.
43685
4ceb3636 436862004-12-13 Marco Gerards <metgerards@student.han.nl>
43687
43688 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43689 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43690 to fail instead. Reported by Vincent Pelletier
43691 <subdino2004@yahoo.fr>.
43692
43693 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43694 it is not allocated. Reported by Vincent Pelletier
43695 <subdino2004@yahoo.fr>.
43696
43697 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43698 output so the output looks better.
f19dbdb7 43699
3f1578fe 437002004-12-04 Marco Gerards <metgerards@student.han.nl>
43701
43702 Modulize the partition map support and add support for the amiga
43703 partition map.
f19dbdb7 43704
3f1578fe 43705 * commands/ls.c: Include <grub/partition.h> instead of
43706 <grub/machine/partition.h>.
43707 * kern/disk.c: Likewise.
43708 * kern/rescue.c: Likewise.
43709 * loader/i386/pc/chainloader.c: Likewise.
43710 * normal/cmdline.c: Likewise.
43711 * kern/powerpc/ieee1275/init.c: Likewise.
43712 (grub_machine_init): Call `grub_pc_partition_map_init',
43713 `grub_amiga_partition_map_init' and
43714 `grub_apple_partition_map_init'.
43715 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43716 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43717 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43718 `partition.h' and `pc_partition.h'.
43719 (grub_setup_SOURCES): Remove
43720 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43721 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43722 (grub_emu_SOURCES): Likewise.
43723 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43724 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43725 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43727 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43728 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43729 (grubof_SOURCES): Likewise.
43730 * disk/i386/pc/partition.c: File removed.
43731 * disk/powerpc/ieee1275/partition.c: Likewise.
43732 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43733 * include/grub/i386/pc/partition.h: Likewise.
43734 * kern/partition.c: New file.
43735 * partmap/amiga.c: Likewise.
43736 * partmap/apple.c: Likewise.
43737 * partmap/pc.c: Likewise.
43738 * include/grub/partition.h: Likewise..
43739 * include/grub/pc_partition.h: Likewise.
43740 * util/grub-emu.c: Include <grub/partition.h> instead of
43741 <grub/machine/partition.h>.
43742 (main): Call `grub_pc_partition_map_init',
43743 `grub_amiga_partition_map_init' and
43744 `grub_apple_partition_map_init' and deinitialize afterwards.
43745 * util/i386/pc/biosdisk.c: Include `#include
43746 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43747 `<grub/machine/partition.h>'.
43748 * util/i386/pc/grub-setup.c: Likewise.
43749 * util/i386/pc/biosdisk.c: Likewise.
43750 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43751 partition information in case of a PC partition.
43752 * util/i386/pc/grub-setup.c: Include `#include
43753 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43754 `<grub/machine/partition.h>'.
43755 (setup): Only access the PC specific partition information in case
43756 of a PC partition.
43757
0ef4ced9 437582004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43759
0ef4ced9 43760 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43761 (grub_longjmp): Likewise.
43762 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43763 20.
43764 * normal/powerpc/setjmp.S: New file.
43765 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43766 `normal/powerpc/setjmp.S'.
43767 (grubof_CFLAGS): Add `-DGRUBOF'.
43768 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43769 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43770
19950e29 437712004-11-16 Marco Gerards <metgerards@student.han.nl>
43772
43773 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43774 property named `name'. Correctly handle the error returned by
43775 `grub_ieee1275_finddevice' if a device can not be opened.
43776
a2fea427 437772004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43778
43779 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43780 `actual' for negativity.
43781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43782 kern/fshelp.c.
43783
41ea0ea3 437842004-11-01 Marco Gerards <metgerards@student.han.nl>
43785
43786 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43787 (PAGE_OFFSET): New macro.
43788 (CRTC_ADDR_PORT): Likewise.
43789 (CRTC_DATA_PORT): Likewise.
43790 (START_ADDR_HIGH_REGISTER): Likewise.
43791 (START_ADDR_LOW_REGISTER): Likewise.
43792 (GRAPHICS_ADDR_PORT): Likewise.
43793 (GRAPHICS_DATA_PORT): Likewise.
43794 (READ_MAP_REGISTER): Likewise.
43795 (INPUT_STATUS1_REGISTER): Likewise.
43796 (INPUT_STATUS1_VERTR_BIT): Likewise.
43797 (page): New variable.
43798 (wait_vretrace): New function.
43799 (set_read_map): Likewise.
43800 (set_start_address): Likewise.
43801 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43802 the right page.
43803 (check_vga_mem): Take the page into account.
43804 (write_char): Likewise.
43805 (write_cursor): Likewise.
43806 (scroll_up): Likewise. Copy the page to the page that is not
43807 shown and switch between both pages.
43808 (grub_vga_putchar): Fix off by one error.
43809 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43810 account.
43811
ad0bd20b 438122004-11-01 Marco Gerards <metgerards@student.han.nl>
43813
43814 Add support for iso9660 (including rockridge).
f19dbdb7 43815
ad0bd20b 43816 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43817 (iso9660_mod_SOURCES): New variable.
43818 (iso9660_mod_CFLAGS): Likewise.
43819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43820 * include/grub/fs.h (grub_iso9660_init): New prototype.
43821 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43822 * fs/iso9660.c: New file.
43823
43824 * include/grub/misc.h (grub_strncat): New prototype.
43825 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43826
ad0bd20b 43827 * fs/hfs.c (grub_hfs_mount): Translate the error
43828 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43829 * fs/jfs.c (grub_jfs_mount): Likewise.
43830 * fs/ufs.c (grub_ufs_mount): Likewise.
43831
a5477a59 438322004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43833
43834 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43835 which initialized BAT registers.
43836 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43837 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43838 Move from here...
43839 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43840 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43841 ... to here.
43842 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43843 (grub_mapclaim): Likewise.
43844 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43845 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43846 hand.
43847
9304c1f8 438482004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43849
43850 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43851 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43852 -ffreestanding and -msoft-float.
43853
86f4ae25 438542004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43855
43856 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43857 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43858 set in grub_ieee1275_flags.
43859
38912228 438602004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43861
43862 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43863 prototype.
43864 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43865 grub_console_init first.
43866 Change the memory range used for grub_ieee1275_claim and
43867 grub_mm_init_region.
43868 Print an error message if the claim fails.
43869 Include <grub/misc.h>.
43870
d1923dc8 438712004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43872
43873 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43874 Call grub_children_iterate for device nodes of type `scsi',
43875 `ide', or `ata'.
43876 (grub_ofdisk_open): Remove manual device alias resolution.
43877 Fix memory leak when device cannot be opened.
f19dbdb7 43878 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43879 (grub_children_iterate): New prototype.
43880 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43881 New function.
43882 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43883 Return -1 if args.size was -1.
43884
4512e4f3 438852004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43886
43887 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43888 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43889 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43890 Open Firmware's memory for it; claim memory from _start to _end.
43891 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43892 (_end): New extern.
43893 (_start): Zero BSS from __bss_start to _end.
43894 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43895 New extern.
43896 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43897
4d61feb0 438982004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43899
ad0bd20b 43900 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43901 -1 if args.base was -1.
4d61feb0 43902
026fa2f9 439032004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43904
43905 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43906 escape sequence instead of a literal ^L. Also call
43907 grub_ofconsole_gotoxy.
43908
9f2220ef 439092004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43910
43911 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43912 void * arguments to grub_addr_t. All callers updated. Also make
43913 the `result' argument optional.
43914 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43915 All callers updated.
43916
8a572cd7 439172004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43918
43919 * commands/ls.c (grub_ls_list_files): Use the string following the
43920 initial ')', if present, as the filesystem path.
43921 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43922
43923 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43924
18aa81f2 439252004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43926
43927 Make the source code of the menu interface more readable.
f19dbdb7 43928
18aa81f2 43929 * normal/menu.c: Include grub/mm.h.
43930 (TERM_WIDTH): New macro.
43931 (TERM_HEIGHT): Likewise.
43932 (TERM_INFO_HEIGHT): Likewise.
43933 (TERM_MARGIN): Likewise.
43934 (TERM_SCROLL_WIDTH): Likewise.
43935 (TERM_TOP_BORDER_Y): Likewise.
43936 (TERM_LEFT_BORDER_X): Likewise.
43937 (TERM_BORDER_WIDTH): Likewise.
43938 (TERM_MESSAGE_HEIGHT): Likewise.
43939 (TERM_BORDER_HEIGHT): Likewise.
43940 (TERM_NUM_ENTRIES): Likewise.
43941 (TERM_FIRST_ENTRY_Y): Likewise.
43942 (TERM_ENTRY_WIDTH): Likewise.
43943 (TERM_CURSOR_X): Likewise.
43944 (draw_border): Use macros instead of magic numbers.
43945 (print_entry): Likewise.
43946 (print_entries): Likewise.
43947 (run_menu): Likewise. Also, handle the key 'e'.
43948 (run_menu_entry): Ignore empty command lines.
43949 (print_message): Added a new argument EDIT. If EDIT is true,
43950 print a different message.
43951 (init_page): Likewise.
43952 (edit_menu_entry): New function. Not implemented yet.
43953
b47efe30 439542004-09-17 Marco Gerards <metgerards@student.han.nl>
43955
43956 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43957 can be loaded from normal mode.
f19dbdb7 43958
b47efe30 43959 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43960 `multiboot.mod'.
43961 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43962 (multiboot_mod_CFLAGS): New variables.
43963 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43964 * loader/i386/pc/multiboot_normal.c: Likewise.
43965
b47efe30 43966 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43967 attribute `unused'.
f19dbdb7 43968
b47efe30 43969 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43970 `fdiro' to read the mode information from instead of `diro'.
43971
43972 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43973 looking up a symlink.
43974
43975 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43976 macro.
43977 * normal/command.c (grub_command_execute): Don't parse the
43978 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43979 flags of the command.
43980
43981 * normal/menu.c (grub_menu_run): Fix typo.
43982
da75ac71 439832004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43984
43985 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43986
43987 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43988 `y + 1' instead of `y - 1'.
43989
43990 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43991
062b24c2 439922004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43993
43994 From Hollis Blanchard <hollis@penguinppc.org>:
43995 * kern/misc.c (memmove): New alias for grub_memmove.
43996 (memcmp): New alias for grub_memcmp.
43997 (memset): New alias for grub_memset.
f19dbdb7 43998 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43999 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44000 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44001 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44002
8ddad845 440032004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44004
44005 Added normal mode command `chainloader' as module chain.mod, which
44006 depends on normal.mod and _chain.mod.
f19dbdb7 44007
8ddad845 44008 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44009 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44010 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44011 Deleted prototype.
44012 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44013 but arguments parsing moved to ...
44014 (grub_chainloader_cmd): ... here. New function.
44015 * include/grub/i386/pc/chainloader.h: New file.
44016 * loader/i386/pc/chainloader_normal.c: Likewise.
44017
2c1f4ce3 440182004-09-11 Marco Gerards <metgerards@student.han.nl>
44019
44020 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44021 (grub_mkimage_LDFLAGS): Likewise.
44022 (grub_emu_SOURCES): Likewise.
44023 (kernel_img_HEADERS): Added fshelp.h.
44024 * fs/ext2.c: Include <grub/fshelp.h>.
44025 (FILETYPE_REG): New macro.
44026 (FILETYPE_INO_REG): Likewise.
44027 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44028 Changed all users.
44029 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44030 all users.
44031 (grub_fshelp_node): New struct.
44032 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44033 to a pointer.
44034 (grub_ext2_get_file_block): Removed function.
44035 (grub_ext2_read_block): New function.
44036 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44037 This function was written.
44038 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44039 (grub_ext2_find_file): Removed function.
44040 (grub_ext2_read_symlink): New function.
44041 (grub_ext2_iterate_dir): Likewise.
44042 (grub_ext2_open): Rewritten.
44043 (grub_ext2_dir): Rewritten.
44044 * include/grub/fshelp.h: New file.
44045 * fs/fshelp.c: Likewise.
44046
3c52136a 440472004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44048
44049 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44050 (print_message): Add a missing newline.
44051 (run_menu): Added timeout support.
44052 (run_menu_entry): New local function.
44053 (grub_menu_run): Added support for booting.
44054
44055 * kern/loader.c (grub_loader_is_loaded): New function.
44056
44057 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44058 (grub_get_rtc): Exported.
44059
44060 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44061 (grub_get_rtc): Exported.
44062
44063 * include/grub/normal.h (struct grub_command_list): Remove
44064 constant from the member `command'.
44065
44066 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44067
44068 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44069
44070 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44071
aa033560 440722004-08-28 Marco Gerards <metgerards@student.han.nl>
44073
44074 Add support for the JFS filesystem.
44075
44076 * fs/jfs.c: New file.
44077 * include/grub/fs.h (grub_jfs_init): New prototype.
44078 (grub_jfs_fini): New prototype.
44079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44080 (grub_emu_SOURCES): Likewise.
44081 (pkgdata_MODULES): Add jfs.mod.
44082 (jfs_mod_SOURCES): New variable.
44083 (jfs_mod_CFLAGS): Likewise.
44084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44085 (grubof_SOURCES): Likewise.
44086 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44087
44088 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44089 endian to the host endian.
44090 (grub_fat_utf16_to_utf8): Move function from there...
44091 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44092 the endianness of the source string anymore.
aa033560 44093 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44094
94bc45af 440952004-08-24 Marco Gerards <metgerards@student.han.nl>
44096
44097 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44098 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44099 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44100 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44101
94bc45af 44102 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44103 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44104 for `node_found' and `it_dir'.
44105 (grub_hfs_dir): Add prototype for `dir_hook'.
44106
44107 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44108 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44109 and `indir32' to silence a gcc warning.
44110
44111 * include/grub/fs.h (grub_hfs_init): New prototype.
44112 (grub_hfs_fini): Likewise.
f19dbdb7 44113
44114
97543f08 441152004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44116
44117 Each disk device has its own id now. This is useful to make use
44118 of multiple disk devices.
f19dbdb7 44119
97543f08 44120 * include/grub/disk.h (grub_disk_dev_id): New enum.
44121 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44122 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44123
44124 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44125 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44126
44127 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44128 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44129
44130 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44131 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44132
44133 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44134 "id" which is used by the cache manager.
44135
44136 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44137 of just "GRUB".
44138
64372eb4 441392004-08-18 Marco Gerards <metgerards@student.han.nl>
44140
44141 * fs/hfs.c: New file.
44142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44143 (grub_emu_SOURCES): Likewise.
44144 (pkgdata_MODULES): Add hfs.mod.
44145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44146 (grubof_SOURCES): Likewise.
44147 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44148
44149 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44150 * kern/misc.c (grub_strncasecmp): Add function.
44151
cc61b58f 441522004-08-14 Marco Gerards <metgerards@student.han.nl>
44153
44154 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44155 with parentheses.
44156
44157 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44158 (grub_ext2_dir): In case the directory entry type is unknown, read
44159 it from the inode.
44160
0ef123f6 441612004-08-02 Peter Bruin <pjbruin@dds.nl>
44162
44163 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44164 grub_load_linux instead of grub_rescue_cmd_linux as second
44165 argument of grub_rescue_register_command.
44166
44167 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44168
a447c5df 441692004-07-27 Marco Gerards <metgerards@student.han.nl>
44170
44171 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44172 function.
44173 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44174 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44175 `loader/powerpc/ieee1275/linux.c',
44176 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44177 * include/grub/powerpc/ieee1275/ieee1275.h
44178 (grub_ieee1275_release): New prototype.
44179 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44180 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44181 normal, boot, linux and linux_normal.
44182 * loader/powerpc/ieee1275/linux.c: New file.
44183 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44184
5a9e3546 441852004-07-12 Marco Gerards <metgerards@student.han.nl>
44186
44187 * normal/arg.c (grub_arg_parse): Correct error handling after
44188 reallocating the argumentlist (check if `argl' is not null instead
44189 of checking if `args' is not null).
44190 * kern/mm.c (grub_realloc): Return the same pointer when using the
44191 same region, instead of returning the header address.
44192
e15199cb 441932004-07-11 Marco Gerards <metgerards@student.han.nl>
44194
44195 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44196 one block instead of two when looking for the initial partition.
44197 (grub_partition_probe): Initialize the local variable `p' with 0.
44198 Use base 10 for the grub_strtoul call.
44199 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44200 need for one local variable.
44201 (grub_strtoul): Don't add the new value to `num', instead of that
44202 just assign it.
44203
020616c2 442042004-07-11 Marco Gerards <metgerards@student.han.nl>
44205
44206 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44207 (pxeboot_img_SOURCES): New variable.
44208 (pxeboot_img_ASFLAGS): Likewise.
44209 (pxeboot_img_LDFLAGS): Likewise.
44210 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44211 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44212 <lode_leroy@hotmail.com>.
44213
6c51eb64 442142004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44215
44216 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44217 there was no input.
44218
cfb12aff 442192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44220
44221 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44222 the history buffer logic.
44223
6eabba74 442242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44225
44226 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44227 (FILETYPE_INO_SYMLINK): New macros.
44228 (grub_ext2_find_file): Check if the node is a directory using the
44229 inode stat information instead of using the filetype in the
44230 dirent. Exclude the first character of an absolute symlink.
44231 (grub_ext2_dir): Mask out the filetype part of the mode member of
44232 the inode.
44233
66e19ef8 442342004-05-24 Marco Gerards <metgerards@student.han.nl>
44235
44236 Add support for UFS version 1 and 2. Add support for the minix
44237 filesystem version 1 and 2, both the variants with 14 and 30 long
44238 filenames.
f19dbdb7 44239
66e19ef8 44240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44241 fs/minix.c.
44242 (grub_emu_SOURCES): Likewise.
44243 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44244 (ufs_mod_SOURCES): New variable.
44245 (ufs_mod_CFLAGS): Likewise.
44246 (minix_mod_SOURCES): Likewise.
44247 (minix_mod_CFLAGS): Likewise.
44248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44249 fs/minix.c.
44250 (grubof_SOURCES): Likewise.
44251 * fs/ufs.c: New file.
44252 * fs/minix.c: New file.
44253 * include/grub/fs.h (grub_ufs_init): New prototype.
44254 (grub_ufs_fini): Likewise.
44255 (grub_minix_init): Likewise.
44256 (grub_minix_fini): Likewise.
44257 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44258 minix fs.
44259
cc2e748a 442602004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44261
44262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44263 commands/ls.c, commands/terminal.c, commands/boot.c,
44264 commands/cmp.c and commands/cat.c.
44265 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44266
44267 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44268 "env.h"
44269
4b13b216 442702004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44271
44272 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44273 and grub_, respectively. Because the conversion is trivial and
44274 mechanical, I omit the details here. Please refer to the CVS
44275 if you need more information.
44276
6a142551 442772004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44278
44279 * include/pupa: Renamed to ...
44280 * include/grub: ... this.
44281 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44282 * util/i386/pc/grub-mkimage.c: ... this.
44283 * util/i386/pc/pupa-setup.c: Renamed to ...
44284 * util/i386/pc/grub-setup.c: ... this.
44285 * util/pupa-emu.c: Renamed to ...
44286 * util/grub-emu.c: ... this.
44287
e56cdf21 442882004-03-29 Marco Gerards <metgerards@student.han.nl>
44289
44290 Add support for the newworld apple macintosh (PPC). This has been
44291 tested on the powerbook 2000 only. It only adds support for
44292 generic ieee1275 functions, console and disk support. This should
44293 be easy to port to other architectures with support for Open
44294 Firmware.
f19dbdb7 44295
e56cdf21 44296 * configure.ac: Accept the powerpc as host_cpu. In the case of
44297 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44298 specific tests are only executed while building for the i386.
44299 Inverse test for crosscompile.
44300 * genmk.rb (Utility): Allow assembler files.
44301 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44302 * conf/powerpc-ieee1275.rmk: New file.
44303 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44304 * disk/powerpc/ieee1275/partition.c: Likewise.
44305 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44306 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44307 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44308 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44309 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44310 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44311 * include/pupa/powerpc/ieee1275/loader.h
44312 * include/pupa/powerpc/setjmp.h: Likewise.
44313 * include/pupa/powerpc/types.h: Likewise.
44314 * kern/powerpc/ieee1275/init.c: Likewise.
44315 * kern/powerpc/ieee1275/openfw.c: Likewise.
44316 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44317
44318 These files were written by Johan Rydberg
44319 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44320
e56cdf21 44321 * boot/powerpc/ieee1275/cmain.c: New file.
44322 * boot/powerpc/ieee1275/crt0.S: Likewise.
44323 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44324 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44325
8c8cc205 443262004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44327
44328 * Makefile.in: Update copyright.
44329 * genmodsrc.sh: Likewise.
44330 * gensymlist.sh: Likewise.
44331 * term/i386/pc/vga.c: Indent correctly.
44332
44333 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44334 bugreporting address.
44335 * util/i386/pc/pupa-setup.c (usage): Likewise,
44336 (main): Call pupa_ext2_init and pupa_ext2_fini.
44337
f19dbdb7 44338 * fs/fat.c (log2): Renamed to ...
8c8cc205 44339 (fat_log2): ... this.
44340 All callers changed.
44341 * kern/misc.c (memcpy): Alias to pupa_memmove.
44342 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44343 lvalue cast.
44344 * util/console.c (pupa_ncurses_fini): Return 0.
44345
44346 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44347 Move fail label here.
44348 [__GNU__]: Don't warn when using stat.
44349 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44350 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44351 long int. Use strtol instead of strtoul.
f19dbdb7 44352
db1771cf 443532004-03-14 Marco Gerards <metgerards@student.han.nl>
44354
44355 * commands/boot.c: New file.
44356 * commands/cat.c: Likewise.
44357 * commands/cmp.c: Likewise.
44358 * commands/ls.c: Likewise.
44359 * commands/terminal.c: Likewise.
44360 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44361 (pupa_register_command): Changed interface to match the new
44362 argument parser.
44363 (pupa_command_execute): Changed (almost rewritten) so it uses
44364 pupa_split_command. Added support for setting variables using the
44365 syntax `foo=bar'.
44366 (rescue_command): Changed to work with the new argument parser.
44367 (terminal_command): Moved from here to commands/terminal.c.
44368 (set_command): New function.
44369 (unset_command): New function.
44370 (insmod_command): New function.
44371 (rmmod_command): New function.
44372 (lsmod_command): New function.
44373 (pupa_command_init): Don't initialize the command terminal
44374 anymore. Initialize the commands set, unset, insmod, rmmod and
44375 lsmod.
44376 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44377 (kernel_img_HEADERS): Add arg.h and env.h.
44378 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44379 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44380 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44381 normal/arg.c.
44382 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44383 terminal.mod.
44384 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44385 (boot_mod_SOURCES): New variable.
44386 (terminal_mod_SOURCES): Likewise.
44387 (ls_mod_SOURCES): Likewise.
44388 (cmp_mod_SOURCES): Likewise.
44389 (cat_mod_SOURCES): Likewise.
44390
44391 * normal/arg.c: New file.
44392 * kern/env.c: Likewise.
44393 * include/pupa/arg.h: Likewise.
44394 * include/pupa/env.h: Likewise.
44395 * font/manager.c (font_command): Changed to match argument parsing
44396 interface changes.
44397 (PUPA_MOD_INIT): Likewise.
44398 * hello/hello.c (pupa_cmd_hello): Likewise.
44399 (PUPA_MOD_INIT): Likewise.
44400 * include/pupa/disk.h: Include <pupa/device.h>.
44401 (pupa_print_partinfo): New prototype.
44402 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44403 (pupa_dl_get_prefix): Likewise.
44404 * include/pupa/misc.h: Include <pupa/err.h>.
44405 (pupa_isgraph): New prototype.
44406 (pupa_isdigit): Likewise.
44407 (pupa_split_cmdline): Likewise.
44408 * include/pupa/normal.h: Include <pupa/arg.h>.
44409 (pupa_command): Changed the prototype of the member `func' to
44410 match the argument parsing interface. Added member `options'.
44411 (pupa_register_command): Updated to match function.
44412 (pupa_arg_parse): New prototype.
44413 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44414 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44415 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44416 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44417 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44418 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44419 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44420 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44421 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44422 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44423 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44424 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44425 * kern/disk.c: Include <pupa/file.h>.
44426 (pupa_print_partinfo): New function.
44427 * kern/dl.c: Include <pupa/env.h>.
44428 (pupa_dl_dir): Variable removed.
44429 (pupa_dl_load): Use the environment variable `prefix' instead of
44430 the variable pupa_dl_dir.
44431 (pupa_dl_set_prefix): Function removed.
44432 (pupa_dl_get_prefix): Likewise.
44433 * kern/i386/pc/init.c: Include <pupa/env.h>.
44434 (pupa_machine_init): Use the environment variable `prefix' instead of
44435 using pupa_dl_set_prefix to set the prefix.
44436 * kern/main.c: Include <pupa/env.h>.
44437 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44438 using pupa_dl_get_prefix to get the prefix.
44439 * kern/misc.c: Include <pupa/env.h>.
44440 (pupa_isdigit): New function.
44441 (pupa_isgraph): Likewise.
44442 (pupa_ftoa): Likewise.
44443 (pupa_vsprintf): Added support for printing values of the type
44444 `double'. Make it possible to format variable output when using
44445 formatting like `%1.2%f'.
44446 (pupa_split_cmdline): New function.
44447 * kern/rescue.c: Include <pupa/env.h>.
44448 (next_word): Removed function.
44449 (pupa_rescue_cmd_prefix): Likewise.
44450 (pupa_rescue_cmd_set): New function.
44451 (pupa_rescue_cmd_unset): New function.
44452 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44453 split the command line instead of splitting it here. Added
44454 support for setting variables using the syntax `foo=bar'. Don't
44455 initialize the prefix command anymore. Initialized the set and
44456 unset commands.
44457 * normal/cmdline.c: Include <pupa/env.h>.
44458 (pupa_tab_complete): Added prototypes for print_simple_completion,
44459 print_partition_completion, add_completion, iterate_commands,
44460 iterate_dev, iterate_part and iterate_dir. Moved code to print
44461 partition information from here to kern/disk.c.
fe6b695a 44462 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44463 * normal/main.c: Include <pupa/env.h>.
44464 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44465 instead of using pupa_dl_get_prefix to get the prefix.
44466 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44467 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44468 warning.
44469 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44470 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44471 ((unused))' to silence a gcc warning.
44472 (pupa_vga_setcolor): Likewise.
44473 (debug_command): Changed to match argument parsing
44474 interface changes.
44475 * util/pupa-emu.c: Include <pupa/env.h>.
44476 (options): Added 0's for unused fields to silence a gcc warning.
44477 (argp): Likewise.
44478 (main): Use the environment variable `prefix' instead of using
44479 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44480 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44481 and terminal.
44482
44483 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44484 * util/misc.c: Include <malloc.h>.
44485 (pupa_malloc): Rewritten so errors are correctly reported.
44486 (pupa_realloc): Likewise.
44487 (pupa_memalign): Likewise.
44488 (pupa_mm_init_region): Declare unused variables with
44489 `__attribute__ ((unused))' to silence a gcc warning.
44490 * normal/i386/setjmp.S: Remove tab at the end of the file to
44491 silence a gcc warning.
44492 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44493 variables with `__attribute__ ((unused))' to silence a gcc
44494 warning.
44495 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44496 local variable i unsigned to silence a gcc warning.
44497
44498 * kern/term.c: Include <pupa/misc.h>.
44499 (pupa_more_lines): New variable.
44500 (pupa_more): Likewise.
44501 (pupa_putcode): When the pager is active pause at the end of every
44502 screen.
44503 (pupa_set_more): New function.
44504 * include/pupa/term.h (pupa_set_more): New prototype.
44505
44506
3b1139cb 445072004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44508
44509 Now this project is GRUB 2 rather than PUPA. The location of
44510 the CVS repository was moved to GRUB's.
f19dbdb7 44511
3b1139cb 44512 * configure.ac: Use bug-grub as the reporting address.
44513 Use GRUB instead of PUPA.
44514 Change the version number to 1.90.
44515
8367695c 445162004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44517
44518 * genkernsyms.sh: Updated copyright information.
44519 * genmk.rb: Likewise.
44520 * genmodsrc.sh: Likewise.
44521 * gensymlist.sh: Likewise.
44522 * boot/i386/pc/boot.S: Likewise.
44523 * boot/i386/pc/diskboot.S: Likewise.
44524 * disk/i386/pc/biosdisk.c: Likewise.
44525 * disk/i386/pc/partition.c: Likewise.
44526 * font/manager.c: Likewise.
44527 * fs/ext2.c: Likewise.
44528 * fs/fat.c: Likewise.
44529 * include/pupa/boot.h: Likewise.
44530 * include/pupa/device.h: Likewise.
44531 * include/pupa/disk.h: Likewise.
44532 * include/pupa/dl.h: Likewise.
44533 * include/pupa/elf.h: Likewise.
44534 * include/pupa/err.h: Likewise.
44535 * include/pupa/file.h: Likewise.
44536 * include/pupa/font.h: Likewise.
44537 * include/pupa/fs.h: Likewise.
44538 * include/pupa/kernel.h: Likewise.
44539 * include/pupa/loader.h: Likewise.
44540 * include/pupa/misc.h: Likewise.
44541 * include/pupa/mm.h: Likewise.
44542 * include/pupa/net.h: Likewise.
44543 * include/pupa/normal.h: Likewise.
44544 * include/pupa/rescue.h: Likewise.
44545 * include/pupa/setjmp.h: Likewise.
44546 * include/pupa/symbol.h: Likewise.
44547 * include/pupa/term.h: Likewise.
44548 * include/pupa/types.h: Likewise.
44549 * include/pupa/i386/setjmp.h: Likewise.
44550 * include/pupa/i386/types.h: Likewise.
44551 * include/pupa/i386/pc/biosdisk.h: Likewise.
44552 * include/pupa/i386/pc/boot.h: Likewise.
44553 * include/pupa/i386/pc/console.h: Likewise.
44554 * include/pupa/i386/pc/init.h: Likewise.
44555 * include/pupa/i386/pc/kernel.h: Likewise.
44556 * include/pupa/i386/pc/linux.h: Likewise.
44557 * include/pupa/i386/pc/loader.h: Likewise.
44558 * include/pupa/i386/pc/memory.h: Likewise.
44559 * include/pupa/i386/pc/multiboot.h: Likewise.
44560 * include/pupa/i386/pc/partition.h: Likewise.
44561 * include/pupa/i386/pc/time.h: Likewise.
44562 * include/pupa/i386/pc/vga.h: Likewise.
44563 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44564 * include/pupa/util/getroot.h: Likewise.
44565 * include/pupa/util/misc.h: Likewise.
44566 * include/pupa/util/resolve.h: Likewise.
44567 * kern/device.c: Likewise.
44568 * kern/disk.c: Likewise.
44569 * kern/dl.c: Likewise.
44570 * kern/err.c: Likewise.
44571 * kern/file.c: Likewise.
44572 * kern/fs.c: Likewise.
44573 * kern/loader.c: Likewise.
44574 * kern/main.c: Likewise.
44575 * kern/misc.c: Likewise.
44576 * kern/mm.c: Likewise.
44577 * kern/rescue.c: Likewise.
44578 * kern/term.c: Likewise.
44579 * kern/i386/dl.c: Likewise.
44580 * kern/i386/pc/init.c: Likewise.
44581 * kern/i386/pc/lzo1x.S: Likewise.
44582 * kern/i386/pc/startup.S: Likewise.
44583 * loader/i386/pc/chainloader.c: Likewise.
44584 * loader/i386/pc/linux.c: Likewise.
44585 * loader/i386/pc/multiboot.c: Likewise.
44586 * normal/cmdline.c: Likewise.
44587 * normal/command.c: Likewise.
44588 * normal/main.c: Likewise.
44589 * normal/menu.c: Likewise.
44590 * normal/i386/setjmp.S: Likewise.
44591 * term/i386/pc/console.c: Likewise.
44592 * term/i386/pc/vga.c: Likewise.
44593 * util/console.c: Likewise.
44594 * util/genmoddep.c: Likewise.
44595 * util/misc.c: Likewise.
44596 * util/pupa-emu.c: Likewise.
44597 * util/resolve.c: Likewise.
44598 * util/unifont2pff.rb: Likewise.
44599 * util/i386/pc/biosdisk.c: Likewise.
44600 * util/i386/pc/getroot.c: Likewise.
44601 * util/i386/pc/pupa-mkimage.c: Likewise.
44602 * util/i386/pc/pupa-setup.c: Likewise.
44603
e6eced71 446042004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44605
44606 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44607 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44608 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44609 reading and reset it after reading.
44610 (pupa_ext2_close): Return PUPA_ERR_NONE.
44611
44612 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44613 Correct value.
44614 (struct linux_kernel_header): Add kernel_version and
44615 initrd_addr_max.
44616 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44617 pupa_file_read succeeds.
44618 (pupa_rescue_cmd_initrd): Implement.
44619
5aded270 446202003-12-03 Marco Gerards <metgerards@student.han.nl>
44621
44622 * fs/ext2.c (pupa_ext2_label): New function.
44623 (pupa_ext2_fs): Added label.
44624 * fs/fat.c (pupa_fat_label): New function.
44625 (pupa_fat_fs): Added label.
44626 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44627
44628 * kern/misc.c (pupa_strndup): New function.
44629 * include/pupa/misc.h (pupa_strndup): New prototype.
44630
44631 * include/pupa/normal.h: Include <pupa/err.h>.
44632 (pupa_set_history): New prototype.
44633 (pupa_iterate_commands): New prototype.
44634 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44635 <pupa/disk.h>, <pupa/file.h>.
44636 (hist_size): New variable.
44637 (hist_lines): Likewise.
44638 (hist_end): Likewise.
44639 (hist_used): Likewise.
44640 (pupa_set_history): New function.
44641 (pupa_history_get): Likewise.
44642 (pupa_history_add): Likewise.
44643 (pupa_history_replace): Likewise.
44644 (pupa_tab_complete): Likewise.
44645 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44646 completion shows partitionnames while completing partitions, this
44647 feature was suggested by Jeff Bailey.
44648 * normal/command.c (pupa_iterate_commands): New function.
44649 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44650 (pupa_normal_init): Initialize history buffer.
44651 (PUPA_MOD_INIT): Likewise.
44652 (pupa_normal_fini): Free the history buffer.
44653 (PUPA_MOD_FINI): Likewise.
44654
44655 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44656 key.
44657
44658 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44659 * configure.ac [i386]: Check for regparam bug.
44660 (NESTED_FUNC_ATTR) [! i386]: Defined.
44661
1f7315a3 446622003-11-17 Marco Gerards <metgerards@student.han.nl>
44663
44664 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44665 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44666 (pupa_emu_SOURCES): New variable.
44667 (pupa_emu_LDFLAGS): Likewise.
44668 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44669 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44670 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44671 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44672 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44673 (pupa_jmp_buf): New typedef.
44674 (pupa_setjmp) [PUPA_UTIL]: New macro.
44675 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44676 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44677 (pupa_refresh): New prototype.
44678 * include/pupa/util/getroot.h: New file.
44679 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44680 it.
44681 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44682 (pupa_rescue_cmd_cat): Likewise.
44683 (pupa_rescue_cmd_ls): Likewise.
44684 (pupa_rescue_cmd_testload): Likewise.
44685 (pupa_rescue_cmd_lsmod): Likewise.
44686 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44687 * normal/menu.c (run_menu): Likewise.
44688 * kern/term.c (pupa_cls): Likewise.
44689 (pupa_refresh): New function.
44690 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44691 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44692 * util/console.c: New file.
f19dbdb7 44693
1f7315a3 44694 * util/i386/pc/getroot.c: New file.
44695 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44696 (pupa_putchar): New function.
44697 (pupa_refresh): Likewise.
44698 (xgetcwd): Function moved to ...
44699 (strip_extra_slashes): Likewise.
44700 (get_prefix): Likewise.
f19dbdb7 44701 * util/i386/pc/getroot.c: ... here.
1f7315a3 44702 (find_root_device): Function moved and renamed to...
44703 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44704 Changed all callers.
44705 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44706 and renamed to...
44707 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44708 Changed all callers.
44709 * util/misc.c (pupa_memalign): New function.
44710 (pupa_mm_init_region): Likewise.
44711 (pupa_register_exported_symbols): Likewise.
44712 (pupa_putchar): Function removed.
44713 * util/pupa-emu.c: New file.
44714
9a5c1ade 447152003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44716
44717 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44718 (_multiboot_mod_SOURCES): New variable.
44719 (_multiboot_mod_CFLAGS): Likewise.
44720 * loader/i386/pc/multiboot.c: New file.
44721 * include/pupa/i386/pc/multiboot.h: Likewise.
44722 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44723 (pupa_multiboot_real_boot): New function.
44724 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44725 (pupa_multiboot_real_boot): New prototype.
44726 (pupa_rescue_cmd_multiboot): Likewise
44727 (pupa_rescue_cmd_module): Likewise.
44728
44729 * kern/loader.c (pupa_loader_set): Continue when
44730 pupa_loader_unload_func() fails.
44731 (pupa_loader_unset): New function.
44732 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44733
44734 * kern/misc.c (pupa_stpcpy): New function.
44735 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44736
8e72a9c0 447372003-11-12 Marco Gerards <metgerards@student.han.nl>
44738
44739 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44740 for available extensions.
44741
44742 * include/pupa/i386/pc/time.h: New file.
44743 * kern/disk.c: Include <pupa/machine/time.h>.
44744 (PUPA_CACHE_TIMEOUT): New macro.
44745 (pupa_last_time): New variable.
44746 (pupa_disk_open): Flush the cache when there was a timeout.
44747 (pupa_disk_close): Reset the timer.
44748 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44749 pupa_currticks.
44750 * util/misc.c: Include <sys/times.h>
44751 (pupa_get_rtc): New function.
44752
c4adbd32 447532003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44754
44755 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44756 as blocks.
44757 (pupa_ext2_get_file_block): Use blocks member.
44758
44759 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44760 first block. Return -1 instead of pupa_errno on error.
44761
bfd30f06 447622003-10-27 Marco Gerards <metgerards@student.han.nl>
44763
44764 * README: In the pupa-mkimage example use _chain instead of chain
44765 and ext2 instead of fat.
44766 * TODO: Replace ext2fs with jfs as an example. Add an item for
44767 adding journal playback for ext2fs.
44768 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44769 (pkgdata_MODULES): Added ext2.mod.
44770 (ext2_mod_SOURCES): New variable.
44771 (ext2_mod_CFLAGS): Likewise.
44772 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44773 * include/pupa/misc.h (pupa_strncpy): New prototype.
44774 (pupa_strcat): Likewise.
44775 (pupa_strncmp): Likewise.
44776 * kern/misc.c (pupa_strcat): Enable function.
44777 (pupa_strncpy): New function.
44778 (pupa_strncmp): Likewise.
44779 * fs/ext2.c: New file.
f19dbdb7 44780
bfd30f06 44781 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44782 when the read failed before retrying.
44783 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44784 (_FILE_OFFSET_BITS): Likewise.
44785 * configure.ac: Added AC_SYS_LARGEFILE.
44786
98d15063 447872003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44788
44789 * genmk.rb (PModule#rule): Make sure to get only symbol names
44790 from the output of nm.
59cad637 44791 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44792
18d9c7cd 447932003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44794
44795 I forgot to check in these changes for a long time. This adds
44796 incomplete support for VGA console, and this is still very
44797 buggy. Also, a lot of consideration is required for I18N,
44798 UNICODE, and VGA font issues. Therefore, assume that this is
44799 such that "better than nothing".
f19dbdb7 44800
18d9c7cd 44801 * font/manager.c: New file.
44802 * include/pupa/font.h: Likewise.
44803 * include/pupa/i386/pc/vga.h: Likewise.
44804 * term/i386/pc/vga.c: Likewise.
44805 * util/unifont2pff.rb: Likewise.
44806
44807 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44808 (pkgdata_MODULES): Added vga.mod and font.mod.
44809 (vga_mod_SOURCES): New variables.
44810 (vga_mod_CFLAGS): Likewise.
44811 (font_mod_SOURCES): Likewise.
44812 (font_mod_CFLAGS): Likewise.
44813
44814 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44815
44816 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44817 (struct pupa_term): Added init and fini.
18d9c7cd 44818 Changed the argument of putchar to pupa_uint32_t.
44819
44820 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44821 (pupa_console_real_putchar): New prototype.
44822 (pupa_console_putchar): Removed.
44823 (pupa_console_checkkey): Exported.
44824 (pupa_console_getkey): Likewise.
44825
44826 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44827 characters.
44828
44829 * kern/term.c (pupa_term_set_current): Rewritten.
44830 (pupa_putchar): Likewise.
44831 (pupa_putcode): New function.
44832
44833 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44834 (pupa_console_real_putchar): ... this.
44835 (pupa_vga_set_mode): New function.
44836 (pupa_vga_get_font): Likewise.
44837
44838 * normal/command.c: Include pupa/term.h.
44839 (terminal_command): New function.
44840 (pupa_command_init): Register the command "terminal".
44841
44842 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44843 (DISP_UP): Likewise.
44844 (DISP_RIGHT): Likewise.
44845 (DISP_DOWN): Likewise.
44846 (DISP_HLINE): Likewise.
44847 (DISP_VLINE): Likewise.
44848 (DISP_UL): Likewise.
44849 (DISP_UR): Likewise.
44850 (DISP_LL): Likewise.
44851 (DISP_LR): Likewise.
44852
44853 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44854
977329f5 448552003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44856
44857 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44858 FIX. Reverse the path_list.
44859
44860 * include/pupa/normal.h: Export pupa_register_command and
44861 pupa_unregister_command.
44862
44863 * hello/hello.c (pupa_cmd_hello): New module.
44864 * conf/i386-pc.rmk: Added hello.mod.
44865
1f5ab428 448662003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44867
44868 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44869
1f5ab428 44870 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44871 (compress_kernel): New variable.
44872 (generate_image): Heavily modified to support compressing a
44873 large part of the core image.
44874
44875 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44876 leak.
44877 (pupa_util_load_image): New function.
44878
44879 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44880 (pupa_compressed_size): New variable.
44881 (codestart): Enable Gate A20 here.
44882 Decompress the compressed part of the core image.
44883 Rearrange the code to put functions and variables which are
44884 required for initialization in the non-compressed part.
44885 Include lzo1x.S.
44886
44887 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44888 here.
44889
44890 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44891
f19dbdb7 44892 * include/pupa/i386/pc/kernel.h
1f5ab428 44893 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44894 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44895 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44896 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44897 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44898
44899 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44900
44901 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44902 (Utility#rule): Likewise.
44903
44904 * configure.ac: Check if LZO is available.
44905
ce5bf700 449062003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44907
44908 * include/pupa/normal.h: New file.
44909 * include/pupa/setjmp.h: Likewise.
44910 * include/pupa/i386/setjmp.h: Likewise.
44911 * normal/cmdline.c: Likewise.
44912 * normal/command.c: Likewise.
44913 * normal/main.c: Likewise.
44914 * normal/menu.c: Likewise.
44915 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44916
ce5bf700 44917 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44918 (pupa_rescue_cmd_initrd): Likewise.
44919
44920 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44921 Likewise.
44922
44923 * kern/i386/pc/startup.S (translation_table): New variable.
44924 (translate_keycode): New function.
44925 (pupa_console_getkey): Call translate_keycode.
44926
44927 * kern/rescue.c (attempt_normal_mode): New function.
44928 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44929 it failed, print a message.
44930
44931 * kern/mm.c (pupa_real_malloc): Print more information when a
44932 free magic is broken.
44933 (pupa_free): If the first free header is not free actually, set
44934 it to P.
44935
44936 * kern/main.c (pupa_load_normal_mode): Just load the module
44937 "normal".
44938 (pupa_main): Don't print the message
44939 "Entering into rescue mode..." here.
44940
44941 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44942 Declared.
44943 (pupa_rescue_cmd_initrd): Likewise.
44944 (pupa_rescue_cmd_initrd): Likewise.
44945
44946 * include/pupa/symbol.h (FUNCTION): Specify the type.
44947 (VARIABLE): Likewise.
44948
44949 * include/pupa/err.h (pupa_err_t): Added
44950 PUPA_ERR_UNKNOWN_COMMAND.
44951
44952 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44953 (pupa_dl_get_prefix): Likewise.
44954
44955 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44956 Added _chain.mod and _linux.mod instead of chain.mod and
44957 linux.mod.
44958 (chain_mod_SOURCES): Renamed to ...
44959 (_chain_mod_SOURCES): ... this.
44960 (chain_mod_CFLAGS): Renamed to ...
44961 (_chain_mod_CFLAGS): ... this.
44962 (linux_mod_SOURCES): Renamed to ...
44963 (_linux_mod_SOURCES): ... this.
44964 (linux_mod_CFLAGS): Renamed to ...
44965 (_linux_mod_CFLAGS): ... this.
44966 (normal_mod_SOURCES): New variable.
44967 (normal_mod_CFLAGS): Likewise.
44968 (normal_mod_ASFLAGS): Likewise.
44969
449702003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44971
44972 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44973 possible.
44974
fe6b695a 44975 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44976 recursively.
44977 (pupa_dl_unref): Unrefer depending modules recursively.
44978 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44979 a module is unloaded before one depending on that module is
44980 unloaded.
44981 (pupa_dl_unload): Unload depending modules explicitly,
44982 if possible.
44983
c04da074 449842003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44985
44986 * include/pupa/i386/pc/linux.h: New file.
44987 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44988
c04da074 44989 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44990 Removed.
44991 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44992 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44993 of PUPA_CHAINLOADER_BOOT_SECTOR.
44994
44995 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44996 (pupa_linux_prot_size): New variable.
44997 (pupa_linux_tmp_addr): Likewise.
44998 (pupa_linux_real_addr): Likewise.
44999 (pupa_linux_boot_zimage): New function.
45000 (pupa_linux_boot_bzimage): Likewise.
45001
45002 * kern/i386/pc/init.c (struct mem_region): New structure.
45003 (MAX_REGIONS): New macro.
45004 (mem_regions): New variable.
45005 (num_regions): Likewise.
45006 (pupa_os_area_addr): Likewise.
45007 (pupa_os_area_size): Likewise.
45008 (pupa_lower_mem): Likewise.
45009 (pupa_upper_mem): Likewise.
45010 (add_mem_region): New function.
45011 (compact_mem_regions): Likewise.
45012 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45013 the size of the conventional memory and that of so-called upper
45014 memory (before the first memory hole).
45015 Instead of adding each found region to free memory, use
45016 add_mem_region and add them after removing overlaps.
45017 Also, add only 1/4 of the upper memory to free memory. The rest
45018 is used for loading OS images. Maybe this is ad hoc, but this
45019 makes it much easier to relocate OS images when booting.
45020
45021 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45022 (pupa_enter_rescue_mode): Don't register initrd and module.
45023
45024 * kern/mm.c: Include pupa/dl.h.
45025
45026 * kern/main.c: Include pupa/file.h and pupa/device.h.
45027
45028 * kern/loader.c (pupa_loader_load_module_func): Removed.
45029 (pupa_loader_load_module): Likewise.
45030
45031 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45032 ``.o''.
45033
45034 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45035 (pupa_linux_tmp_addr): Likewise.
45036 (pupa_linux_real_addr): Likewise.
45037 (pupa_linux_boot_zimage): Likewise.
45038 (pupa_linux_boot_bzimage): Likewise.
45039
45040 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45041 (pupa_upper_mem): Likewise.
45042 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45043 module is too dangerous.
45044
45045 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45046 (pupa_os_area_size): Likewise.
45047 (pupa_loader_set): Remove the first argument. Loader doesn't
45048 manage modules or initrd any longer.
45049 (pupa_loader_load_module): Removed.
45050
45051 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45052 (linux_mod_SOURCES): New variable.
45053 (linux_mod_CFLAGS): Likewise.
45054
a13f9237 450552003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45056
45057 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45058 the length of a blocklist correctly.
45059
45060 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45061 Use ioctl only if the OS file is a block device.
45062 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45063 not very useful for normal files.
45064
45065 * kern/main.c (pupa_set_root_dev): New function.
45066 (pupa_load_normal_mode): Likewise.
45067 (pupa_main): Call those above.
45068
45069 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45070 pupa_uint16_t.
45071
45072 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45073
a5ffe966 450742003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45075
45076 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45077 (setup): Configure the installed partition information and the
45078 dl prefix.
45079
45080 * loader/i386/pc/chainloader.c (my_mod): New variable.
45081 (pupa_chainloader_unload): New function.
45082 (pupa_rescue_cmd_chainloader): Refer itself.
45083 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45084
45085 * kern/i386/pc/startup.S (install_partition): Removed.
45086 (version_string): Likewise.
45087 (config_file): Likewise.
45088 (pupa_install_dos_part): New variable.
45089 (pupa_install_bsd_part): Likewise.
45090 (pupa_prefix): Likewise.
45091 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45092
45093 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45094 and pupa/misc.h.
45095 (make_install_device): New function.
45096 (pupa_machine_init): Set the dl prefix.
45097
45098 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45099 (buf): Renamed to ...
45100 (linebuf): ... this.
45101 (pupa_rescue_cmd_prefix): New function.
45102 (pupa_rescue_cmd_insmod): Likewise.
45103 (pupa_rescue_cmd_rmmod): Likewise.
45104 (pupa_rescue_cmd_lsmod): Likewise.
45105 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45106 rmmod and lsmod.
45107
45108 * kern/mm.c (pupa_memalign): If failed even after invalidating
45109 disk caches, unload unneeded modules and retry.
45110
45111 * kern/misc.c (pupa_memmove): New function.
45112 (pupa_memcpy): Removed.
45113 (pupa_strcpy): New function.
45114 (pupa_itoa): Made static.
45115
45116 * kern/dl.c (pupa_dl_iterate): New function.
45117 (pupa_dl_ref): Likewise.
45118 (pupa_dl_unref): Likewise.
45119 (pupa_dl_unload): Return if succeeded or not.
45120 (pupa_dl_unload_unneeded): New function.
45121 (pupa_dl_unload_all): Likewise.
45122 (pupa_dl_init): Renamed to ...
45123 (pupa_dl_set_prefix): ... this.
45124 (pupa_dl_get_prefix): New function.
45125
45126 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45127 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45128 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45129 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45130 (pupa_install_dos_part): Declared.
45131 (pupa_install_bsd_part): Likewise.
45132 (pupa_prefix): Likewise.
45133 (pupa_boot_drive): Likewise.
45134
45135 * include/pupa/types.h: Fix a typo.
45136
45137 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45138 pupa_memmove.
45139 (pupa_memmove): Declared.
45140 (pupa_strcpy): Likewise.
45141
45142 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45143 pupa_mod_init takes one argument, its own module.
45144 (pupa_dl_unload_unneeded): Declared.
45145 (pupa_dl_unload_all): Likewise.
45146 (pupa_dl_ref): Likewise.
45147 (pupa_dl_unref): Likewise.
45148 (pupa_dl_iterate): Likewise.
45149 (pupa_dl_init): Renamed to ...
45150 (pupa_dl_set_prefix): ... this.
45151 (pupa_dl_get_prefix): Declared.
45152
45153 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45154 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45155 unloaded.
45156 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45157 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45158
45159 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45160 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45161
012d7999 451622003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45163
45164 * util/i386/pc/pupa-setup.c (setup): Define the internal
45165 function find_first_partition_start at the top level, because GCC
45166 3.0.x cannot compile internal functions in deeper scopes
45167 correctly.
45168 (find_root_device): Use lstat instead of stat.
45169 Don't follow symbolic links.
45170 Fix the path-constructing code.
45171
45172 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45173 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45174 by a BLKGETSIZE ioctl first, because block devices don't fill
45175 the member st_mode of the structure stat on Linux.
45176 [__linux__] (linux_find_partition): Use a temporary buffer
45177 REAL_DEV for the working space. Copy it to DEV before returning.
45178 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45179 buffer cache consistent.
45180 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45181 strncmp. The previous value was merely wrong.
45182 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45183
45184 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45185 FAT size is 12. The previous value was merely wrong.
45186
45187 * kern/main.c (pupa_main): Don't split the starting message from
45188 newlines.
45189
45190 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45191 LF, because BIOS goes crazy about character attributes in this
45192 case.
45193
1cc73a62 451942003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45195
45196 * include/i386/pc/util/biosdisk.h: New file.
45197 * util/i386/pc/biosdisk.c: Likewise.
45198 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45199
1cc73a62 45200 * Makefile.in (INCLUDE_DISTFILES): Added
45201 include/pupa/i386/pc/util/biosdisk.h.
45202 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45203 directory util/i386/pc.
45204 (install-local): Added a rule for sbin_UTILITIES.
45205 (uninstall): Likewise.
45206
45207 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45208
45209 * util/misc.c (xrealloc): New function.
45210 (pupa_malloc): Likewise.
45211 (pupa_free): Likewise.
45212 (pupa_realloc): Likewise.
45213 (pupa_stop): Likewise.
45214 (pupa_putchar): Likewise.
45215
45216 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45217
45218 * include/pupa/util/misc.h (xrealloc): Declared.
45219
45220 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45221 macro.
45222 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45223 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45224
45225 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45226 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45227
45228 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45229 way should be implemented.
45230 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45231
45232 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45233 the size of NAME for safety.
45234 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45235 0x88.
45236
45237 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45238 (pupa_setup_SOURCES): Likewise.
45239
45240 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45241
08b70fe8 452422002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45243
45244 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45245 bunch of pushl's from pusha, because this destroys the return
45246 value.
45247
62ddcc8f 452482002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45249
45250 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45251 This means that any missing prototypes could be fatal. Also, you
45252 must take care when writing assembly code. See the comments at
45253 the beginning of startup.S, for more details.
f19dbdb7 45254
62ddcc8f 45255 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45256 compilation mechanism.
45257 (pupa_chainloader_real_boot): Likewise.
45258 (pupa_biosdisk_rw_int13_extensions): Likewise.
45259 (pupa_biosdisk_rw_standard): Likewise.
45260 (pupa_biosdisk_check_int13_extensions): Likewise.
45261 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45262 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45263 (pupa_get_memsize): Likewise.
45264 (pupa_get_mmap_entry): Likewise.
45265 (pupa_console_putchar): Likewise.
45266 (pupa_console_setcursor): Likewise.
45267 (pupa_getrtsecs): Use pushl instead of push.
45268
45269 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45270 memory instead of the stack for a mmap entry, because some
45271 BIOSes may ignore the maximum size and overflow.
45272
45273 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45274
45275 * genmk.rb (PModule#rule): Compile automatically generated
45276 sources with module-specific CFLAGS as well as other sources.
45277
9962ed99 452782002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45279
45280 * configure.ac: Check ld.
45281 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45282 respectively, before checking endianness and sizes.
45283
45284 * Makefile.in (LD): New variable.
f19dbdb7 45285
abdfc3c5 452862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45287
45288 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45289
6a161fa9 452902002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45291
45292 * Changelog: New file.
45293