]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
[grub2.git] / ChangeLog
CommitLineData
13c6353f
VS
12012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4 protective entry in any slot.
5 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6 if protective entry is found in any slot.
7
8 Protective entry in non-first slot make no sense but is a widespread
9 brain damage.
10
4cf6be1b
VS
112012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
14
937d1c44
VS
152012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
18 with old reiserfs.
19 (grub_reiserfs_open): Don't free root.
20
021d90ec
VS
212012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
24 after freeing for safety.
25
967b2b64
VS
262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
29 Reported by: Jordan Uggla.
30
34274d02
JU
312012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
32
967b2b64
VS
33 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
34 actual implementation. Specifically, clarify that the grub menu will
35 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
36 passed.
34274d02 37
dcaaae9d
BH
382012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
39
40 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
41 of r0.
42
7086ad52
VS
432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
44
45 Remove unjustified hard dependency of normal.mod on gfxterm.
46
47 * include/grub/term.h (grub_term_output): New member fullscreen.
48 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
49 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
50 (grub_gfxterm): Set .fullscreen.
51 * grub-core/normal/menu.c (menu_init): Use fullscreen.
52 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
53
37ed2c9b
VS
542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
57 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 58 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 59
a4469c88
VS
602012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
63
4e461486
VS
642012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
67 a bad FS.
68
aa78f5c4
VS
692012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
72 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
73
197626b5
VS
742012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
77 (grub_jfs_mount): Fill caseins.
78 (grub_jfs_find_file): Respect caseins.
79
8ad3f28c
VS
802012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
83 through UTF-16.
84
0c6c324e
VS
852012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
88 New argument origpath. All users updated.
89
c6666ba6
VS
902012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
93 (read_attr): Ensure that we read start of possibly compressed block.
94
e28e5fe5
VS
952012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
98 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
99 All users updated.
100
5fc23ab2
VS
1012012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
104 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
105 (dejavu.pf2): Replace with ...
106 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
107 this.
108
79dbc21c
VS
1092012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * util/grub.d/20_linux_xen.in: Add missing line.
112
d2fcfb0c
VS
1132012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
116 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
117 (grub_utf16_to_utf8): Likewise.
118
5560e9d6
VS
1192012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
122 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
123 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
124 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
126 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
127
1282012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
129
130 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
131 a bad FS.
132
5560e9d6 1332012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
134
135 * grub-core/fs/udf.c (read_string): Bail out on size=0.
136 (grub_udf_read_symlink): Handle read_string failure.
137
5eae3175
VS
1382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
141 comment.
142
c1ad82db
VS
1432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Fix handling of UDF symlinks.
146
147 * grub-core/fs/udf.c (read_string): New argument outbuf.
148 All users updated.
149 (grub_ufs_read_symlink): Rename to ...
150 (grub_udf_read_symlink): ... this. All users updated.
151 Handle symlinks with more than one component.
152
33eca6e0
VS
1532012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
156 symlinks. Replace leading colon with a slash.
157
57f4a70b
VS
1582012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
161 filename.
162
38c8ee20
VS
1632012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
166 match in inner node.
167
2e57f28f
VS
1682012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
171 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
172 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
173 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
174 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
175 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
176 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
177 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
178 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
179
fe8c2f11
VS
1802012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
181
182 Use grub-probe and not cmp to check that disk is empty.
183
184 * util/grub-install.in: Use grub-probe for zero-check.
185 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
186 (probe): Handle PRINT_ZERO_CHECK.
187 (argp_parser): Handle -t zero_check.
188
1892012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
190
191 Flush block cache on adding disk to device map.
192
193 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
194 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
195 adding.
196 (read_device_map): Likewise.
197 (open_device): Flush on opening.
198
690434e8
VS
1992012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
202 (handle_symlink): Fix off-by-one error.
203 Canonicalize the target.
204 (grub_cpio_dir): Canonicalize the name.
205 Fix memory leak.
206 Set directory.
207 (grub_cpio_open): Canonicalize the name.
208
742d2be6
VS
2092012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
212 handling.
213
3244fe96
VS
2142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
217 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
218
8aeb1837
VS
2192012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
222 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 223 All users updated.
8aeb1837 224
9133fd05
VS
2252012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
228 counterpart.
229
6d521c5b
VS
2302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Fix UFS1 big file support.
233
234 * grub-core/fs/ufs.c (INODE): Removed.
235 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
236 64-bit.
237 (INODE_MODE): Simplify.
238 (grub_ufs_inode): Use uint64_t for size and not int64_t.
239 (grub_ufs_lookup_symlink): Don't use INODE.
240
21b82e17
VS
2412012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
242
243 Fix minixfs with non-power-of-two blocks since it's supported by minix.
244
245 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
246 (grub_minix_data): Replace log_block_size with block_size.
247 (grub_minix_read_file): Use block_size but avoid 64-bit division.
248 (grub_minix_mount): Fill block_size.
249
2502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
251
252 * configure.ac: Bump to beta5.
253
f417ed04
VS
2542012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Fix wrapped HFS+ handling.
257
258 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
259 blocks_start. All users updated.
260 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
261 wrapping offset.
262 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
263
607d282b
VS
2642012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Fix long symlinks on reiserfs.
267
268 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
269 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
270 (grub_reiserfs_iterate_dir): Save size for non-directories.
271 (grub_reiserfs_open): Don't reread stat block as we already know the
272 size.
273 (grub_reiserfs_read): Split into...
274 (grub_reiserfs_read_real): ... and ...
275 (grub_reiserfs_read): ...this.
276
ae16024d
VS
2772012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
278
279 Fix non-indexed JFS.
280
281 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
282 (grub_jfs_data): New field namecomponentlen.
283 (grub_jfs_mount): Fill namecomponentlen.
284 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
285
eea1e26e
VS
2862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
289 * tests/grub_script_echo1.in: Add tests.
290
df760f77
VS
2912012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * util/grub-install.in: Ignore empty devicetree directory.
294
5efb817d
B
2952012-05-08 Bean <bean123ch@gmail.com>
296
297 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
298 All users updated.
299 (free_rsm): Free header as well.
300 (free_old_fragments): Fix memory leak.
301 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
302 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
303 (destroy_pq): Likewise.
304 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
305
668ea6d2
VS
3062012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
309 resulting hash as a precaution.
310
1739b1fe
VS
3112012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
314 '_' in variable names.
315 * grub-core/net/net.c (grub_net_network_level_interface_register):
316 Likewise.
317
6ae485aa
VS
3182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
319
320 Fix AFFS with non-512B blocks.
321
322 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
323 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
324 (grub_affs_data): Replace blocksize with log_blocksize.
325 (grub_affs_read_block): Fix non-512B blocks.
326 (grub_affs_read_symlink): Likewise.
327 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
328 (grub_affs_read): Fix non-512B blocks.
329 (grub_affs_label): Likewise.
330 (grub_affs_mtime): Likewise.
331 (grub_affs_mount): Fix block detection routine.
332
d20fab84
VS
3332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
334
335 Add filesystem mtime to AFFS.
336
337 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
338 (aftime2ctime): New function.
339 (grub_affs_dir): Use aftime2ctime.
340 (grub_affs_label): Fix return value.
341 (grub_affs_mtime): New function.
342 (grub_affs_fs): Add mtime.
343
e87b10f5
VS
3442012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
347 UTF-8.
348
7dceec9b
VS
3492012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
352 UTF-8.
353
2f48221f
VS
3542012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
357
dacd85cf
VS
3582012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
361 flags.
362 (FLAGS_CASE_SENSITIVE): New enum value.
363 (cache_entry): New struct.
364 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
365 cache_size and cache.
366 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
367 Add log_blocksize and fshelp_flags.
368 (grub_sfs_read_extent): Handle non-512 blocks.
369 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
370 (grub_sfs_read_file): Handle non-512 blocks.
371 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
372 fshelp_flags.
373 (grub_sfs_read_symlink): Handle non-512 blocks.
374 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
375 (grub_sfs_dir): Free cache.
376 (grub_sfs_close): Likewise.
377
24e9a854
VS
3782012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
381 filesystems.
382
62ace64d
VS
3832012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
386
83b2e89c
VS
3872012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
390
75ccaea3
VS
3912012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
394 (grub_sfs_read_extent): Likewise.
395 (grub_sfs_read_block): Likewise.
396 (grub_sfs_mount): Likewise.
397 (grub_sfs_iterate_dir): Likewise.
398 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
399 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
400
1b8463f2
VS
4012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Fix errors on compressed NTFS with 512B clusters.
404
405 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
406 types.
407 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
408 not 0.
409 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
410 Relax check for inline extents.
411 (ntfscomp): Return correct -1 on error and not 0.
412
4f8e368f
VS
4132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/grub-install.in: Fix handling of prefix containing spaces.
416
6f5d5ee8
VS
4172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
420 (grub_squash_read_data): Fix offset byte-swapping.
421
ce41ab7a
VS
4222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
425 per common usage and preffered in several parts of code.
426 (grub_memcmp): Likewise.
427 (grub_strncmp): Likewise.
428 * include/grub/misc.h (grub_strcasecmp): Likewise.
429 (grub_strncasecmp): Likewise.
430 * Makefile.util.def (cmp_test): New test.
431 (grub_script_strcmp): Likewise.
432 * tests/cmp_unit_test.c: New file.
433 * tests/grub_script_strcmp.in: Likewise.
434 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
435
49717bf4
VS
4362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * include/grub/pci.h: Move enums into no-asm part.
439
0a308f64
VS
4402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
443
1796965f
ST
4442012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
445
446 * util/getroot.c (find_hurd_root_device): Try to make error message
447 and comments to translators clearer.
448
4e9b2819
VS
4492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
452
076aeb50
VS
4532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
456 btrfs.
457
19424d94
VS
4582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * docs/grub.cfg: Update.
461
ebb73076
VS
4622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * docs/grub.texi (PXE): Remove not present variables.
465
9a1b669c
VS
4662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/net/net.c (defserver_set_env): New function.
469 (defserver_get_env): Likewise.
470 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
471
d38bf7d3
VS
4722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
475 entries.
476
4772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
478
479 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
480 * grub-core/kern/emu/hostdisk.c: Likewise.
481
e5e4ca48
ST
4822012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
483
484 Handle hurd userspace partitions.
485
486 * util/getroot.c (find_hurd_root_device): New function.
487 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
488
56bb5dd5
VS
4892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
492 names.
493 Reported by: Bastian Blank.
494
9e8bc27a
VS
4952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
498 crossing page boundary.
499
aa01499d
VS
5002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Fix B-tree search in BFS, especially in presence of non-ASCII
503 characters.
504
505 * grub-core/fs/bfs.c (bfs_strcmp): New function.
506 (find_in_b_tree): Use standard bsearch + btree algorithm.
507
57006035
VS
5082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
511 and so on.
512
9d34bb85
MG
5132012-05-03 Matthew Garrett <mjg@redhat.com>
5142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
515
516 Suspend broadcom cards in order to stop their DMA.
517
518 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
519 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
520 (pci): Don't build on x86 EFI.
521 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
522 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
523 New function.
524 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
525 stop_broadcom if running on EFI.
526 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
527 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
528 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
529 (grub_pci_find_capability): New proto.
530
01aab997
VS
5312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * docs/grub.texi: Remove dot from the extension as it apparently
534 doesn't work with some makeinfo versions.
535
fbd8dca6
VS
5362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
539 with GRUB expectance.
540
dab797f4
VS
5412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
544
1516bfb4
VS
5452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
548 zero after directory block since last entry may be not 0-terminated if
549 it ends on block boundary. Use continue instead of if spanning whole
550 loop.
551
a3a0eace
VS
5522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
553
554 Support 4K sectors UDF inline files.
555
556 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
557 (grub_udf_extended_file_entry): Likewise.
558 (grub_fshelp_node): Name the anonymous union. Put block at the end.
559 All users updated.
560 (get_fshelp_size): New function.
561 (grub_udf_read_icb): Read whole block.
562 (grub_udf_iterate_dir): Likewise.
563 (grub_udf_dir): Likewise.
564 (grub_udf_open): Likewise.
565
c82f16c1
VS
5662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
569
59fd2aac
VS
5702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
573 inline symlinks in addition to workaround.
574
3b4afb4d
VS
5752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
578
f45c794a
VS
5792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
582
f25cecbd
VS
5832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
586
bb9a34e8
VS
5872012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
588
589 Fix reiserfs big seek times.
590
591 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
592 exact. All users updated.
593 (grub_reiserfs_read): Use nearest btree search for seeking.
594 Fix return value on error.
595
dc478aea
VS
5962012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
599 entries.
600 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
601 * docs/grub.texi: Update menuentry description.
602
8db10f47
VS
6032012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
606 crash when embedding onto filesystem.
607
bcb288ed
VS
6082012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
611 name.
612
a626fdd7
VS
6132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
616
b2f68477
VS
6172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
620 commit.
621
ba15b2af
B
6222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6232012-05-01 Bean <bean123ch@gmail.com>
624
625 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
626
a188012e
VS
6272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
630 Special behaviour for len = 0 to read whole file isn't used anywhere and
631 can cause buffer ovewrflows in several places.
632
f0a53ed2
VS
6332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
636
5ed554f0
VS
6372012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Handle RAIDZ on non-512B sectors.
640
641 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
642 max_children_ashift.
643 (fill_vdev_info_real): Fill max_children_ashift.
644 (read_device): Use max_children_ashift.
645
ddc58357
VS
6462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
649
e3282399
VS
6502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
653 disk names.
654 * docs/grub.texi: Update device.map parts.
655
ee618bd4
VS
6562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
657
658 Don't scan into non-diskfilter devices having diskfilter names.
659
660 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
661 (scan_disk): New argument accept_diskfilter. Fix recursion depth
662 handling.
663 (scan_disk_hook): New function.
664
bdf88864
B
6652012-04-29 Bean <bean123ch@gmail.com>
666
667 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
668 allocation.
669
32745f51
MK
6702012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
671
672 * configure.ac: Detect starfield theme font path
673 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
674
bc95c8c0
VS
6752012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
678 geometry on serial consoles.
679
147fbcab
VS
6802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
683 because of network consoles.
684
0f42c889
VS
6852012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
688 handling.
689
4a3594c9
VS
6902012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
693 falls on Q syndrom.
694
5cb53879
VS
6952012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
698 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
699
b282dfe5
VS
7002012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
703 Allocate at lest 8192 for temporary buffer as required for lzo.
704
daa59f47
VS
7052012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
708 to cluster_bits, since it's already added in.
709 (grub_fat_read_data): Likewise.
710
986748ce
VS
7112012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
714 as long as cluster size is multiple of 512 bytes.
715
a20f6ad0
VS
7162012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * util/grub-mkrescue.in: Fix locale directory.
719
385f9abb
VS
7202012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/kern/emu/hostdisk.c (map): Make static.
723
1c557d30
B
7242012-04-23 Bean <bean123ch@gmail.com>
725
726 * util/grub-fstest.c (fstest): Add missing break.
727
524b5d3a
ST
7282012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
729
730 Fix hurd build.
731
732 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
733 not define nr variable.
fe4824e9 734 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
735 find_root_devices_from_poolname, find_root_devices_from_libzfs,
736 grub_find_device): Do not define.
524b5d3a 737
9a06490c
VS
7382012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Fix kfreebsd compile and behaviour.
741
742 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
743 format-security.
744 * util/getroot.c: Fix wait.h include.
745 (grub_guess_root_devices): Error if grub_find_device fails.
746 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
747 (grub_util_get_dev_abstraction): Likewise.
748 (grub_util_pull_device): Likewise.
749 (grub_util_get_grub_dev): Likewise.
750 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
751
48143d96
VS
7522012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
753
754 Fix and unify wholedisk detection.
755
756 * util/getroot.c (convert_system_partition_to_system_disk): New argument
757 is_part. All users updated.
758 (device_is_wholedisk): Removed.
759 (grub_util_biosdisk_get_grub_dev): Use is_part.
760
ebbd24f3
VS
7612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
764 mode.
765
56f7aa1e
VS
7662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * configure.ac: Bump to beta4.
769
9c815e01
VS
7702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
773 --fs-uuid --set UUID syntax.
774
59e2651a
VS
7752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
778 disunification.
779
54e03cfc
VS
7802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
783
81092a75
MK
7842012-04-18 Mads Kiilerich <mads@kiilerich.com>
785
786 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
787
f8315e14
MG
7882012-04-18 Mike Gilbert <floppym@gentoo.org>
789
790 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
791
1501ac21
B
7922012-04-18 Bean <bean123ch@gmail.com>
793
794 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
795 place.
796
cb7f944e
VS
7972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
800 users updated.
801 (grub_util_biosdisk_read): Handle Linux partitions not exactly
802 corresponding to GRUB partitions.
803 (grub_util_biosdisk_write): Likewise.
804
b72d44a1
VS
8052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Scan mdraid before LVM.
808
809 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
810 (grub_diskfilter_register_front): ... this.
811 (grub_diskfilter_register_back): New function.
812 All users of grub_diskfilter_register updated.
813
33d918b8
VS
8142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * util/grub-install.in: Fix an automatic target detection bug.
817
c6ca973d
VS
8182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * util/grub-install.in: New option --efi-directory.
821
b41be562
VS
8222012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
825 boot services if we have no other choice.
826
8272012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * util/grub-mknetdir.in: Rename --override-directory to --directory and
830 document it.
831 * tests/util/grub-shell.in: Update to --directory.
832
e0595a73
VS
8332012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
836
4ed80652
VS
8372012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
840 (grub_minix_read_file): Likewise.
841 (grub_minix_read_inode): Likewise.
842 (grub_minix_find_file): Likewise.
843 (grub_minix_dir): Likewise.
844
56008077
VS
8452012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * util/grub-setup.c (setup): Fix partition handling and blocklist
848 check.
849
ee520775
VS
8502012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
853 redundant buggy overlap check.
854
16fc9293
VS
8552012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
858 and grub-mknetdir.
859
9bab65c4
VS
8602012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
863 kh.loadflags on pre-2.00 kernels.
864
3c491b47
VS
8652012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Terminate UNDI and PXE before launching the payload to avoid problems
868 with DMA.
869
870 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
871 (grub_loader_flags): ... this. All users updated.
872 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
873 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
874 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
875 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
876 function.
877 (grub_pxe_restore): Likewise.
878 (fini_hnd): New var.
879 (GRUB_MOD_INIT): Register shutdown hook.
880 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
881 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
882 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
883 (grub_loader_set): Rename second argument to flags.
884
851ffada
VS
8852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
888 written bytes.
889 (grub_get_num_of_utf8_bytes): New function.
890 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
891 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
892 executing it.
893 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
894 (grub_ucs4_to_utf8): Change return type.
895
491c57a8
VS
8962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
899 warning.
851ffada
VS
900 * grub-core/fs/bfs.c (hop_level): Likewise.
901 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 902
756773df
VS
9032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/lib/adler32.c: Recode due to license unclearness.
906
fd556a96
VS
9072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
910 (test_header): Likewise.
911
9f9d3f69
VS
9122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Fix --help formatting.
915
916 * util/grub-mkconfig_lib.in (print_option_help): New function.
917 (grub_fmt): Likewise.
918 * util/grub-install.in: Use print_option_help and grub_fmt.
919 * util/grub-kbdcomp.in: Likewise.
920 * util/grub-mkconfig.in: Likewise.
921 * util/grub-mknetdir.in: Likewise.
922 * util/grub-mkrescue.in: Likewise.
923 * util/grub-mkstandalone.in: Likewise.
924 * util/grub-reboot.in: Likewise.
925 * util/grub-set-default.in: Likewise.
926 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
927
561ec77e
VS
9282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * linguas.sh: Remove autogenerated *.po.
931
7ec2b021
VS
9322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * po/README: Move language fetcing to ...
935 * linguas.sh: ... here.
936 * po/README: Point to linguas.sh.
937
a88f3270
VS
9382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * po/README: Exclude ko.po due to disclaimer problems.
941
d61357ce
VS
9422012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
945 len = 0.
946 (grub_gettext_translate_real): Handle 0th string.
947 (grub_gettext_translate): Ensure that "" isn't translated.
948
505e41dc
VS
9492012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
952 TRANSLATORS comment.
953 (grub_diskfilter_print_partmap): Propagate changing of error into
954 warning.
955
e44092db
VS
9562012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
959 to uint64_t to prevent overflow.
960 (grub_diskfilter_lv): Increase start_extent and extent_count
961 to uint64_t to prevent overflow.
962
9b83956a
VS
9632012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * configure.ac: Increase version.
966
da0d5b3f
VS
9672012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
970
971 * po/Rules-translit: New file.
972 * po/arabic.sed: Likewise.
973 * po/cyrillic.sed: Likewise.
974 * po/greek.sed: Likewise.
975 * po/hebrew.sed: Likewise.
976 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
977 * po/Makefile.in.in: Add extra_dist4.
978
ac66b453
VS
9792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Handle big-endian minixfs (fixes minixfs tests on bigendian).
982
983 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
984 modify names. Introduce MODE_BIGENDIAN.
985 * grub-core/fs/minix_be.c: New file.
986 * grub-core/fs/minix2_be.c: Likewise
987 * grub-core/fs/minix3_be.c: Likewise.
988 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
989 minix3_be.
990 * grub-core/Makefile.core.def (minix_be): New module.
991 (minix2_be): Likewise.
992 (minix3_be): Likewise.
993
9942012-04-01 Felix <email@hamburg.de>
995
996 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
997 (devs): Add MBP 2011.
998
0a2d5a82
VS
9992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1002
d1625889
VS
10032012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/normal/cmdline.c (print_completion): New field
1006 prompt_len.
1007 (grub_cmdline_get): Handle width properly.
1008
6d36a236
VS
10092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1012
9576977e
VS
10132012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1016 after 29th of February.
9576977e 1017
d73ff15d
VS
10182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Fix exfat endianness handling.
1021
1022 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1023 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1024 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1025 Byte-swap utf16 when necessary.
1026 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1027
bbb39a45
AB
10282012-03-31 Anton Blanchard <anton@samba.org>
10292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Fix btrfs endianness handling.
1032
1033 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1034 (lower_bound): Make root uint64_t. Use root in le.
1035 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1036 (find_path): Fix template key init.
1037 (grub_btrfs_dir): Fix mtime byteswap.
1038 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1039
354e0af7
VS
10402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1043 recursion_depth. Break infinite resursions. All users updated.
1044
4e75f21c
VS
10452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1048 after free.
1049 Reported by: Peter Jones.
1050
25581802
AB
10512012-03-31 Anton Blanchard <anton@samba.org>
1052
1053 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1054 8 bit values.
1055
08fbf92e
VS
10562012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * util/grub-install.in: Fix nvram call for PreP.
1059
5d1182a6
VS
10602012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1063 the error when some elements are missing into a warning.
1064
3f8cdd90
VS
10652012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1068
51006716
CW
10692012-03-28 Colin Watson <cjwatson@ubuntu.com>
1070
1071 * docs/grub.texi (Invoking grub-probe): New section.
1072 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1073
e1bd676b
VS
10742012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 Fix tab and wide character handling in editor and menu.
1077
1078 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1079 agglomerate control characters with combining marks.
1080 (bidi_line_wrap): Allow break on tab.
1081 (grub_unicode_get_comb_start): New function.
1082 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1083 and tab correctly.
1084 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1085 with a space.
1086 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1087 fixed_tab_size. All users updated.
1088 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1089 (grub_term_getcharwidth): Handle \t.
1090 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1091 and copy.
1092
22e6a774
VS
10932012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 Handle big-endian mdraid.
1096
1097 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1098 * grub-core/Makefile.core.def (mdraid09_be): New module.
1099 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1100 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1101 * grub-core/disk/mdraid_linux_be.c: New file.
1102
3c0eae66
VS
11032012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1106
b6cf74c9
VS
11072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1110 missing quotes which caused confusion among translators.
1111
83c93b9c
VS
11122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-mkconfig_lib.in: Fix typo.
1115
ac6fd218
VS
11162012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1119 spaces.
1120 * tests/grub_script_leading_whitespace.in: New file.
1121 * Makefile.util.def (grub_script_leading_whitespace): New test.
1122
ba287dd8
VS
11232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1126 to work.
1127
d2d58d0a
VS
11282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1131 starts with control character.
1132
0382d9bb
VS
11332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1136 overflow.
1137 (grub_gdb_outbuf): Likewise.
1138
d83ff9f9
VS
11392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1142 zero terminator. Fixes a crash.
1143
2282da4a
VS
11442012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1147 beyond 4 GiB.
1148 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1149 images independently of preffered adderss field.
1150
0ae4f0bd
VS
11512012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1154 * grub-core/commands/regexp.c: Likewise.
1155 * grub-core/loader/i386/linux.c: Likewise.
1156 * grub-core/partmap/msdos.c: Likewise.
1157 * grub-core/script/execute.c: Likewise.
1158 * grub-core/term/gfxterm.c: Likewise.
1159
546fbe9b
VS
11602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 Add variable parsing in $"..." and fix several mismatches with bash.
1163
1164 * Makefile.util.def (grub_script_gettext): New test.
1165 * grub-core/script/execute.c (parse_string): New function.
1166 (gettext_append): Likewise.
1167 (grub_script_arglist_to_argv): Use gettext_append.
1168 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1169 * tests/grub_script_gettext.in: New file.
1170
9fdb2d7b
VS
11712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 Fix handling of leading spaces in scripts.
1174
1175 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1176 spaces.
1177 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1178 other than skipping \r. All users updated.
1179 * tests/grub_script_echo1.in: Add space-related tests.
1180 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1181
1a1ac4f6
VS
11822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1185
b63d89b6
VS
11862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * configure.ac: Bump up the version to beta2.
1189
17f38c0f
VS
11902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Fix gettext reload bugs (e.g. inability to disable gettext
1193 once enabled).
1194
1195 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1196 main_context and secondary_context. All functions updated.
1197 (grub_gettext_translate): Rename to ...
1198 (grub_gettext_translate_real): ... this. Return NULL on failed
1199 translate.
1200 (grub_gettext_translate): Handle secondary context.
1201 (grub_gettext_delete_list): Close file and zero-out the context.
1202 (grub_mofile_open): Don't call grub_gettext_delete_list.
1203 Don't close file.
1204 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1205 if locale="" to avoid pointless error message.
1206 (grub_gettext_env_write_lang): Update lang even if load fails.
1207 Handle secondary context.
1208 (grub_gettext_reread_prefix): New function.
1209 (read_main): Likewise.
1210 (read_secondary): Likewise.
1211 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1212 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1213 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1214 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1215
8e56f870
VS
12162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * configure.ac: Decrease warning level to avoid spurious warnings and
1219 to be able to compile with GCC 4.2.
1220 * Makefile.util.def: Remove -Wno-error=logical-op.
1221
82f6d455
WB
12222012-03-10 William Bittner <william.bittner@gmail.com>
1223
1224 * util/import_unicode.py: Add missing brackets around string for
1225 python 3 support.
1226
1ecd61a4
VS
12272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 Fix efi chainloader on network root.
1230
1231 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1232 network devices.
1233 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1234 New function.
1235
14361ee8
VS
12362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1239 unused show_text member.
1240 * docs/grub.texi: Document "text" property.
1241
922aabf3
VS
12422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1245 in dprintf.
1246
ec316771
VS
12472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Fix IMSM handling on Fedora.
1250
1251 * util/getroot.c (grub_util_is_imsm): New function.
1252 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1253
0f021838
VS
12542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * Makefile.am: Strip gold section.
1257 * conf/Makefile.common: Likewise.
1258 * gentpl.py: Likewise.
1259 * grub-core/Makefile.core.def: Likewise.
1260 * grub-core/genmod.sh.in: Likewise.
1261
1039c8eb
VS
12622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1265 * util/grub.d/20_linux_xen.in: Likewise.
1266 Based on Debian patch.
1267
6dd412cd
VS
12682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * util/grub.d/10_linux.in: Fix syntax error resulting in
1271 Richard Laager's patch.
1272 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1273
3fd8bae5
VS
12742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1277 dependencies.
1278
7eea1671
RL
12792012-03-10 Richard Laager <rlaager@wiktel.com>
1280
1281 * util/grub.d/10_linux.in: Fix ZFS root passing.
1282
e8e0566b
VS
12832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1286 * grub-core/commands/xnu_uuid.c: Likewise.
1287 * grub-core/loader/efi/appleloader.c: Likewise.
1288 * grub-core/script/execute.c: Likewise.
1289 * grub-core/script/main.c: Likewise.
1290 * util/grub-mkfont.c: Likewise.
1291
1acc5b1f
VS
12922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * util/grub-mkfont.c (options): Use more appropriate "select" that
1295 "set" for face index.
1296
35d70620
VS
12972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * util/grub-editenv.c (options): Gettextize command summaries.
1300
c9eb96b5
VS
13012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1304 "out of memory" error messagge.
1305
1f493136
VS
13062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1309 of diskfilter for diskfilter on diskfilter support.
1310
6d790129
VS
13112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1314
005f46c9
VS
13152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1318 themes/starfield.
1319
c8f778a0
VS
13202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1323
de1e64eb
VS
13242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1327
c6d54211
VS
13282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1331 of error message.
1332
dd390777
VS
13332012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1336
5fd1c522
VS
13372012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1340 message.
c6d54211 1341 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1342
fae01f6c
VS
13432012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1346 Gettextize.
1347 * util/grub-mount.c (options): Likewise.
1348
292fdaff
VS
13492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1352 gettextize.
1353 * grub-core/commands/search_wrap.c (options): Likewise.
1354
ecdbae77
VS
13552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1358
52bfedfa
VS
13592012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1362 size calculation.
1363 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1364 none is known.
1365
55b20e58
VS
13662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1369 "temporary" since it's used in identifier and is limited in space.
1370
fda9d101
VS
13712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * po/POTFILES.in: Regenerate. Include *.h since they contain
1374 translatable strings as well.
1375
6a0295e2
VS
13762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1379 byte-swap on big-endian.
1380 Reported by: Lennart Sorensen
1381
807fb77c
VS
13822012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1385 (allocate_pages): Improve dprintf.
1386 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1387 code32_start. Fill code32_start and kernel_alignment in params.
1388 (grub_cmd_initrd): Use prot_init_space.
1389
61ac50ba
VS
13902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1393
abdd26dd
VS
13942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * util/grub-install.in: Add missing dot at the end of sentence.
1397
6e69da9c
VS
13982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1401 * grub-core/commands/videotest.c: Likewise.
1402 * grub-core/loader/i386/linux.c: Likewise.
1403
4a929343
VS
14042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1407 sentence.
1408 Reported by: Milo Casagrande.
1409
bb51c6c6
VS
14102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1413 * grub-core/commands/gptsync.c: Likewise.
1414 * grub-core/commands/hashsum.c: Likewise.
1415 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1416 * grub-core/commands/legacycfg.c: Likewise.
1417 * grub-core/io/gzio.c: Likewise.
1418 * grub-core/net/net.c: Likewise.
1419 * grub-core/term/gfxterm.c: Likewise.
1420 * grub-core/term/terminfo.c: Likewise.
1421 * grub-core/tests/test_blockarg.c: Likewise.
1422 * grub-core/video/video.c: Likewise.
1423 * util/grub-install.in: Likewise.
1424 * util/grub-mkfont.c: Likewise.
1425
b2b149cb
VS
14262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1429
c7c080ad
VS
14302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1433 Reported by: David Prévot.
c7c080ad 1434
f2e243c0
VS
14352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1438 description.
1439
09963c76
VS
14402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * util/grub-script-check.c (main): Fix a syntax error message which was
1443 unclear.
1444
a50514a8
VS
14452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1448
4650daec
VS
14492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1452 messages.
1453
14542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1455
1456 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1457 without argument.
1458 * util/grub-mount.c (options): Likewise.
1459
bbc5a342
VS
14602012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1463
ef292a87
VS
14642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/net/http.c: Add TRANSLATORS comments.
1467 * grub-core/normal/cmdline.c: Likewise.
1468 * grub-core/normal/misc.c: Likewise.
1469 * grub-core/partmap/msdos.c: Likewise.
1470 * grub-core/parttool/msdospart.c: Likewise.
1471 * grub-core/script/execute.c: Likewise.
1472 * grub-core/script/main.c: Likewise.
1473 * grub-core/term/terminfo.c: Likewise.
1474 * grub-core/video/bitmap.c: Likewise.
1475 * util/grub-install.in: Likewise.
1476 * util/grub-mkimage.c: Likewise.
1477 * util/grub-mklayout.c: Likewise.
1478 * util/grub-setup.c: Likewise.
1479
0fc19bd0
VS
14802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1483 with similar messages in grub-fstest.
1484
d95862ef
VS
14852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * util/grub-install.in: Unify "option requires an argument" message
1488 with similar messages in other files.
1489 * util/grub-mkconfig.in: Likewise.
1490
b7308f90
VS
14912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * util/grub-set-default.in: Replace printf with gettext_printf (the
1494 string in in question is already translated from grub-reboot)
1495
559dc587
VS
14962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * configure.ac: Bump up the version to beta1.
1499
1a11761f
VS
15002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1503 case when min_align = 0.
1504
24539abd
VS
15052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1508 and fix a case when line_start overflows.
1509
32bd735b
VS
15102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * util/grub-reboot.in (usage): Mention id posibility.
1513 * util/grub-set-default.in (usage): Likewise.
1514
1a2fd1e6
VS
15152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1518 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1519 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1520 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1521 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1522 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1523 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1524
90eeab76
VS
15252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/commands/menuentry.c (options): Remove
1528 GRUB_ARG_OPTION_REPEATABLE.
1529 Reported by: Andreas Vogel
1530
5ad1be82
AV
15312012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1532
1533 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1534
cb055286
HE
15352012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1536
1537 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1538 error.
1539
93b1cd79
VS
15402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Use sort -V by the idea of Georgi Georgiev.
1543
1544 * util/grub-mkconfig_lib.in (version_sort): New function.
1545 (version_test_numeric): Use version_sort.
1546
0cdc126c
VS
15472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Use submenus in grub-mkconfig.
1550
1551 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1552 * util/grub-mkconfig_lib.in (grub_quote): New function.
1553 (gettext_printf): Use gettext and not gettext_quoted to fix several
1554 messages.
1555 * util/grub.d/10_hurd.in: Use submenus.
1556 * util/grub.d/10_kfreebsd.in: Likewise.
1557 * util/grub.d/10_linux.in: Likewise.
1558 * util/grub.d/10_netbsd.in: Likewise.
1559 * util/grub.d/20_linux_xen.in: Likewise.
1560 * util/grub.d/30_os-prober.in: Likewise.
1561 * util/grub.d/10_illumos.in: Add missing quoting.
1562 * util/grub.d/10_windows.in: Likewise.
1563
d9bef9bc
VS
15642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 Fix menu title instability bug.
1567
1568 * grub-core/commands/menuentry.c (options): New option --id.
1569 (grub_normal_add_menu_entry): New argument id. All users updated.
1570 (grub_cmd_menuentry): Handle --id.
1571 (grub_menu_init): Accept unknown arguments.
1572 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1573 feature_menuentry_options.
1574 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1575 saved_entry.
1576 (get_entry_number): Match with id as well.
1577 * include/grub/menu.h (grub_menu_entry): New member id.
1578 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1579 * util/grub.d/00_header.in: Define menuentry_id_option.
1580 * util/grub.d/10_hurd.in: Define id.
1581 * util/grub.d/10_illumos.in: Likewise.
1582 * util/grub.d/10_kfreebsd.in: Likewise.
1583 * util/grub.d/10_linux.in: Likewise.
1584 * util/grub.d/10_netbsd.in: Likewise.
1585 * util/grub.d/10_windows.in: Likewise.
1586 * util/grub.d/20_linux_xen.in: Likewise.
1587 * util/grub.d/30_os-prober.in: Likewise.
1588
15892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1590
1591 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1592 "scope" with "body".
1593
7c8d0ce7
VS
15942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1597 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1598 prot_size and prot_file_size.
1599
49de079b
VS
16002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1603 All users updated. If easily=1 require raid-5/-6 to be full.
1604 (is_node_readable): Likewise.
1605 (scan_devices): Scan incomplete but readable LVs at the end.
1606 (grub_diskfilter_memberlist): Pull missing devices.
1607 (insert_array): Skip scanning until device is complete or scan is
1608 done otherwise.
1609 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1610 check.
1611 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1612 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1613
aff05d45
MG
16142012-03-03 Matthew Garrett <mjg@redhat.com>
16152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 Avoid EFI boot services when loading Linux.
1618
1619 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1620 avoid_efi_bootservices. All users updated.
1621 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1622 argument avoid_efi_bootservices. All users updated.
1623 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1624 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1625 align, min_align, relocatable, prefered_address. All users updated.
1626 Allocate avoiding boot services if kernel is relocatable.
1627 (grub_cmd_linux): Check if kernel is relocatable.
1628 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1629 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1630 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1631 avoid_efi_boot_services.
1632 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1633 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1634 (linux_kernel_params): Likewise.
1635
3935dde2
MG
16362012-03-03 Matthew Garrett <mjg@redhat.com>
16372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Use EDID on EFI.
1640
1641 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1642 datasize_out.
1643 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1644 modes. Set gop_handle.
1645 (grub_video_gop_get_edid): New function.
1646 (grub_gop_get_preferred_mode): Likewise.
1647 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1648 (grub_video_efi_gop_adapter): Set .get_edid.
1649 * include/grub/efi/edid.h: New file.
1650 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1651
32107ec0
VS
16522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * util/grub-install.in: Load efivars unconditionally.
1655
e70a2c50
VS
16562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * po/Rules-piglatin: Change suffix from .po-update-en to
1659 .po-update-en-piglatin.
1660
8f9cace1
VS
16612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Add a pig farm.
1664
1665 * po/piglatin.sed: New file.
1666 * po/en@piglatin.header: Likewise.
1667 * po/Rules-piglatin: Likewise.
1668 * po/README: Add en@piglatin to autogenerated languages.
1669
8f95d002
VS
16702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1673 "Command for ...".
1674 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1675 "Check" since we don't check anything.
1676 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1677 is 64-bit one.
1678 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1679 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1680 (grub_md_sha512_real): Likewise.
1681
805a8dcc
VS
16822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/commands/gptsync.c: Fix typographic quoting.
1685 * grub-core/commands/ieee1275/suspend.c: Likewise.
1686 * grub-core/commands/parttool.c: Likewise.
1687 * grub-core/commands/search_wrap.c: Likewise.
1688 * grub-core/commands/videoinfo.c: Likewise.
1689 * grub-core/gfxmenu/gui_label.c: Likewise.
1690 * grub-core/hello/hello.c: Likewise.
1691 * grub-core/kern/emu/main.c: Likewise.
1692 * grub-core/net/net.c: Likewise.
1693 * grub-core/normal/menu.c: Likewise.
1694 * grub-core/normal/menu_text.c: Likewise.
1695 * grub-core/normal/misc.c: Likewise.
1696 * util/grub-editenv.c: Likewise.
1697 * util/grub-install.in: Likewise.
1698 * util/grub-kbdcomp.in: Likewise.
1699 * util/grub-mkconfig.in: Likewise.
1700 * util/grub-mknetdir.in: Likewise.
1701 * util/grub-mkrescue.in: Likewise.
1702 * util/grub-mkstandalone.in: Likewise.
1703 * util/grub-reboot.in: Likewise.
1704 * util/grub-set-default.in: Likewise.
1705 * util/grub-setup.c: Likewise.
1706 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1707
40211ab8
VS
17082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1711 * grub-core/commands/keystatus.c: Likewise.
1712 * grub-core/commands/loadenv.c: Likewise.
1713 * grub-core/commands/probe.c: Likewise.
1714 * grub-core/commands/regexp.c: Likewise.
1715 * grub-core/commands/true.c: Likewise.
1716 * grub-core/commands/videoinfo.c: Likewise.
1717 * grub-core/disk/cryptodisk.c: Likewise.
1718 * grub-core/disk/ldm.c: Likewise.
1719 * grub-core/disk/loopback.c: Likewise.
1720 * grub-core/disk/luks.c: Likewise.
1721 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1722 * grub-core/kern/disk.c: Likewise.
1723 * grub-core/kern/emu/hostdisk.c: Likewise.
1724
0c7d99c7
VS
17252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1728 * util/grub-install.in: Add missing quote in the comment.
1729
e7d2559b
VS
17302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1733 * grub-core/commands/lsmmap.c: Likewise.
1734 * grub-core/commands/minicmd.c: Likewise.
1735 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1736 * grub-core/commands/regexp.c: Likewise.
1737 * grub-core/gdb/gdb.c: Likewise.
1738 * grub-core/term/gfxterm.c: Likewise.
1739 * util/grub-mkconfig.in: Likewise.
1740 * util/grub-mkfont.c: Likewise.
1741 * util/grub-mklayout.c: Likewise.
1742 * util/grub-mknetdir.in: Likewise.
1743 * util/grub-mkrescue.in: Likewise.
1744 * util/grub.d/30_os-prober.in: Likewise.
1745
49ce9e50
VS
17462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1749 with "Direct color" and "Packed" with "Packed pixel".
1750 (grub_cmd_videoinfo): Simplify legend.
1751
e4b791fa
VS
17522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1755 absolutely unclear error message.
1756
fd1265cb
VS
17572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * util/grub-mkstandalone.in: Remove confusing leftover print.
1760
8822a8a0
VS
17612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1764 comments.
1765 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1766 (GRUB_MOD_INIT): Likewise.
1767 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1768 VGA mode.
1769 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1770 comments.
1771 * util/grub-install.in (usage): Likewise.
1772 Spell ID in whole letters.
1773 Add missing ending dot.
1774 Quote variables.
1775 * util/grub-reboot.in: Fix capitalisation.
1776 * util/grub-set-default.in: Likewise.
1777
937fd0cc
VS
17782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1781 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1782 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1783 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1784 Disable -Werror for -Wdeprecated-declarations.
1785 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1786 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1787 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1788 (grub_util_get_grub_dev): Make luks handling dependent on
1789 HAVE_DEVICE_MAPPER and not __linux__.
1790 (get_win32_path): Fix format security.
1791 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1792 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1793 Don't try grub_find_zpool_from_dir.
1794 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1795 #ifdef-out paresdir.
1796
1bab1ae3
VS
17972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * util/grub-pe2elf.c (usage): Add missing noreturn.
1800 (write_section_data): Rename name to shname to avoid shadowing.
1801 (write_symbol_table): Rename name to symname to avoid shadowing.
1802 Fix write_reloc_section call.
1803
ef023e42
VS
18042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1807 to ensure that it's after the last byte of .text.
1808
48afcb75
VS
18092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * util/ieee1275/ofpath.c (my_isdigit): New function.
1812 (trailing_digits): Use my_isdigit.
1813 (strip_trailing_digits): Likewise.
1814
88d51eff
VS
18152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1818 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1819
17edc2ba
VS
18202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/kern/i386/pc/startup.S: Define __start.
1823
ad5518d7
VS
18242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1827 strip already transforms he format.
1828
9e95e1bf
VS
18292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1832
9cc3ee5c
VS
18332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * util/grub-install.in: Add missing gettext init.
1836 * util/grub-kbdcomp.in: Likewise.
1837 * util/grub-mkconfig.in: Likewise.
1838 * util/grub-mknetdir.in: Likewise.
1839 * util/grub-mkrescue.in: Likewise.
1840 * util/grub-mkstandalone.in: Likewise.
1841 * util/grub-reboot.in: Likewise.
1842 * util/grub-set-default.in: Likewise.
1843 * util/grub.d/00_header.in: Likewise.
1844 * util/grub.d/10_hurd.in: Likewise.
1845 * util/grub.d/10_windows.in: Likewise.
1846 * util/grub.d/30_os-prober.in: Likewise.
1847 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1848
49e08a06
VS
18492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * po/Rules-swiss: Fix header comment.
1852
3809cb41
AV
18532012-02-29 Andreas Vogel <anvoit>
1854
1855 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1856 resulted in leak of arguments.
1857
fa6ec573
VS
18582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1861 reed_solomon_size const definition instead of computing it since
1862 Apple assembler doesn't support the later.
1863
22899b9c
VS
18642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * gentpl.py (kernel): Rewrite Apple part.
1867
a132afc3
VS
18682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1871
9d742bd4
VS
18722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1875 ELF section gap.
1876 (load_image): Likewise.
1877
f04a9a21
VS
18782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * configure.ac: Fix a typo in previous commit.
1881
46cf439c
VS
18822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Don't add -Wl,-N on Apple platform.
1885
1886 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1887 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1888
c4c48c54
VS
18892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/Makefile.core.def (lzma_decompress): Use
1892 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1893
31a12124
VS
18942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/genmod.sh.in: Rewrite the Apple part.
1897
4f3aa1af
VS
18982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1901 comparison.
1902
7bd8b0c7
VS
19032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * acinclude.m4 (grub_CHECK_PIC): New test.
1906 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1907
97304d7c
VS
19082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1911 to avoid the warning.
1912
fb883812
VS
19132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1916 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1917 after. All users updated.
1918
a121c964
VS
19192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 Use the common size routine in hostfs so we can read disks as well.
1922
1923 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1924 (grub_util_get_fd_size): ... this. Return size in bytes.
1925 All users updated.
1926 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1927 grub_util_get_fd_size.
1928
c66d6410
VS
19292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1932 Add blocksize retrieval.
1933
dfc8aeb0
VS
19342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * configure.ac: Restore CFLAGS after efiemu check.
1937
403e25a5
VS
19382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1941 Apple bug.
1942
382775d1
VS
19432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1946
6fd4e6e4
VS
19472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1950 (grub_cmd_halt): Likewise.
1951
bea359d6
VS
19522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1955 for local arithmetics.
1956 Break %sp init into 2 instructions.
1957 Add 0 byte at the end.
1958
32eb6ee1
VS
19592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1962 before loops.
1963
e8377389
VS
19642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1967 for context.
1968
8cb17de7
VS
19692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/disk/ldm.c (make_vg): Init part.name.
1972 (grub_ldm_detect): Silence spurious warning.
1973 (grub_util_is_ldm): Likewise.
1974
595717e6
VS
19752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1978 sane value to avoid a spurious warning.
1979
c4b7e588
VS
19802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1983 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1984
59824957
VS
19852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1988 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1989
70115b99
VS
19902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1993 hardcoding the relevant info.
1994
56733740
VS
19952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1998 missing const qualifiers.
1999 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2000
43481481
VS
20012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * util/getroot.c [__APPLE__]: Add missing includes.
2004 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2005
3cb38f01
VS
20062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2009
d9dbf11e
VS
20102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2013 avoid conflicts.
2014
0c42a45d
VS
20152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2018
46c34eb0
VS
20192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2022 and grub_file_close call.
2023
99ce1597
VS
20242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Add LZSS Mach-O support (needed for new xnu kernelcache).
2027
2028 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2029 * grub-core/loader/lzss.c: New file.
2030 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2031 on Mach-O open failure.
2032 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2033 Don't free cmdsXX in uncompressedXX is set.
2034 (grub_macho_file): Init new fields.
2035 New argument is_64bit. All users updated.
2036 Handle compressed. Error out if no suitable architecture is found.
2037 Don't close file.
2038 (grub_macho_open): New argument is_64bit. All users updated.
2039 * grub-core/loader/macho32.c: Add defines for new fields.
2040 * grub-core/loader/macho64.c: Likewise.
2041 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2042 (grub_macho_parse): Handle compressed.
2043 Defer actual processing if compressed.
2044 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2045 "filename". All users updated.
2046 (grub_macho_size): New argument "filename". All users updated.
2047 (grub_macho_get_entry_point): Likewise.
2048 (grub_macho_load): Handle compressed.
2049 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2050 (GRUB_MACHO_LZSS_OFFSET): New define.
2051 (grub_decompress_lzss): New proto.
2052 * include/grub/machoload.h (grub_macho_file): New fields to handle
2053 compressed.
2054 (grub_macho_contains_macho64): Remove proto.
2055 (grub_macho_contains_macho32): Likewise.
2056 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2057
ebd17d6f
VS
20582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2061
2702b4e4
VS
20622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 Fix make dist.
2065
2066 * Makefile.am (starfield_theme_files): New var.
2067 (starfield_DATA): Use starfield_theme_files.
2068 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2069 Add bootcheck-related files.
2070 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2071 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2072 and font_char_metrics.txt.
2073 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2074 (setjmp): Add lib/ia64/longjmp.S.
2075 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2076 * po/POTFILES.in: Regenerate.
2077 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2078 DISTFILES.common.extra1.
2079 * util/devicemap.c: Removed.
2080 * grub-core/lib/i386/relocator_backward.S: Likewise.
2081 * util/import_gcry.py: Remove unused files. Add extra_dist for
2082 ChangeLog.
2083
cf1adfdf
VS
20842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2087 grub_gettext_delete_list before changing grub_gettext_max to avoid
2088 running out of array bounds.
2089
20902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2091
2092 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2093 grub_vga_text_init/grub_vga_text_fini.
2094
cf1adfdf 20952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2096
2097 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2098
541d92e9
VS
20992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * configure.ac: Bump to 2.00~beta0.
2102
7931dddf
VS
21032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2106 missing initialisation.
2107
f1b16fa3
VS
21082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2111
83ddae23
VS
21122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Support v2 xnu boot arguments.
2115
2116 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2117 New argument fsbfreq_out.
2118 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2119 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2120 be used.
2121 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2122 darwin_version.
2123 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2124 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2125 (grub_xnu_boot_params): Rename to ...
2126 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2127 (grub_xnu_boot_params_v2): New struct.
2128
dc693fe6
VS
21292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2132 zeroing of CRC field before computing CRC.
2133
5a6e39c2
VS
21342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2137 Change order of allocations to decrease fragmentation.
2138
6c21f5d7
VS
21392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2142
cfe456dc
CW
21432012-02-27 Colin Watson <cjwatson@ubuntu.com>
2144
2145 Use write-combining MTRR to speed up video with buggy BIOSes.
2146
2147 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2148 (cpuid): New define.
2149 (rdmsr): Likewise.
2150 (wrmsr): Likewise.
2151 (mtrr_base): Likewise.
2152 (mtrr_mask): Likewise.
2153 (grub_vbe_enable_mtrr_entry): New function.
2154 (grub_vbe_enable_mtrr): Likewise.
2155 (grub_vbe_disable_mtrr): Likewise.
2156 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2157 control off to BIOS.
2158 (grub_video_vbe_init): Fill mtrr.
2159 (grub_video_vbe_fini): Disable mtrr.
2160 (grub_video_vbe_get_info_and_fini): Likewise.
2161 (grub_video_vbe_setup): Enable mtrr.
2162
e3c78337
CW
21632012-02-27 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * include/grub/partition.h (grub_partition_map): Change prototype of
2166 embed to take a maximum value for nsectors.
2167 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2168 * include/grub/fs.h (grub_fs): Likewise.
2169 * grub-core/partmap/msdos.c (embed_signatures): New array.
2170 (pc_partition_map_embed): Check for and avoid sectors matching any
2171 of the signatures in embed_signatures, up to max_nsectors.
2172 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2173 returned sector map to max_nsectors.
2174 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2175 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2176 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2177 * util/grub-setup.c (setup): Allow for the embedding area being
2178 split into multiple blocklists. Tell dest_partmap->embed the
2179 maximum number of sectors we care about.
2180
21812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2184 Specify blocklist_install and reserver_first_sector for all fs.
2185 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2186 blocklists.
2187
984b973f
VS
21882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * util/grub-install.in: Clarify strings.
2191 Fix source dir check.
2192
f122e0d6
RL
21932012-02-27 Richard Laager <rlaager@wiktel.com>
2194
2195 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2196 "zfs" and "fuse.zfs" as synonyms.
2197
071114bb
VS
21982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * configure.ac: Put platform and target_cpu substitutions back since
2201 they are used for directories.
2202
817e6abc
RL
22032012-02-27 Richard Laager <rlaager@wiktel.com>
22042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2207 * util/grub.d/20_linux_xen.in: Likewise.
2208
897b7419
RL
22092012-02-27 Richard Laager <rlaager@wiktel.com>
2210
2211 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2212 with full paths.
2213
a414bd15
RL
22142012-02-27 Richard Laager <rlaager@wiktel.com>
2215
2216 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2217 unescape.
2218
30ac48c4
VS
22192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 Don't use insecure popen in getroot.
2222
2223 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2224 (exec_pipe): ... here.
2225 (find_root_devices_from_poolname): Use exec_pipe.
2226
53f13848
VS
22272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Remove platform and target_cpu replacement.
2230
2231 * configure.ac: Remove platform and target_cpu substitutions.
2232 * tests/util/grub-shell.in: Use modinfo.
2233 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2234 explicitly.
2235
90cb2803
VS
22362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Autodetect platform in grub-install but allow override.
2239
2240 * util/grub-install.in: Autodetect platform. Support --target and
2241 --directory. Read platform from modinfo.sh.
2242
b9136427
VS
22432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 Support btrfs multi-volume probe.
2246
2247 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2248 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2249 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2250 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2251 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2252 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2253 grub_find_root_devices_from_btrfs if on btrfs.
2254
c36e5cd1
VS
22552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Remove any awareness of *.c util files about target.
2258
2259 * Makefile.util.def (grub-setup): Split to ...
2260 (grub-bios-setup): ... and this.
2261 (grub-sparc64-setup): ... and this.
2262 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2263 * docs/man/grub-setup.h2m: Split into ...
2264 * docs/man/grub-sparc64-setup.h2m: ... this.
2265 * docs/man/grub-bios-setup.h2m: ... and this.
2266 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2267 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2268 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2269 (grub_target_addr_t): Remove.
2270 (grub_target_size_t): Remove.
2271 (grub_target_ssize_t): Remove.
2272 * util/grub-install.in: Use new grub-*-setup.
2273 * util/grub-mkimagexx.c (Elf_Word): New define.
2274 (Elf_Half): Likewise.
2275 (Elf_Section): Likewise.
2276 (ELF_ST_TYPE): Likewise.
2277 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2278 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2279
584b2f8a
VS
22802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Replace grub_target_addr with more appropriate types.
2283
2284 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2285 grub_target_addr with grub_addr.
2286 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2287 grub_target_addr with grub_port.
2288 (grub_cmd_write): Likewise.
2289 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2290 grub_target_addr with grub_addr.
2291 (grub_cmd_write): Likewise.
2292 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2293
5a0dc6fb
VS
22942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2297 const qualifier for vendor_guid.
2298
786aff6e
VS
22992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2302 const qualifier.
2303 (efiemu_memequal): Likewise.
2304 (find_variable): Likewise.
2305
49017b17
VS
23062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Fix missing console prototype on qemu-mips.
2309
2310 * include/grub/mips/qemu_mips/console.h: New file.
2311
c5988629
MG
23122012-02-27 Matthew Garrett <mjg@redhat.com>
23132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2316 * include/grub/efi/efi.h: Likewise.
2317 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2318 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2319 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2320 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2321 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2322 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2323
e33f8d69
MG
23242012-02-27 Matthew Garrett <mjg@redhat.com>
2325
2326 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2327
fb312cd9
VS
23282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2331 error.
2332
7134247c
VS
23332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * configure.ac: Remove inappropriate use of program_transform_name
2336 on grubdir and bootdir but allow explicit specification of those
2337 variables.
2338
6a313124
VS
23392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * util/grub-mknetdir.in (grub_prefix): Removed.
2342 (subdir): Use @bootdirname@ and @grubdirname@.
2343
2311c5ca
VS
23442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2347
7d5d60f7
VS
23482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * po/POTFILES.in: Regenerated.
2351
8151bc82
VS
23522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 Remove improper use of program_transform_name on pkglibrootdir.
2355
2356 * configure.ac (pkglibrootdir): Removed.
2357 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2358 * util/grub-mkimage.c: Likewise.
2359
b4a6a533
VS
23602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2363 warning.
2364
668f304f
VS
23652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * util/grub-install.in: Use file identifier if no UUID is available
2368 or user explicitly prompted for it.
2369
665f2341
NP
23702012-02-27 Navdeep Parhar <nparhar@gmail.com>
2371
2372 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2373 (freebsd_get_zfs): New function.
2374 (grub_freebsd_boot): Pass zfs UUID.
2375 (grub_cmd_freebsd): Set zfs UUID.
2376
8151bc82 23772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2378
2379 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2380 pkglibrootdir.
2381
e4c498a1
MG
23822012-02-27 Mike Gilbert <floppym@gentoo.org>
2383
2384 Add configure flag to control libzfs integration.
2385
2386 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2387
1e9a9a3f
VS
23882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2391 device.
2392 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2393 small devices.
2394
036985b8
VS
23952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2398 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2399 be used on non-modules.
2400
2401 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2402 Rename to grub_boot_init.
2403 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2404 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2405 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2406 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2407 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2408 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2409 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2410 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2411 includes.
2412 (grub_machine_init): Remove empty inits.
2413 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2414 includes.
2415 (grub_machine_init): Remove empty inits.
2416 * grub-core/term/arc/console.c: Remove explicit proto.
2417 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2418 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2419 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2420 grub_at_keyboard_fini.
2421 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2422 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2423 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2424 grub_gfxterm_fini.
2425 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2426 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2427 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2428 grub_vgatext_fini.
2429 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2430 * grub-core/term/serial.c (GRUB_MOD_INIT)
2431 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2432 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2433 grub_serial_fini.
2434 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2435 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2436 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2437 grub_terminfo_fini.
2438 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2439 (GRUB_MOD_FINI): Likewise.
2440 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2441 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2442 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2443 grub_video_radeon_fuloong2e_fini.
2444 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2445 [LOONGSON]: Rename to grub_video_sis315pro_init.
2446 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2447 grub_video_sis315pro_fini.
2448 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2449 [LOONGSON]: Rename to grub_video_sm712_init.
2450 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2451 grub_video_sm712_fini.
2452 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2453 (grub_at_keyboard_fini): Likewise.
2454 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2455 Don't declare grub_{modname}_init.
2456 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2457 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2458 New proto.
2459 (grub_keylayouts_fini) [!EMU]: Likewise.
2460 * include/grub/serial.h (grub_serial_init) [!EMU]:
2461 New proto.
2462 (grub_serial_fini) [!EMU]: Likewise.
2463 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2464 New proto.
2465 (grub_terminfo_fini) [!EMU]: Likewise.
2466 * include/grub/video.h (grub_font_init) [!EMU]:
2467 New proto.
2468 (grub_font_fini) [!EMU]: Likewise.
2469 (grub_gfxterm_init) [!EMU]: Likewise.
2470 (grub_gfxterm_fini) [!EMU]: Likewise.
2471 (grub_video_sm712_init) [!EMU]: Likewise.
2472 (grub_video_sm712_fini) [!EMU]: Likewise.
2473 (grub_video_sis315pro_init) [!EMU]: Likewise.
2474 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2475 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2476 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2477
d5534665
VS
24782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Make nand a prefix for nand devices.
2481
2482 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2483
10133b5f
VS
24842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2487 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2488
8e307a62
VS
24892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * include/grub/env.h (grub_env_find): Remove prototype.
2492 * grub-core/kern/env.c (grub_env_find): Make static.
2493 (grub_env_set): Remove useless set.
2494
a4c65f34
VS
24952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/i386/realmode.S: Remove useless align.
2498
d87893d5
VS
24992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * include/grub/dl.h (grub_dl_load_file): Don't export.
2502
50159add
VS
25032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2506 grub_dprintf.
2507
b2582b84
VS
25082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2511 grub_errors.
2512 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2513 not reloading whole superblock but only the part which is really needed.
2514 Remove useless grub_errors.
2515 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2516 grub_errors.
2517
e2a83395
VS
25182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 Don't export grub_get_rtc.
2521
2522 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2523 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2524
e7d2a906
VS
25252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2528
6cf1363b
VS
25292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2532 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2533
eece3349
VS
25342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 Remove prio_list.
2537
2538 * include/grub/list.h (grub_prio_list): Removed.
2539 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2540 GRUB_COMMAND_PRIO_MASK.
2541 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2542 GRUB_COMMAND_FLAG_ACTIVE.
2543 (grub_prio_list_insert): Removed.
2544 (grub_prio_list_remove): Likewise.
2545 (GRUB_AS_PRIO_LIST): Likewise.
2546 (GRUB_AS_PRIO_LIST_P): Likewise.
2547 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2548 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2549 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2550 * grub-core/kern/command.c (grub_register_command_prio): Inline
2551 the prio_list code.
2552 (grub_unregister_command): Likewise.
2553
94f064b4
VS
25542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Fix interrupt mixup from previous commit.
2557
2558 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2559 (grub_realidt): New var.
2560 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2561 Load idt.
2562 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2563 New declaration.
2564 (grub_relocator16_boot): Set grub_relocator16_idt.
2565 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2566 (LOCAL(realidt)): ... this.
2567 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2568 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2569 (grub_realidt): New variable.
2570
27317084
VS
25712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2574 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2575 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2576 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2577 Gettextize.
2578 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2579 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2580 * po/POTFILES.in: Regenerate.
2581
47b40053
VS
25822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2585 errors.
2586
2b343101
VS
25872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2590 \0.
2591 (add_length): Likewise.
2592
ff27c3dd
LK
25932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25942012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2595
2596 GDB serial and backtrace support.
2597
2598 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2599 (prot_to_real): Likewise.
2600 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2601 * grub-core/Makefile.core.def (backtrace): New module.
2602 (gdb): Likewise.
2603 * grub-core/gdb/cstub.c: New file.
2604 * grub-core/gdb/gdb.c: Likewise.
2605 * grub-core/gdb/i386/idt.c: Likewise.
2606 * grub-core/gdb/i386/machdep.S: Likewise.
2607 * grub-core/gdb/i386/signal.c: Likewise.
2608 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2609 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2610 * include/grub/backtrace.h: Likewise.
2611 * include/grub/gdb.h: Likewise.
2612 * include/grub/i386/gdb.h: Likewise.
2613
26142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2615
2616 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2617 New function.
2618 (add_length): Likewise.
2619 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2620 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2621 proto.
2622 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2623 __argp_get_display_len.
2624
ff27c3dd 26252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2626
2627 $"..." support in scripts.
2628
2629 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2630 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2631 * grub-core/script/yylex.l: Likewise.
2632 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2633 value.
2634
ff27c3dd 26352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2636
2637 * gentpl.py: Remove obsolete pkglib_DATA handling.
2638
ff27c3dd 26392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2640
2641 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2642 mailing list.
2643
2644 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2645 * util/grub-kbdcomp.in: Likewise.
2646 * util/grub-mkconfig.in: Likewise.
2647 * util/grub-mkconfig_lib.in: Likewise.
2648 * util/grub-mknetdir.in: Likewise.
2649 * util/grub-mkrescue.in: Likewise.
2650 * util/grub-mkstandalone.in: Likewise.
2651 * util/grub-reboot.in: Likewise.
2652 * util/grub-set-default.in: Likewise.
2653 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2654
ff27c3dd 26552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2656
2657 Remove GRUB_PREFIX.
2658
2659 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2660 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2661 used for backward compatibility.
2662
ff27c3dd 26632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2664
2665 Add new all_video module.
2666
2667 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2668 * grub-core/Makefile.core.def (all_video): New module.
2669 * grub-core/genmoddep.awk: Generate dependency of all_video from
2670 video.lst.
2671 * grub-core/lib/fake_module.c: New file.
2672 * grub-core/normal/main.c (features): Add feature_all_video_module.
2673 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2674 don't do explicit search again.
47454da5 2675 insmod all_video in load_video if available.
22c7ce85 2676
ff27c3dd 26772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2678
2679 Another round of string clarification and adding TRANSLATORS comments.
2680
ff27c3dd 26812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2682
2683 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2684
ff27c3dd 26852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2686
2687 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2688 to grub_ssize_t.
2689 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2690 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2691
ff27c3dd 26922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2693
2694 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2695 trailing newline implicitly. All users updated.
2696
ff27c3dd 26972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2698
2699 Implement serial on IEEE1275 and EFI.
2700
2701 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2702 on emu. Mention arc and emu as the only platforms without serial
2703 support.
2704 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2705 ieee1275 platforms.
2706 * grub-core/term/efi/serial.c: New file.
2707 * grub-core/term/ieee1275/serial.c: Likewise.
2708 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2709 specification if no ns8250 driver is available.
2710 (grub_cmd_serial): Likewise.
2711 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2712 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2713 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2714 (grub_efi_parity_type_t): New type.
2715 (grub_efi_stop_bits_t): Likewise.
2716 (grub_efi_serial_io_interface): New struct.
2717 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2718 available for all interfaces.
2719 Add EFI and IEEE1275 fields.
2720 (grub_ofserial_init): New proto.
2721 (grub_efiserial_init): Likeiwse.
2722 * util/grub.d/00_header.in: Don't check for the presence of serial
2723 module.
2724
ff27c3dd 27252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2726
2727 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2728 name as if it was an alias.
2729
114076ef
VS
27302012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/commands/lsacpi.c (options): Fix typo.
2733
6a656b0e
VS
27342012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Convert grub-emu to argp.
2737
2738 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2739 emu.
2740 * util/argp_common.c: Rename to ...
2741 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2742 Add missing includes.
2743 * grub-core/kern/emu/main.c: Convert to argp.
2744 * po/POTFILES.in: Regenerate.
2745 * util/grub-install.in (usage): Make first letter lowcase in messages
2746 for uniformity.
2747 * util/grub-setup.c (options): Likewise.
2748
1e3f8ae8
VS
27492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2752 Put back accidently commented-out code.
2753
ed167a80
VS
27542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2757 loop check using Brent algorithm.
2758 (grub_hfsplus_btree_search): Likewise.
2759
6753c0ec
VS
27602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * util/grub-install.in: Fix usage of wrong device for PreP install.
2763
4e27343f
VS
27642012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * conf/Makefile.common (CFLAGS_GNULIB): Add
2767 -Wno-unsafe-loop-optimizations.
2768 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2769 on tools.
2770 * grub-core/commands/legacycfg.c: Add pragma to skip
2771 -Wunsafe-loop-optimizations.
2772 (check_password_md5_real): Fix loop counter type.
2773 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2774 reading.
2775 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2776 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2777 loop condition.
2778 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2779 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2780 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2781 condition.
2782 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2783 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2784 avoid possible infinite loops.
2785 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2786 and -Wunsafe-loop-optimizations.
2787 * grub-core/script/yylex.l: Likewise.
2788 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2789 (print_glyphs): Avoid infinite loops.
2790 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2791
697f18b0
GS
27922012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2793
2794 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2795 to avoid infinite loop.
2796 (disp_acpi_rsdt_table): Likewise.
2797
274416e8
VS
27982012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/font/font.c (grub_font_load): Add support for default
2801 path for fonts ($prefix/fonts).
2802 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2803 for checking if string is a path.
2804 * grub-core/normal/main.c (features): Add feature_default_font_path.
2805 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2806 * util/grub.d/00_header.in: Use default directory if possible.
2807 * util/grub-install.in: Install unicode.pf2.
2808
b3e08622
VS
28092012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2812 * po/Rules-swiss: New file.
2813 * po/swiss.sed: Likewise.
2814
fe42ce09
VS
28152012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/fs/btrfs.c (find_device): Fix typos.
2818 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2819 * util/grub-mkrelpath.c (argp_parser): Likewise.
2820 Reported by: Yuri Chornoivan.
2821
72f1d065
DO
28222012-02-23 Dalet Omega <daletomega@gmail.com>
2823
2824 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2825 for usual informative messages.
2826
c5884973
DO
28272012-02-23 Dalet Omega <daletomega@gmail.com>
2828
2829 Starfield theme.
2830
2831 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2832 * conf/Makefile.common: Define starfielddir.
2833 * configure.ac: Configure starfield.
2834 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2835 * themes/starfield/README: Likewise.
2836 * themes/starfield/blob_w.png: Likewise.
2837 * themes/starfield/boot_menu_c.png: Likewise.
2838 * themes/starfield/boot_menu_e.png: Likewise.
2839 * themes/starfield/boot_menu_n.png: Likewise.
2840 * themes/starfield/boot_menu_ne.png: Likewise.
2841 * themes/starfield/boot_menu_nw.png: Likewise.
2842 * themes/starfield/boot_menu_s.png: Likewise.
2843 * themes/starfield/boot_menu_se.png: Likewise.
2844 * themes/starfield/boot_menu_sw.png: Likewise.
2845 * themes/starfield/boot_menu_w.png: Likewise.
2846 * themes/starfield/slider_c.png: Likewise.
2847 * themes/starfield/slider_n.png: Likewise.
2848 * themes/starfield/slider_s.png: Likewise.
2849 * themes/starfield/src/blob_nw.xcf: Likewise.
2850 * themes/starfield/src/bootmenu/: Likewise.
2851 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2852 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2853 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2854 * themes/starfield/src/slider_c.xcf: Likewise.
2855 * themes/starfield/src/slider_n.xcf: Likewise.
2856 * themes/starfield/src/slider_s.xcf: Likewise.
2857 * themes/starfield/src/terminalbox/: Likewise.
2858 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2859 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2860 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2861 * themes/starfield/starfield.png: Likewise.
2862 * themes/starfield/terminal_box_c.png: Likewise.
2863 * themes/starfield/terminal_box_e.png: Likewise.
2864 * themes/starfield/terminal_box_n.png: Likewise.
2865 * themes/starfield/terminal_box_ne.png: Likewise.
2866 * themes/starfield/terminal_box_nw.png: Likewise.
2867 * themes/starfield/terminal_box_s.png: Likewise.
2868 * themes/starfield/terminal_box_se.png: Likewise.
2869 * themes/starfield/terminal_box_sw.png: Likewise.
2870 * themes/starfield/terminal_box_w.png: Likewise.
2871 * themes/starfield/theme.txt: Likewise.
2872
17d73325
VS
28732012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * util/grub.d/00_header.in: Add missing export theme.
2876
dbebaf92
VS
28772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2880 already included.
2881 Reported by: Eren D.
2882
3d68bffb
VS
28832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * conf/Makefile.common (grubdatadir): Removed.
2886 (Makefile.am): Move eveything grubdata to pkgdata.
2887
4b59234d
VS
28882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/commands/acpihalt.c (get_sleep_type):
2891 Remove unused variable.
2892
463dcadc
VS
28932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2896 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2897 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2898 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2899 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2900 i18n with gettext no-op.
2901 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2902 GRUB_ACPI_OPCODE_STRING_CONST.
2903 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2904 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2905
e5b90c82
VS
29062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * po/POTFILES.in: Regenerate.
2909
2a704ca9
VS
29102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2913 -Wno-error=missing-noreturn.
2914
84f9d341
VS
29152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2918 condition to avoid possibly infinite loops.
2919 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2920 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2921
d46683f9
VS
29222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2925 condition to avoid possibly infinite loops.
2926
c44866b2
VS
29272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2930 on show_error.
2931
96790539
VS
29322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2935
1ba7e295
VS
29362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2939
21ffe8f1
VS
29402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * util/bin2h.c (usage): Add missing attribute noreturn.
2943
0ccb6b3c
VS
29442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2947 if the size isn't divisible by 512.
2948
b00d7fb6
VS
29492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Make list_push and list_remove functions rather than inline functions
2952 to decrease size and avoid aliasing violations.
2953
2954 * include/grub/list.h (grub_list_push): Move to ...
2955 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2956 * include/grub/list.h (grub_list_remove): Move to ...
2957 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2958
9d369087
VS
29592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2962 and -Wunused-result.
2963
af0250d9
VS
29642012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2967 Reported by: Seth Goldberg
2968
aad32b14
VS
29692012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2972
ac96441c
ST
29732012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2974
2975 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2976 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2977 command line.
2978 * docs/grub.texi (Simple configuration): Document
2979 GRUB_CMDLINE_GNUMACH.
2980
29812012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2982
2983 * conf/Makefile.common (platform_SCRIPTS): New variable.
2984 (platform_PROGRAMS): Likewise.
2985 * gentpl.py: Mark *,module and *.image for install.
2986 * grub-core/gdb_grub.in: Add a notice of expected environment.
2987 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2988 (gmodule.pl): Likewise.
2989
ac96441c 29902012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2991
2992 Replace grub_checkkey with grub_getkey_noblock.
2993
2994 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2995 (grub_getkey_noblock): ... this. All users updated.
2996
ac96441c 29972012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2998
2999 * grub-core/kern/emu/console.c: Move to ...
3000 * grub-core/term/emu/console.c: ...here.
3001 (grub_ncurses_getkey): Fix return value if no key is detected.
3002
e51b5666
VS
30032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3006 (grub_unit_test_fini): Likewise.
3007 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3008
30092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * include/grub/test.h (GRUB_UNIT_TEST)
3012
d9a62292
VS
30132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3016 Better error handling.
3017 (grub_script_return): Likewise.
3018 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3019
77c9182f
VS
30202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3023 rimplicit redifinition.
3024
edb13cf9
VS
30252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3028 GRUB.
3029
a9e9dc7c
VS
30302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3033 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3034 prompt here.
3035
b4ba8e02
VS
30362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3039 as GRUB_ERR_BUG. Don't malloc if no device is available.
3040
dded5540
VS
30412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3044 Mark calling with invalid term as GRUB_ERR_BUG.
3045
0cf69874
VS
30462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3049 packets rather than raising an error.
3050
59bfe502
VS
30512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3054 in if.
3055
db5fc596
VS
30562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3059 diagnostic to dprintf.
3060 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3061
e4b7f404
VS
30622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3065 device name.
3066
e7b02f9e
VS
30672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3070 (grub_ntfs_iterate_dir): Likewise.
3071
0331e102
VS
30722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 Efiemu stylistic fixes and gettext.
3075
3076 * grub-core/efiemu/i386/loadcore32.c
3077 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3078 * grub-core/efiemu/i386/loadcore64.c
3079 (grub_arch_efiemu_relocate_symbols64): Likewise.
3080 * grub-core/efiemu/i386/pc/cfgtables.c
3081 (grub_machine_efiemu_init_tables): Likewise.
3082 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3083 (grub_efiemu_loadcore_initXX): Add a filename argument.
3084 All users updated.
3085 Improved error message.
3086 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3087 Add a filename argument.
3088 All users updated.
3089 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3090 Reclassify double relocation as GRUB_ERR_BUG.
3091
306fc074
VS
30922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3095 handling.
3096
794d8ef2
VS
30972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3100 on partition.
3101
31022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3103
3104 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3105
794d8ef2 31062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3107
3108 Improve string. Gettextize.
3109
78dde88e
VS
31102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3113 utils.
3114 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3115
4786a90f
VS
31162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3119 [GRUB_UTIL]: New function.
3120 (insert_array) [GRUB_UTIL]: Store partmaps.
3121 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3122 partmaps.
3123 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3124 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3125 (probe_abstraction): Print diskfilter and not raid.
3126 Reported by: Lennart Sorensen
3127
0b6225bd
VS
31282012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3131 * util/grub-mkimagexx.c (MASK3): New define.
3132 (add_value_to_slot_20b): Use MASK3.
3133 (add_value_to_slot_21): Likewise.
3134 (relocate_addresses): Fix format specification.
3135 (load_image): Explicitly init symtab_section.
3136
b055f8f6
VS
31372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3140 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3141
b77c2fb7
VS
31422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3145 on powerpc.
3146 Reported by: Lennart Sorensen
3147
e3ec28ab
VS
31482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * gentpl.py: Add missing license header.
3151 * docs/grub.texi: Update copyright year.
3152
c8d9ead6
GS
31532012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3154
3155 Source grub-mkconfig_lib from the build directory at build time.
3156 Suggested by: Vladimir Serbinenko.
3157
3158 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3159 * util/grub-install.in: Define pkgdatadir if not already set, and source
3160 grub-mkconfig_lib from there.
3161 * util/grub-kbdcomp.in: Likewise.
3162 * util/grub-mkconfig.in: Likewise.
3163 * util/grub-mknetdir.in: Likewise.
3164 * util/grub-mkrescue.in: Likewise.
3165 * util/grub-mkstandalone.in: Likewise.
3166 * util/grub-reboot.in: Likewise.
3167 * util/grub-set-default.in: Likewise.
3168 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3169
ebcecdf1
VS
31702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Increase warning level.
3173
3174 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3175 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3176 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3177 (TARGET_CFLAGS): Likewise.
3178 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3179 * grub-core/Makefile.core.def (decompressor_xz): Add
3180 -Wno-unreachable-code.
3181 (normal): Add -Wno-redundant-decls.
3182 (xzio): Add -Wno-unreachable-code.
3183 (lzopio): Add -Wno-redundant-decls -Wno-error.
3184 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3185 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3186 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3187 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3188 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3189 * grub-core/kern/i386/coreboot/init.c: Add exception to
3190 -Wsuggest-attribute=noreturn.
3191 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3192 * grub-core/kern/ia64/dl_helper.c: Likewise.
3193 * grub-core/kern/mips/dl.c: Likewise.
3194 * grub-core/kern/sparc64/dl.c: Likewise.
3195 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3196 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3197 (memcmp): Likewise.
3198 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3199 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3200 * grub-core/loader/mips/linux.c: Likewise.
3201 * grub-core/loader/multiboot_elfxx.c: Likewise.
3202 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3203 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3204 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3205 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3206 fixme.
3207 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3208 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3209 Fix prototype.
3210
37bb97fe
VS
32112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3214 address.
3215
29a3550b
VS
32162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3219 Avoid improper use of strings.
3220 (grub_cmd_legacy_initrdnounzip): Likewise.
3221
dfdffd0d
VS
32222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3225 attribute.
3226 (grub_util_info): Likewise.
3227 (grub_util_error): Likewise.
3228
102fae4a
VS
32292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3232 * util/grub-fstest.c (fstest): Likewise.
3233
7e94d044
VS
32342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3237 (grub_md_sha512_real): Likewise.
3238 (grub_util_get_geli_uuid): Likewise.
3239 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3240 (grub_util_biosdisk_open): Fix format specification.
3241 Respect format security.
3242 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3243 (xrealloc): Likewise.
3244 (xasprintf): Likewise.
3245
5ebd9769
VS
32462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * util/import_gcry.py: Include grub/crypto.h in init.c.
3249
495fc8c1
VS
32502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3253 (generate_image): Make prefix a const char *.
3254 Fix format specifications. Respect format security.
3255 Avoid void * arithmetics.
3256 Avoid shadowing.
3257 (argp_parser): Remove unused variable. Respect format security.
3258 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3259 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3260 (count_funcs): Remove unused variable.
3261 (relocate_addresses): Fix format specification.
3262 Disable x86-64 with elf32. Remove unused variables.
3263 (add_fixup_entry): Avoid shadowing.
3264 (make_reloc_section): Fix format specification.
3265 Use assert.
3266 (locate_sections): Fix format specifications.
3267 (load_image): Avoid shadowing.
3268
043c2ea3
VS
32692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3272 Fix format specifications. Respect format security.
3273 Don't translate already translated grub_errmsg.
3274 (argp_parser): Remove unused variable
3275
3ec65a81
VS
32762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3279
a4d9fe4a
VS
32802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3283 (main): Likewise. Use xmalloc. Respect format security.
3284
15b81d49
VS
32852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3288 a const char *.
3289 (argp_parser): Remove unused variable.
3290
31731fc0
VS
32912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3294 (add_pixel): Make static.
3295 (add_font): Likewise.
3296 (write_string_section): Make name and str a const char *.
3297 (write_be16_section): Make name a const char *.
3298 (print_glyphs): Make static.
3299 (write_font_ascii_bitmap): Likewise.
3300 (write_font_width_spec): Likewise.
3301 (write_font_pf2): Likewise.
3302 (argp_parser): Remove unused variable.
3303 Respect format security.
3304 (main): Avoid shadowing. Respect format security.
3305
0809527b
VS
33062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/grub-editenv.c (argp_parser): Make static.
3309 (create_envblk_file): Use xmalloc.
3310 (open_envblk_file): Likewise.
3311 Resepect format security.
3312 (set_variables): Respect format security.
3313
45b0c8b7
VS
33142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * util/getroot.c (grub_find_device): Respect format security.
3317 (get_mdadm_uuid): Remove unused variable.
3318 (grub_util_pull_device): Dont call gettext on already translated
3319 grub_errmsg.
3320 (find_system_device): Remove unused variable.
3321 (grub_util_get_grub_dev): Likewise.
3322 (grub_make_system_path_relative_to_its_root): Respect format security.
3323
1b024b4e
VS
33242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * util/grub-fstest.c (execute_command): Make first argument
3327 a const char *.
3328 (read_file): Avoid shadowing.
3329 Reuse underlying error message if device open fails.
3330 (cmd_cmp): Respect format security.
3331 (root): Make const char *.
3332 (fstest): Remove args argument and use global copy.
3333 Respect format security.
3334 (argp_parser): Make static.
3335 (main): Make default_root const char *.
3336
5d1d4e28
VS
33372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/grub-mount.c (root): Make const char *.
3340 (execute_command): Make first argument a const char *.
3341 (fuse_init): Respect format security.
3342 (argp_parser): Make static. Remove unused variable.
3343 (main): Make default_root a const char *.
3344 Respect format security.
3345
36eb7379
VS
33462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * util/grub-probe.c (probe): Don't call gettext on already translated
3349 grub_errmsg.
3350 Remove unused variables.
3351 (argp_parser): Remove unused variable.
3352
76fb2ea9
VS
33532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * util/grub-script-check.c (argp_parser): Remove unused variable.
3356 (main): Rename read to curread to avoid shadowing.
3357
56c98584
VS
33582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * util/misc.c (grub_util_write_image_at): Fix format specification.
3361 (grub_util_write_image): Likewise.
3362 (grub_script_execute_argument_to_string): Removed (unused).
3363 (grub_script_execute_menuentry): Likewise.
3364 (grub_putchar): Likewise.
3365
164ebb48
VS
33662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3369 (FUNCTION) [GRUB_UTIL]: Likewise.
3370 (VARIABLE) [GRUB_UTIL]: Likewise.
3371
44318d61
VS
33722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3375 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3376
31a26002
VS
33772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3380 buffer.
3381
33822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3385 (LzmaEnc_SaveState): Removed (unused).
3386 (LzmaEnc_RestoreState): Likewise.
3387 (LzmaEnc_InitPriceTables): Made static.
3388 (LzmaEnc_Construct): Likewise.
3389 (LzmaEnc_FreeLits): Likewise.
3390 (LzmaEnc_Destruct): Likewise.
3391 (LzmaEnc_Init): Likewise.
3392 (LzmaEnc_InitPrices): Likewise.
3393 (LzmaEnc_Finish): Likewise.
3394 (LzmaEnc_PrepareForLzma2): Removed (unused).
3395 (LzmaEnc_MemPrepare): Likewise.
3396 (LzmaEnc_GetNumAvailableBytes): Likewise.
3397 (LzmaEnc_GetCurBuf): Likewise.
3398 (LzmaEnc_CodeOneMemBlock): Likewise.
3399
6fa67967
VS
34002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3403 (grub_util_ldm_embed): Likewise.
3404
9a7428e6
VS
34052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * util/grub-editenv.c (print_var): Rename name to varname to
3408 avoid shadowing.
3409 (main): Rename index to curindex to avoid shadowing.
31a26002 3410 Make filename a const char *.
9a7428e6 3411
4f96abd1
VS
34122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3415 to arg_getline to avoid shadowing.
3416
44d10dad
VS
34172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3420 disk_ to avoid shadowing.
3421
340ba63e
VS
34222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3425 curindex to avoid shadowing.
3426 Make static.
3427 (MatchFinder_GetNumAvailableBytes): Make static.
3428
22965bce
VS
34292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3432 avoid shadowing.
3433
7b5784d4
VS
34342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3437 argument from encrypt to do_encrypt to avoid shadowing.
3438
6f48ca01
VS
34392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3442 incorrect nesting of #if's.
3443
a4ea2dff
VS
34442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3447 checks which are always false on some platforms.
3448 (grub_cmd_lsacpi): Likewise.
3449 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3450 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3451 Likewise.
3452
def9fc1b
VS
34532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3456 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3457
a67b2a04
VS
34582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3461 re_dfa_t to avoid breaking alignment invariants.
3462 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3463 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3464
44c6828d
VS
34652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3468 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3469
bebe0dd0
VS
34702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3473 Fix declaration.
3474
a9cdb3cf
VS
34752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3478 conserve alignment invariants.
3479 (grub_ehci_ehcc_read16): Likewise.
3480 (grub_ehci_oper_read32): Likewise.
3481 (grub_ehci_oper_write32): Likewise.
3482 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3483 Conserve alignment invariants.
3484
ccc3b1b8
VS
34852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3488 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3489 declarations.
3490
987fbd95
VS
34912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3494 Remove unused variable.
3495
0df363f3
VS
34962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3499 Remove set in if.
3500
b2c0c4a6
VS
35012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * include/grub/net.h: Remove double declarations.
3504
690c531f
VS
35052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 Remove "payload" command in ia64 Linux loader since I couldn't
3508 find any evidence of it being used for anything.
3509 Replace "relocate" command with an environment variable
3510
3511 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3512 fields.
3513 (ia64_boot_payload): Removed.
3514 (last_payload): Likewise.
3515 (RELOCATE_OFF): Likewise.
3516 (RELOCATE_ON): Likewise.
3517 (RELOCATE_FORCE): Likewise.
3518 (relocate): Likewise.
3519 (free_pages): Don't free payloads.
3520 (grub_load_elf64): Use common error messages.
3521 Use "linux_relocate" variable.
3522 Increase the space after boot_params.
3523 (grub_cmd_payload): Removed.
3524 (grub_cmd_relocate): Likewise.
3525 (grub_cmd_fpswa): Improve messages.
3526 (cmd_payload): Removed.
3527 (cmd_relocate): Likewise.
3528 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3529 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3530
01783768
VS
35312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Convert UHCI to DMA framework.
3534
3535 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3536 (grub_uhci_pci_iter): Fill new members
3537 (grub_alloc_td): Use P2V and V2P functions.
3538 (grub_free_queue): Likewise.
3539 (grub_alloc_qh): Likewise.
3540 (grub_uhci_setup_transfer): Likewise.
3541 (grub_uhci_check_transfer): Likewise.
3542
43206939
VS
35432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3546 Remove assignment in if while on it.
3547
571e140e
VS
35482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * util/grub-mkstandalone.in: Fix modules directory.
3551
a9d96eeb
VS
35522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3555 on i386-pc target.
3556 (argp_parser): Accept "auto" as compression specification.
3557
e4e37e8d
VS
35582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Fix `help' with unloaded modules.
3561
3562 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3563 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3564 (grub_dyncmd_dispatcher): Small stylistic fix.
3565 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3566 explicit help is requested.
3567
e1ea3ade
VS
35682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3571 Explicitly init restart while on it.
3572
27556881
VS
35732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3576 uninited variable.
3577
d65f6b36
VS
35782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * util/grub-mknetdir.in: Use . rather than source for POSIX
3581 compatibility.
3582
0a1e473c
VS
35832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3586
ce6647c8
VS
35872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3590 variable.
3591
66747894
VS
35922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3595 without quotes.
3596
71645f6e
VS
35972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3600
0e1c1f61
VS
36012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3604 iteration of partitions.
3605
9c4b5c13
VS
36062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 Improve gettext support. Stylistic fixes and error handling fixes while
3609 on it.
3610
215c90cb
VS
36112012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3614 part. Instead setup the correct stack in RM.
3615 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3616 for stack.
3617 * include/grub/i386/relocator_private.h: New file.
3618
b5c1f9bf
VS
36192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3622 argument.
3623 * util/grub-fstest.c (options): Add missing DEVICE part.
3624
b525fd83
VS
36252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 Clarify and unify messages.
3628
3629 * grub-core/commands/hashsum.c (options): Unify messages.
3630 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3631 literal-only message as translatable.
3632 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3633 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3634 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3635 commands.
3636 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3637 key, not the key used to unlock. Clarify what it's used for.
3638 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3639 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3640 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3641 * util/grub-editenv.c (options): Unify "verbose" message.
3642 * util/grub-fstest.c (read_file): Unify error message.
3643 (fstest): Add quotes around commands.
3644 (options): Unify "verbose" message.
3645 * util/grub-install.in: Add quotes around variable name.
3646 * util/grub-kbdcomp.in: Unify error message.
3647 * util/grub-mkfont.c (main): Likewise.
3648 * util/grub-mkrescue.in: Likewise.
3649 * util/grub-mklayout.c (options): Unify "verbose" message.
3650 * util/grub-mkstandalone.in: Unify help and verbose messages.
3651 * util/grub-mount.c (options): Unify "verbose" message.
3652 * util/grub-probe.c (options): Likewise.
3653 * util/grub-script-check.c (options): Likewise.
3654 * util/grub-setup.c (setup): Unify no-terminator message.
3655 (options): Use DEVICE and not DEV.
3656 Unify "verbose" message.
3657 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3658
0ae70393
VS
36592012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 Improve and unify messages.
3662
3663 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3664 name. All users updated.
3665 Print filename in error.
3666 (read_device_map): Print filename in error.
3667 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3668 (grub_util_get_os_disk): Likewise.
3669 (grub_util_biosdisk_get_grub_dev): Likewise.
3670 (grub_util_check_block_device): Likewise.
3671 (grub_util_check_char_device): Likewise.
3672 (grub_make_system_path_relative_to_its_root): Likewise.
3673 * util/grub-editenv.c (create_envblk_file): Likewise.
3674 (open_envblk_file): Likewise.
3675 (write_envblk): Likewise.
3676 * util/grub-fstest.c (cmd_cp): Likewise.
3677 (cmd_cat): Likewise.
3678 (cmd_cmp): Likewise.
3679 * util/grub-menulst2cfg.c (main): Likewise.
3680 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3681 (write_font_width_spec): Likewise.
3682 (write_font_pf2): Likewise.
3683 * util/grub-mkimage.c (generate_image): New argument outname.
3684 All users updated.
3685 Remove unreacheable message.
3686 (options): Unify messages.
3687 (help_filter): Likewise.
3688 * util/grub-mklayout.c (usage): Removed (unused).
3689 (main): Print filename in error.
3690 * util/grub-mkrescue.in: Fix wrong quoting.
3691 * util/grub-setup.c (setup): Print filename in error.
3692 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3693 (check_sas): Likewise.
3694 * util/misc.c (grub_util_get_fp_size): Removed.
3695 (grub_util_get_image_size): Print filename in error.
3696 (grub_util_read_at): Removed.
3697 (grub_util_read_image): Print filename in error.
3698 (grub_util_load_image): Likewise.
3699 (grub_util_write_image_at): New argument filename. All users updated.
3700 Print filename in error.
3701 (grub_util_write_image): New argument filename. All users updated.
3702 Print filename in error.
3703 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3704 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3705
0a96117d
VS
37062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/Makefile.core.def (pxechain): New module.
3709 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3710 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3711 function.
3712 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3713 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3714
aca002f7
VS
37152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3718 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3719 * include/grub/err.h (grub_error_saved): New struct.
3720 (grub_errmsg): Make array size explicit.
3721 * include/grub/misc.h (grub_error_save): New function.
3722 (grub_error_load): Likewise.
3723 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3724 (grub_error_push): Update `errno' member name.
3725 (grub_error_pop): Likewise
3726 * grub-core/net/tftp.c (tftp_data): New member save_err.
3727 (tftp_receive): Save error.
3728 (tftp_open): Restore error.
3729
a51dab13
VS
37302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3733 to real mode down to execute A20-related code in protected mode as
3734 intended.
3735
eb6e6649
GS
37362012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3737
3738 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3739 NULL when the argument `level' has an unexpected value.
3740
92cd0f6e
VS
37412012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 Move platform-dependent files from $prefix to $prefix/$platform.
3744
3745 * config.h.in (GRUB_TARGET_CPU): New definition.
3746 (GRUB_PLATFORM): Likewise.
3747 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3748 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3749 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3750 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3751 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3752 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3753 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3754 * grub-core/normal/term.c (read_terminal_list): Likewise.
3755 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3756 $prefix/locale.
3757 (grub_gettext_init_ext): Likewise.
3758 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3759 grub_platform.
3760 * util/grub-install.in: Update directories.
3761 * util/grub-mknetdir.in: Likewise.
3762 * util/grub-mkrescue.in: Likewise.
3763
db606889
VS
37642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3767 grub_error framework. All users updated.
3768
c39992a4
VS
37692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3772 lists (by always binsearching), improve caching (cache strings
3773 used for binsearch, not only results), improve
3774 maintainability (by using more structured binary search) and correct
3775 error handling.
3776
1e5ec32f
VS
37772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/script/execute.c (grub_script_return): Fix warning.
3780
ac576cde
VS
37812012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/script/execute.c (grub_script_return): Fix potential
3784 NULL-dereference.
3785 Reported by: Jim Meyering.
3786
498453f6
VS
37872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * po/POTFILES.in: Regenerate.
3790 * util/grub-install.in: Gettextize the strings missed in first pass.
3791
8be63f2e
VS
37922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * Makefile.util.def (grub-mkdevicemap): Removed.
3795 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3796 * include/grub/util/deviceiter.h: Removed.
3797 * util/deviceiter.c: Likewise.
3798 * util/getroot.c (grub_util_get_os_disk): New function.
3799 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3800 replacement for EFI.
3801 * util/grub-mkdevicemap.c: Removed.
3802 * util/grub-probe.c (probe): Handle PRINT_DISK.
3803 (argp_parser): Handle -t disk.
3804
8e1e4e39
VS
38052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * util/grub-mkfont.c: Migrate to argp.
3808 * util/grub-mklayout.c: Likewise.
3809 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3810 * util/grub-mkrelpath.c: Likewise.
3811 * util/grub-probe.c: Likewise.
3812 * util/grub-script-check.c: Likewise.
3813
4459819a
VS
38142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * util/grub-reboot.in: Add missing datarootdir.
3817 Add missing newline.
3818 * util/grub-set-default.in: Add missing datarootdir.
3819 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3820 * util/grub-mkrescue.in: Likewise.
3821
f65741c7
VS
38222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3825
c1a33466
VS
38262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * util/grub-kbdcomp.in: Add decent help and gettextize.
3829 * docs/man/grub-kbdcomp.h2m: New file.
3830
c76899a0
VS
38312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 Migrate grub-mkimage.c to argp.
3834
3835 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3836 (grub-setup): Likewise.
3837 * util/grub-setup.c (print_version): Move to ...
3838 * util/argp_common.c (print_version): ... here.
3839 * util/grub-setup.c (argp_program_version_hook): Move to ...
3840 * util/argp_common.c (argp_program_version_hook): ... here.
3841 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3842 safety.
3843 * util/grub-mkimage.c (main): Migrate to argp.
3844
57db0757
VS
38452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * util/grub-mkrescue.in: Use same message as
3848 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3849 for better translations.
3850
18534ad9
VS
38512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3854 options with generic grub-mkrescue.in with the goal of future
3855 merge.
3856
c84ba308
VS
38572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/kern/mm.c: Add missing include of i18n.h
3860 * grub-core/lib/relocator.c: Likewise.
3861
347998c2
VS
38622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3865 error.
3866 (allocate_pages): Check return value.
3867 Replace fatal with error.
3868 (grub_linux_boot): Replace printf with dprintf.
3869 Check find_mmap_size return value.
3870 Replace fatal with error.
3871 Don't call grub_machine_fini.
3872 (grub_load_elf64): Replace printf with dprintf.
3873 (grub_cmd_linux): Likewise.
3874 (grub_cmd_initrd): Likewise.
3875 (grub_cmd_payload): Likewise.
3876
c779226e
VS
38772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3880 message.
3881 * grub-core/video/radeon_fuloong2e.c
3882 (grub_video_radeon_fuloong2e_setup): Likewise.
3883 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3884 * grub-core/video/video.c (grub_video_set_mode): Don't override
3885 standard out of memory message.
3886
dc87d45a
GS
38872012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3888
3889 NetBSD disk wedge support.
3890
3891 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3892 [__NetBSD__]: Handle NetBSD disk wedges.
3893 * util/getroot.c (convert_system_partition_to_system_disk)
3894 [__NetBSD__]: Likewise.
3895
055f856f
MW
38962012-02-03 Mark Wooding <mdw@distorted.org.uk>
3897
3898 * util/grub-mkconfig.in: Use umask rather than chmod to create
3899 grub.cfg.new to avoid insecure grub.cfg.
3900
4a9f8346
VS
39012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/commands/ls.c: Gettextize.
3904 * grub-core/commands/setpci.c: Likewise.
3905 * grub-core/commands/videotest.c: Likewise.
3906 * grub-core/disk/geli.c: Likewise.
3907 * grub-core/kern/mm.c: Likewise.
3908 * grub-core/lib/relocator.c: Likewise.
3909 * grub-core/loader/efi/appleloader.c: Likewise.
3910 * grub-core/loader/i386/xnu.c: Likewise.
3911 * grub-core/loader/ia64/efi/linux.c: Likewise.
3912 * grub-core/loader/xnu.c: Likewise.
3913 * grub-core/net/dns.c: Likewise.
3914 * grub-core/net/net.c: Likewise.
3915 * grub-core/script/lexer.c: Likewise.
3916 * grub-core/script/parser.y: Likewise.
3917 * grub-core/script/yylex.l: Likewise.
3918 * util/getroot.c: Likewise.
3919 * util/grub-setup.c: Likewise.
3920
a646a366
VS
39212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3924 number.
3925
54e2be26
VS
39262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3929
f7c71e68
VS
39302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3933 macro.
3934 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3935 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3936
a32d5c71
VS
39372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3940 * util/grub-install.in: Gettextize.
3941 * util/grub-mkconfig.in: Likewise.
3942 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3943 if not available.
3944 (grub_warn): Gettextize.
3945 * util/grub-mknetdir.in: Gettextize.
3946 * util/grub-mkrescue.in: Likewise.
3947 * util/grub-mkstandalone.in: Likewise.
3948 * util/grub-reboot.in: Likewise.
3949 * util/grub-set-default.in: Likewise.
3950 * util/grub.d/00_header.in: Likewise.
3951 * util/grub.d/10_hurd.in: Likewise.
3952 * util/grub.d/10_kfreebsd.in: Likewise.
3953 * util/grub.d/10_linux.in: Likewise.
3954 * util/grub.d/10_netbsd.in: Likewise.
3955 * util/grub.d/10_windows.in: Likewise.
3956 * util/grub.d/20_linux_xen.in: Likewise.
3957 * util/grub.d/30_os-prober.in: Likewise.
3958 * po/POTFILES-shell.in: Regenerate.
3959
69edd81a
RL
39602012-02-03 Richard Laager <rlaager@wiktel.com>
3961
3962 * util/grub-mkimage.c (main): Fix format-security warning.
3963 * util/grub-mkrelpath.c (main): Likewise.
3964 * util/grub-probe.c (main): Likewise.
3965
65f08dbf
RL
39662012-02-03 Richard Laager <rlaager@wiktel.com>
3967
3968 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3969 failure.
3970 Put back lost PRINT_DRIVE.
3971
e9084abe
RL
39722012-02-03 Richard Laager <rlaager@wiktel.com>
3973
3974 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3975 (grub_guess_root_devices): Replace strlen with sizeof.
3976 Avoid crash.
3977 (find_root_devices_from_poolname): Remove unused variable.
3978 Handle raidzN.
3979
cf5f7ee7
VS
39802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Support install on multi-device filesystems.
3983
3984 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3985 (grub_guess_root_devices): ...this. Return char **. All users updated.
3986 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3987 Removed.
3988 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3989 (find_root_devices_from_poolname): ... here.
3990 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3991 Support zfs-fuse.
3992 (grub_guess_root_device): Rename to ...
3993 (grub_guess_root_devices): ... this. Return char **. All users updated.
3994 * util/grub-install.in: Handle multi-device filesystems.
3995 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3996 argument. All users updated.
3997 Handle multi-device filesystems.
3998 Use 'delim' as separator.
3999 Remove device check to allow filesystems on file.
4000 (main): Support -0 argument. Handle multi-device.
4001 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4002 Fix a cross-device check while on it.
4003 (arguments): Remove root_dev.
4004 (argp_parser): Remove -r.
4005 (main): Remove root_dev.
4006
2f53a9ed
VS
40072012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4010
17e1d934
VS
40112012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4014 symbol.
4015 Reported by: NODA, Kai <nodakai>.
4016
d3e3fab5
VS
40172012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 Fix ehci on amd64.
4020
4021 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4022 pointers.
4023 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4024 (grub_ehci_setup_qh): Likewise.
4025 (grub_ehci_find_qh): Likewise.
4026 (grub_ehci_transaction): Likewise.
4027 (grub_ehci_setup_transfer): Likewise.
4028 (grub_ehci_check_transfer): Likewise.
4029 (grub_ehci_portstatus): Likewise.
4030 (grub_ehci_detect_dev): Likewise.
4031 (grub_ehci_transfer_controller_data): New field td_last_phys.
4032 (grub_ehci_setup_transfer): Fill td_last_phys.
4033 (grub_ehci_check_transfer): Use td_last_phys.
4034
3008675b
SG
40352012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4036
4037 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4038 if no submenu is present.
4039
fc9b5652
AN
40402012-02-01 Aleš Nesrsta <starous@volny.cz>
4041
4042 CBI support.
4043
4044 * include/grub/usb.h (grub_usbms_protocol_t): New values
4045 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4046 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4047 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4048 (grub_usbms_dev): Add subclass, protocol and intrpt.
4049 Remove in_maxsz and out_maxsz.
4050 (grub_usbms_reset): Rename to ...
4051 (grub_usbms_bo_reset): .. this.
4052 (grub_usbms_cbi_cmd): New function.
4053 (grub_usbms_cbi_reset): Likewise.
4054 (grub_usbms_reset): Likewise.
4055 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4056 (grub_usbms_transfer): Rename to ...
4057 (grub_usbms_transfer_bo): ... this.
4058 (grub_usbms_transfer_cbi): Likewise.
4059 (grub_usbms_transfer): Likewise.
4060
a2b81d53
AN
40612012-02-01 Aleš Nesrsta <starous@volny.cz>
40622012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4065 the support for the CS5536 modification thereos and few bugfixes.
4066
4067 * grub-core/Makefile.core.def (ehci): New module.
4068 * grub-core/bus/usb/ehci.c: New file.
4069 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4070 port and hubaddr. All users updated.
4071 Save port and hubaddr into dev structure.
4072 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4073 define.
4074 * include/grub/pci.h (grub_dma_phys2virt): New function.
4075 (grub_dma_virt2phys): Likewise.
4076 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4077
b1d51f02
VS
40782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4081 check as some mkfs implementations omit it.
4082
fc694106
VS
40832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4086
6c0920e3
VS
40872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4090 Add new member volname2.
4091 (grub_jfs_label): Use volname2 if available.
4092
d1a46f9a
VS
40932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4096 over last_mounted as seen in image generated by mkfs.nilfs2.
4097 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4098
dec8ed14
VS
40992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4102 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4103 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4104
7397c69b
VS
41052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4108 over the sector.
4109
b3fe42ad
VS
41102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4113 subvolume name (by removing a bogus and useless check).
4114
10476bb0
VS
41152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4118 sizeof while on it.
4119
9c08ad87
VS
41202012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4123 (grub_scsi_read_capacity10): ... this.
4124 (grub_scsi_read_capacity16): New function.
4125 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4126 0xffffffff.
4127 Fix off-by-one error.
4128 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4129 64-bit unsigned.
4130 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4131 (grub_scsi_read_capacity10): ... this.
4132 (grub_scsi_read_capacity_data): Rename to ...
4133 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4134 (grub_scsi_read_capacity16): New struct.
4135 (grub_scsi_read_capacity16_data): Likewise.
4136 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4137 grub_scsi_cmd_read_capacity10.
4138 New command grub_scsi_cmd_read_capacity16.
4139
bc8d0f45
VS
41402012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 SCSI >2TiB support.
4143
4144 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4145 (grub_scsi_write16): Likewise.
4146 (grub_scsi_read): Use read16 when necessary.
4147 (grub_scsi_write): Likewise.
4148 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4149 (grub_scsi_write16): Likewise.
4150 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4151
cc774926
VS
41522012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 SCSI write support (for usbms mainly).
4155
4156 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4157 a const pointer.
4158 (grub_scsi_write): Implement.
4159 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4160
67639fd7
VS
41612012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4164 variable.
4165
9079d3ed
VS
41662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4169
c6a6f204
VS
41702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * po/POTFILES.in: Regenerate.
4173
ecbf8cd1
VS
41742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4177 with grub_printf to avoid unnecessary fatal failure.
4178
0b3b3b38
VS
41792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4182 (INT_MAX): Likewise.
4183 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4184 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4185 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4186 (strcpy): Likewise.
4187 (strstr): Likewise.
4188 (strchr): Likewise.
4189 (strncpy): Likewise.
4190 (strcat): Likewise.
4191 (strncat): Likewise.
4192 (strcoll): Likewise.
4193 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4194 (GRUB_INT_MAX): Likewise.
4195
db7337a3
VS
41962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4199 unexpected error.
4200 (optimize_utf8): Likewise.
4201 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4202
f37c87e1
VS
42032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/boot/i386/pc/lnxboot.S: Use
4206 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4207 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4208 location.
4209 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4210 definition.
4211 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4212
63fe43f3
VS
42132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4216 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4217 now to avoid double free.
4218 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4219 hostdisk.
4220 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4221 * util/grub-probe.c (escape_of_path): Always return a new copy.
4222 (print_full_name): Escape path.
4223 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4224 Fix hints on abstractions.
4225
ebe2c961
VS
42262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4229 Don't add "root" line if no compatibility hont is available.
4230 Suggested by: Seth Goldberg.
4231
2b5336a2
VS
42322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4235 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4236 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4237 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4238
74310bd8
VS
42392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4242
c30582ba
VS
42432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * util/grub-pe2elf.c (ehdr): Make static.
4246 (shdr): Likewise.
4247 (num_sections): Likewise.
4248 (offset): Likewise.
4249
5f47782c
VS
42502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 Eliminate ofpath limits and possible overflows.
4253
4254 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4255 (OF_PATH_MAX): Removed.
4256 (MAX_DISK_CAT): New const.
4257 (find_obppath): Use allocated rather than preallocated buffer.
4258 Return result. Argument of_path removed. All users updated.
4259 Add missing fdstat.
4260 (xrealpath): New function.
4261 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4262 Allocate rather than use preallocated buffer. All users updated.
4263 (__of_path_common): Use allocated rather than preallocatecd buffer.
4264 Return result. Argument of_path removed. All users updated.
4265 (vendor_is_ATA): Read only needed part form the file.
4266 (check_sas): Allocate depending on contents rather than fixed.
4267 (main) [STANDALONE]: Handle NULL result.
4268
f990cbf9
VS
42692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4272
9c6e84b8
VS
42732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Cryptodisk write support.
4276
4277 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4278 (grub_cryptodisk_decrypt): Moved logic to ...
4279 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4280 (grub_cryptodisk_write): Implement.
4281 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4282 (grub_util_fd_write): ... this. Make global.
4283 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4284
87cf9744
VS
42852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * include/grub/list.h (grub_list_remove): Don't crash if element is
4288 removed twice.
4289
ca8c0baf
VS
42902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Rename ofconsole to console.
4293
4294 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4295 as sysnonym to console.
4296 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4297 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4298 Rename grub_ofconsole_ to grub_console_. All users updated
4299 (grub_console_term_output): Rename "ofconsole" to "console".
4300 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4301 as "console".
4302
64c8b8f6
VS
43032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4306 handling.
4307 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4308 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4309 GRUB_DISK_DEVICE_FILE_ID.
4310
f6c434d5
VS
43112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4314 and improve performance.
4315
5858b42d
VS
43162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4319 missing ieee1275/ prefix on whole disk.
4320
4ed3c26b
VS
43212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4324 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4325
df71143e
VS
43262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4329
076e7c0f
VS
43302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Merge common RAID and LVM logic to an abstract diskfilter.
4333 Add LDM support using the same framework.
4334
4335 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4336 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4337 (libgrubmods): Remove grub-core/disk/raid.c and
4338 grub-core/partmap/gpt.c.
4339 * grub-core/Makefile.core.def (ldm): New module.
4340 (raid): Renamed to diskfilter. All users updated.
4341 * grub-core/disk/raid.c: Moved to ...
4342 * grub-core/disk/diskfilter.c: ... here.
4343 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4344 (lv_num): New var.
4345 (find_array): Renamed to ...
4346 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4347 (grub_is_array_readable): Renamed to ...
4348 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4349 (insert_array): New argument id.
4350 (is_node_readable): New function.
4351 (scan_device): Rename to ...
4352 (scan_disk): .. this. Restrict to one disk.
4353 (scan_devices): New function.
4354 (grub_diskfilter_iterate): Support multi-LV.
4355 Skip invisible and nameless LVs.
4356 (grub_diskfilter_memberlist): Support multi-LV.
4357 (grub_diskfilter_read_node): New function.
4358 (grub_raid_read): Most of logic moved to ...
4359 (read_segment): ... here
4360 (read_lv): New function.
4361 (grub_diskfilter_get_vg_by_uuid): New function.
4362 (grub_diskfilter_make_raid): Likewise.
4363 * grub-core/disk/ldm.c: New file.
4364 * grub-core/disk/lvm.c (vg_list): Removed.
4365 (lv_count): Likewise.
4366 (scan_depth): Likewise.
4367 (is_lv_readable): Likewise.
4368 (grub_lvm_getvalue): Advance pointer past the number.
4369 (find_lv): Removed.
4370 (do_lvm_scan): Refactored into ...
4371 (grub_lvm_detect): ... this. Support raid.
4372 (grub_lvm_iterate): Removed.
4373 (grub_lvm_memberlist): Likewise.
4374 (grub_lvm_open): Likewise.
4375 (grub_lvm_close): Likewise.
4376 (read_lv): Likewise.
4377 (read_node): Likewise.
4378 (is_node_readable): Likewise.
4379 (is_lv_readable): Likewise.
4380 (grub_lvm_read): Likewise.
4381 (grub_lvm_write): Likewise.
4382 (grub_lvm_dev): Use diskfilter
4383 (GRUB_MOD_INIT): Likewise.
4384 (GRUB_MOD_FINI): Likewise.
4385 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4386 new interface.
4387 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4388 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4389 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4390 grub_diskfilter_read_node.
4391 Fix a bug with xor.
4392 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4393 grub_diskfilter_read_node.
4394 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4395 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4396 (grub_disk_dev_iterate): Move from here...
4397 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4398 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4399 Make global.
4400 (grub_hostdisk_find_partition_start): Likewise.
4401 (grub_hostdisk_os_dev_to_grub_drive): New function.
4402 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4403 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4404 * util/getroot.c (make_device_name): ... here.
4405 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4406 Move to ...
4407 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4408 * grub-core/kern/emu/hostdisk.c
4409 (convert_system_partition_to_system_disk): Move to ...
4410 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4411 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4412 * util/getroot.c (device_is_wholedisk): ... here.
4413 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4414 * util/getroot.c (find_system_device): ... here.
4415 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4416 Move to ...
4417 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4418 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4419 Move to ...
4420 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4421 Handle LDM.
4422 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4423 Move to ...
4424 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4425 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4426 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4427 DISKFILTER.
4428 * include/grub/raid.h: Renamed to ...
4429 * include/grub/diskfilter.h: ... this.
4430 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4431 (GRUB_RAID_LAYOUT_*): Make into array.
4432 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4433 (grub_diskfilter_vg): New struct.
4434 (grub_diskfilter_pv_id): Likewise.
4435 (grub_raid_member): Removed.
4436 (grub_raid_array): Likewise.
4437 (grub_diskfilter_pv): New struct.
4438 (grub_diskfilter_lv): Likewise.
4439 (grub_diskfilter_segment): Likewise.
4440 (grub_diskfilter_node): Likewise.
4441 (grub_diskfilter_get_vg_by_uuid): New proto.
4442 (grub_raid_register): Inline.
4443 (grub_diskfilter_unregister): Likewise.
4444 (grub_diskfilter_make_raid): New proto.
4445 (grub_diskfilter_vg_register): Likewise.
4446 (grub_diskfilter_read_node): Likewise.
4447 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4448 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4449 (grub_util_is_ldm): Likewise.
4450 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4451 (grub_hostdisk_find_partition_start): Likewise.
4452 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4453 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4454 New definition.
4455 (grub_gpt_partition_map_iterate): New proto.
4456 * include/grub/lvm.h (grub_lvm_vg): Removed.
4457 (grub_lvm_pv): Likewise.
4458 (grub_lvm_lv): Likewise.
4459 (grub_lvm_segment): Likewise.
4460 (grub_lvm_node): Likewise.
4461 * util/getroot.c [...]
4462 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4463 (probe_abstraction): Likewise.
4464 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4465 (main): Remove dead logic.
4466
8a7f9b9c
VS
44672012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 Simplify root device discover and don't fail when trying to open
4470 incorrect devices.
4471
4472 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4473 function.
4474 (get_diskname_from_path): Likewise.
4475 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4476 of iterating.
4477
30545b85
VS
44782012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4481
28ea58cf
VS
44822012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4485 pastthe end.
4486
692dabca
VS
44872012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * util/grub-install.in: Add missing \.
4490 Reported by: gentoofan
4491
f6e4ea70
VS
44922012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4495 (direct_read): Use correct compressed size.
4496 (grub_squash_read_data): Likewise.
4497
44982012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4499
4500 * docs/grub.texi (Platform limitations): New section.
4501 (Platform-specific operations): Likewise.
4502 * docs/grub-dev.texi (Porting): Likewise.
4503
76261110
VS
45042012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 IEEE1275 disk write support.
4507
4508 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4509 const void *.
4510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4511 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4512 and seek loginc to ...
4513 (grub_ofdisk_prepare): ... here.
4514 (grub_ofdisk_write): Implement.
4515
fc36d603
VS
45162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 ARC disk write support.
4519
4520 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4521 (reopen): New argument writable. All users updated.
4522 Handle required access mode.
4523 (grub_arcdisk_write): Implement.
4524 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4525 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4526
e06c2e7a
VS
45272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4530 (read_sblock): Don't attempt to read superblocks outside the disk size.
4531
ff447958
VS
45322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4535 first superblock to find the second one when possible.
4536
9e88df39
VS
45372012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * util/grub-install.in: Fix an ARC bug.
4540 Print a warning if no platform-specific setup is available.
4541
bb26e4ff
VS
45422012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Use static allocation rather than scratch pointer in reed_solomon.
4545 It decreases its size significantly and avoids a variable in .text.
4546
4547 * grub-core/lib/reed_solomon.c (scratch): Removed.
4548 (chosenstat): New const or static array.
4549 (sigma): Likewise.
4550 (errpot): Likewise.
4551 (errpos): Likewise.
4552 (sy): Likewise.
4553 (mstat): Likewise.
4554 (errvals): Likewise.
4555 (eqstat): Likewise.
4556 (pol_evaluate): Replace x with log_x argument. All users updated.
4557 (syndroms): Removed.
4558 (gauss_solve): Use statically allocated arrays.
4559 (rs_recover): Likewise.
4560 Calculate syndroms directly.
4561 (decode_block): Use statically allocated arrays.
4562 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4563 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4564
2e13ede5
VS
45652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Eliminate fixed limit on reed solomon decoder length.
4568
4569 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4570 rather than hardcoding the address.
4571 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4572 no_reed_solomon_length.
4573 Move gate_a20 to no-reed-solomon part.
4574 Don't force a particular size of no reed-solomon part.
4575 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4576 Removed.
4577 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4578 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4579
f8a9ab12
VS
45802012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/commands/wildcard.c (match_files): Handle filenames
4583 without explicit device.
4584 (wildcard_expand): Don't add explicit device if not already present.
4585 * tests/grub_script_echo1.in: Add a new expansion test.
4586
87edb894
VS
45872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 Replace single-linked with double-linked lists. It results in more
4590 compact and more efficient code.
4591
4592 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4593 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4594 (grub_list_remove): Moved from here ...
4595 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4596 (grub_prio_list_insert): Set prev.
4597 * include/grub/list.h (grub_list): Add prev. All users updated.
4598
48b391e9
VS
45992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 Handle newer autotools. Add some missing quotes while on it.
4602
4603 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4604 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4605 (pkgdata_DATA): ... here.
4606 * Makefile.util.def (update-grub_lib): Removed.
4607 * conf/Makefile.common (pkglib_DATA): Removed.
4608 (pkglib_SCRIPTS): Likewise.
4609 (pkgdata_DATA): New variable.
4610 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4611 needed.
4612 Add missing quotes.
4613 Remove unused variable while on it.
4614 * tests/util/grub-shell.in: Likewise.
4615 * util/grub-install.in: Likewise.
4616 * util/grub-mkconfig.in: Likewise.
4617 * util/grub-mknetdir.in: Likewise.
4618 * util/grub-mkrescue.in: Likewise.
4619 * util/grub-mkstandalone.in: Likewise.
4620 * util/grub.d/00_header.in: Likewise.
4621 * util/grub.d/10_hurd.in: Likewise.
4622 * util/grub.d/10_illumos.in: Likewise.
4623 * util/grub.d/10_kfreebsd.in: Likewise.
4624 * util/grub.d/10_linux.in: Likewise.
4625 * util/grub.d/10_netbsd.in: Likewise.
4626 * util/grub.d/10_windows.in: Likewise.
4627 * util/grub.d/20_linux_xen.in: Likewise.
4628 * util/grub.d/30_os-prober.in: Likewise.
4629 * util/update-grub_lib.in: Removed.
4630
46312012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4632
4633 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4634 a workaround for intel problem.
4635
66832792
PRP
46362012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
46372012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
46382012-01-23 pfsmorigo
4639
4640 * util/grub-install.in: Support dd'in into PreP partition.
4641 * util/grub-probe.c (probe): Support discovering partition type.
4642 (main): Support -t msdos_parttype.
4643
7816a17e
VS
46442012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4647 infinite recursion using counter.
4648 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4649 init to skip it if the magic check fails.
4650 (dec_stream_header): Init s->crc32.
4651
8f9d3a8c
ZB
46522012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
46532012-01-22 Zachary Bedell <pendorbound@gmail.com>
46542012-01-22 Richard Laager <rlaager@wiktel.com>
4655
4656 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4657 All users updated.
4658 (find_bestub): Determine correct size.
4659 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4660 (scan_disk): Align the size down.
4661 Call check pool before find_bestub to have ashift.
4662
b055dd32
VS
46632012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4666 dprintf in no-malloc zone.
4667
d779e9bd
ML
46682012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4669
4670 * configure.ac: Add back in test for limits.h.
4671
b508af69
VS
46722012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Support 4K-sector NTFS.
4675
4676 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4677 (grub_ntfs_data): Remove blocksize.
4678 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4679 Remove data argument. All users updated.
4680
dad9c8b5
VS
46812012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4684 being in .text to avoid dprel references.
4685 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4686 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4687 (grub_arch_highmemsize): Likewise.
4688 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4689 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4690 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4691
d43a777e
VS
46922012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4695
4696 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4697 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4698
34e4208f
VS
46992012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4702 GRUB_UTIL.
4703 (grub_set_datetime_cmos): Likewise.
4704
3ec0fc1c
VS
47052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Make XZ compression parameters dependent on target and not host CPU.
4708
4709 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4710 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4711
22489834
VS
47122012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4715 set but not used variable.
4716
8502fbca
VS
47172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4720 created when no uuid support is compiled into mkfs.reiser.
4721
76df2068
VS
47222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4725 (utf8_to_macroman): Do the opposite.
4726 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4727
64e3f8f6
VS
47282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * configure.ac: Refise build qemu_mips w/o unifont.
4731
9c271078
VS
47322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 Eliminate grub_min/grub_max prone to overflow usage.
4735
4736 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4737 (poll_nonroot_hub): Likewise.
4738 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4739 (grub_affs_label): Likewise.
4740 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4741 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4742 (grub_hfs_label): Likewise.
4743 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4744 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4745 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4746 (zap_leaf_array_get): Likewise.
4747 (dnode_get_path): Likewise.
4748 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4749 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4750 * grub-core/script/execute.c (grub_script_break): Likewise.
4751 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4752 grub_max.
4753 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4754 * include/grub/misc.h (grub_min): Removed.
4755 (grub_max): Likewise.
4756
80662dbc
VS
47572012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4758
4759 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4760 direct.inode = 0.
4761
e6da1467
VS
47622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4765
b1ac4cb1
VS
47662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4769
b4bf7c3b
VS
47702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4773 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4774
8ee1101a
VS
47752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4778 rather than a hack for grub_strncasemap.
4779
47802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 Support multiple initrds
4783 Note: part of this was accidently committed in r3739.
4784
4785 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4786 initrd.
4787 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4788 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4789 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4790 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4791 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4792
4d1e2bc9
VS
47932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4796 disks with unknown size.
4797 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4798
75b49ebe
VS
47992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 Remove defines pertaining to arbitrary limits not affecting GRUB
4802 anymore.
4803
4804 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4805 (EXT2_MAX_SYMLINKCNT): Likewise.
4806 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4807 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4808 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4809 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4810 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4811 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4812 (DN_MAX_OBJECT_SHIFT): Likewise.
4813 (DN_MAX_OFFSET_SHIFT): Likewise.
4814 (DN_MAX_OBJECT): Likewise.
4815 (DNODES_PER_LEVEL_SHIFT): Likewise.
4816 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4817 (SPA_MAXBLOCKSIZE): Likewise.
4818 (SPA_BLOCKSIZES): Likewise.
4819 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4820 (MZAP_MAX_BLKSZ): Likewise.
4821
74a1dce7
VS
48222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4825 handle NULL appropriately.
4826 Remove MIN.
4827
30c7d3ce
VS
48282012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 Fix efiemu.
4831
4832 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4833 cpu/types.h.
4834 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4835 * configure.ac: Fix efiemu check.
4836
3c76ea0c
VS
48372012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4840 grub_probe.
4841 Reported by: adamwill
4842
7e532280
SG
48432012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4844
4845 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4846
30492374
VS
48472012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 Fix handling of wide characters in gfxterm.
4850
4851 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4852 (clear_char): Likewise.
4853 (paint_char): Skip code == NULL chars.
4854 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4855
e70cb72f
VS
48562012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/normal/charset.c: Move comment to right place.
4859
5c827cf9
VS
48602012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4863 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4864 (grub_affs_mount): Revert the correct version checking.
4865
53603892
VS
48662012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * docs/grub.texi (Unicode): Mention several other unsupported features.
4869
ff094b9b
VS
48702011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4873 case statements as compile-time one.
4874 (direct_read): Prevent spurious warnings.
4875 (grub_squash_read_data): Likewise.
4876
c029da8a
VS
48772011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 Various squash4 fixes and LZO and XZ support.
4880
4881 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4882 Add xzembed source files.
4883 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4884 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4885 (grub_squash_inode): New subtype long_dir.
4886 (SQUASH_TYPE_LONG_DIR): New inode type.
4887 (COMPRESSION): New enum.
4888 (XZBUFSIZ): New const.
4889 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4890 (read_chunk): Use data->decompress.
4891 (zlib_decompress): New function.
4892 (lzo_decompress): Likewise.
4893 (xz_decompress): Likewise.
4894 (squash_mount): Set new data fields.
4895 (grub_squash_iterate_dir): Handle long dir.
4896 (squash_unmount): Free xzdec and xzbuf.
4897 (grub_squash_open): Check ino type.
4898 (direct_read): Stylistic fixes. Use data->decompress.
4899 (grub_squash_read_data): Likewise.
4900 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4901 (get_byte): Likewise.
4902 (grub_zlib_disk_read): Removed.
4903 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4904 (GRUB_POSIX_BOOL_DEFINED): New define.
4905 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4906 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4907 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4908 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4909
7a45a539
VS
49102011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Don't override more informative errors.
4913
4914 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4915 * grub-core/font/font.c (open_section): Likewise.
4916 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4917 filename. Don't override errors.
4918 (grub_cmd_openbsd_ramdisk): Don't override errors.
4919 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4920 (grub_cmd_initrd): Likewise.
4921 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4922 (grub_cmd_initrd): Likewise.
4923 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4924 (grub_cmd_linux): Likewise.
4925 (grub_cmd_initrd): Likewise.
4926 (grub_cmd_payload): Likewise.
4927 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4928 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4929 (grub_cmd_module): Likewise.
4930 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4931 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4932 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4933 (grub_cmd_xnu_mkext): Likewise.
4934 (grub_cmd_xnu_ramdisk): Likewise.
4935 (grub_xnu_check_os_bundle_required): Likewise.
4936 (grub_xnu_load_kext_from_dir): Likewise.
4937 (grub_cmd_xnu_kextdir): Likewise.
4938 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4939
b2d004db
VS
49402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4943 as 1024 in block size field. Found on one of my test images.
4944 Small optimisation while on it.
4945
ec000eac
VS
49462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4949 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4950 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4951 performance fixes while on it.
4952 (grub_sfs_close): Fix memory leak while on it.
4953 (grub_sfs_label): Convert Latin1 to UTF-8.
4954
f50e1165
VS
49552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4958 space to avoid overflows.
4959 (grub_hfs_label): Convert from macroman to UTF-8.
4960
2ae254de
VS
49612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4964
0108f491
VS
49652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4968
f45f5f89
VS
49692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * unicode: Import Unicode 6.0 data.
4972
4d8c4765
VS
49732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4974
63fa8ef9
VS
4975 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4976 outside of range.
4977
49782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4981
4982 * include/grub/charset.h (grub_getend): New function.
4983 * grub-core/script/function.c (grub_script_function_find): Use
4984 grub_getend.
4985 * grub-core/normal/completion.c (add_completion): Likewise.
4986
f3cb4a4e
VS
49872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4990 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4991 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4992 (GRUB_UNICODE_TAG_END): Likewise.
4993 (GRUB_UNICODE_LAST_VALID): Likewise.
4994
5da8dbc5
VS
49952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4998 len and make it smaller. All users updated.
4999 * util/import_unicode.py: Put length and not end character.
5000 Check length.
5001
8569f13d
VS
50022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Make better Unicode-compliant and unify some UTF-8 code pathes.
5005
5006 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5007 valid character.
5008 (grub_is_valid_utf8): Use grub_utf8_process.
5009 Check resulting code range.
5010 (grub_utf8_to_ucs4): Use grub_utf8_process.
5011 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5012 valid character.
5013
cc4fddf5
VS
50142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5017
bbc47747
VS
50182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * docs/grub.texi (Filesystems): Mention AFS.
5021
f63d6bf4
VS
50222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * docs/grub.texi (Filesystems): Clarify restrictions.
5025 (Regexp): Mention non-Unicode regexp behaviour.
5026 (Other): Mention non-Unicode matching behaviour.
5027
74bbf0db
VS
50282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5029
f63d6bf4 5030 Make HFS implementation use MacRoman.
74bbf0db
VS
5031
5032 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5033 (macroman): New const array.
5034 (macroman_to_utf8): New function.
5035 (utf8_to_macroman): Likewise.
5036 (grub_hfs_find_dir): Use utf8_to_macroman.
5037 (grub_hfs_dir): Use macroman_to_utf8.
5038 Set case_insensitive.
5039
4ea0316e
VS
50402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5043
d3c13cbd
VS
50442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Integrate hints into autogeneration scripts.
5047
5048 * docs/grub.texi (Filesystems): Add a hostdisk example.
5049 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5050 (grub-probe): Add ofpath.
5051 * gentpl.py: Remove group nosparc64.
5052 * grub-core/commands/search.c (cache_entry): New struct.
5053 (cache): New var.
5054 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5055 * grub-core/commands/search_wrap.c (options): Add platform-specific
5056 hint options.
5057 (grub_cmd_search): Handle platform-specific hints.
5058 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5059 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5060 (grub_util_biosdisk_data): Likewise.
5061 (grub_util_biosdisk_open): Set device_map.
5062 (read_device_map): Handle "" as indication of no map.
5063 Set device_map.
5064 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5065 (grub_util_biosdisk_get_compatibility_hint): New function.
5066 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5067 * include/grub/emu/hostdisk.h
5068 (grub_util_biosdisk_get_compatibility_hint): New proto.
5069 * util/grub-install.in: Don't call grub-mkdevicemap.
5070 Add platform-specific hint to load.cfg.
5071 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5072 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5073 hints. Set root preliminary to compatibility hint, not to OS name.
5074 * util/grub-probe.c (PRINT_*): Add hints.
5075 (print): Make static.
5076 (escape_of_path): New function.
5077 (guess_bios_drive): Likewise.
5078 (guess_efi_drive): Likewise.
5079 (guess_baremetal_drive): Likewise.
5080 (print_full_name): Likewise.
5081 (probe): Handle hints.
5082 (main): Likewise.
5083 * util/ieee1275/devicemap.c: Removed.
5084 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5085 updated.
5086 (grub_util_devname_to_ofpath): Return NULL on failure.
5087
5088 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5089 resource leak.
5090 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5091
5092 * po/POTFILES.in: Regenerated.
5093
5094 Allow purely long options
5095
5096 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5097 (SHORT_ARG_USAGE): Likewise.
5098 (grub_arg_show_help): Compare opt with help_options.
5099 (parse_option): Receive opt as argument. If makes big simplificatons.
5100 All users updated
5101
00ce2df3
VS
51022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5105 Restructure to avoid warning.
5106
e77e325f
VS
51072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * util/grub-install.in: Account for possible escaped comma in device
5110 name.
5111
165099ea
VS
51122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5115 channel.
5116
ce4a999d
VS
51172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5120 allocation and zero-setting.
5121 (grub_ieee1275_get_devname): Check that alias is complete.
5122
379586ad
VS
51232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5126 unaligned segments.
5127
9197b0ad
VS
51282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5131 prefix.
5132 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5133 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5134 Add ieee1275 prefix.
5135
edddb7f9
VS
51362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * docs/grub.texi (Filesystems): Update.
5139
a1a8b1b9
VS
51402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 Support odc, newc and bigendian cpio formats.
5143
5144 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5145 * grub-core/Makefile.core.def (newc): New module.
5146 (odc): Likewise.
5147 (cpio_be): Likewise.
5148 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5149 (MAGIC): Likewise.
5150 (MAGIC2): Likewise.
5151 (head) [MODE_ODC]: Adapt for the format.
5152 (head) [MODE_NEWC]: Likewise.
5153 (head) [!MODE_*]: Write fields of interest as arrays.
5154 (MAGIC_USTAR): Removed.
5155 (read_number) [MODE_NEWC]: Change to hex.
5156 (read_number) [!MODE_*]: Parse binary arrays.
5157 (grub_cpio_find_file): Factor out the code for better structure and
5158 always use read_number.
5159 (grub_cpio_mount): Use MAGIC and MAGIC2.
5160 (grub_cpio_dir): Exit on first hook non-0 return.
5161 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5162 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5163 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5164 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5165 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5166 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5167 * grub-core/fs/newc.c: New file.
5168 * grub-core/fs/odc.c: Likewise.
5169 * grub-core/fs/cpio_be.c: Likewise.
5170
58eba9ee
VS
51712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 Fix handling of tar numbers occupying the whole field.
5174
5175 * grub-core/fs/cpio.c (read_number): New function.
5176 (grub_cpio_find_file): Use read_number instead of strtoull.
5177
a54a0e12
VS
51782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5181 occupying the whole field size.
5182
a6120aca
LA
51832011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5184
5185 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5186
a93964ce
VS
51872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5190
3ea1ca46
SG
51912011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5192
5193 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5194 TARGET_IMG_LDFLAGS.
5195
b87f7ef2
VS
51962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5199 (mountinfo_entry): Increase the field size to take escaping into
5200 account.
5201 (find_root_device_from_libzfs): Add one byte to size of strings for
5202 security.
5203
62092395
VS
52042011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5207 an assert.
5208 * util/grub-setup.c (setup): Likewise.
5209
1f0b1a77
VS
52102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5213 _LzmaDecodeA.
5214
8eba9997
VS
52152011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * docs/grub.texi (Internationalisation): New section.
5218
dd0c91e9
VS
52192011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * docs/grub.texi (Loopback booting): New section.
5222
52232011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5224
5225 * util/grub-mkstandalone.in: Fix minor typo errors.
5226
198e150a
VS
52272011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5230
5231 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5232 net/icmp.c and net/icmp6.c.
5233 (http): New module.
5234 (priority_queue): Likewise.
5235 * grub-core/io/bufio.c: Rewritten.
5236 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5237 TYPE_WITH_CONFIGFILE_OPTION.
5238 (legacy_commands): Add bootp and dhcp.
5239 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5240 (grub_legacy_parse): Likewise.
5241 * grub-core/lib/priority_queue.c: New file.
5242 * grub-core/net/arp.c: Add missing license header.
5243 (arp_find_entry): Removed.
5244 (arp_find_entry): Likewise.
5245 (grub_net_arp_resolve): Rename to ...
5246 (grub_net_arp_send_request): ...this.
5247 (grub_net_arp_receive): New card argument.
5248 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5249 Set router and DNS server.
5250 (grub_net_configure_by_dhcp_ack): Handle routing information.
5251 (grub_cmd_bootp): Set checksum.
5252 (grub_bootp_init): Remove net_dhcp.
5253 * grub-core/net/dns.c: New file.
5254 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5255 completion.
5256 (get_card_packet): Handle allocation.
5257 (grub_efinet_findcards): Set mtu.
5258 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5259 (get_card_packet): Handle allocation.
5260 (emucard): Set mtu.
5261 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5262 (GRUB_MOD_INIT): Set mtu.
5263 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5264 mtu.
5265 (get_card_packet): Handle allocation.
5266 (grub_ofnet_findcards): Set mtu.
5267 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5268 assert.
5269 (grub_net_recv_ethernet_packet): Handle IPv6.
5270 * grub-core/net/http.c: New file.
5271 * grub-core/net/icmp.c: Likewise.
5272 * grub-core/net/icmp6.c: Likewise.
5273 * grub-core/net/ip.c (ip6addr): New type.
5274 (ip6hdr): Likewise.
5275 (reassemble): Likewise.
5276 (cmp): New function.
5277 (reassembles): New variable.
5278 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5279 (id): New variable.
5280 (send_fragmented): New function.
5281 (grub_net_send_ip_packet): Rename to ...
5282 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5283 Handle non-UDP.
5284 (grub_net_recv_ip_packets): Rename to ...
5285 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5286 (free_rsm): New function.
5287 (free_old_fragments): Likewise.
5288 (grub_net_recv_ip4_packets): New function.
5289 (grub_net_send_ip6_packet): Likewise.
5290 (grub_net_send_ip_packet): Likewise.
5291 (grub_net_recv_ip6_packets): Likewise.
5292 (grub_net_recv_ip_packets): Likewise.
5293 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5294 (LINK_LAYER_CACHE_SIZE): New const.
5295 (link_layer_find_entry): New function.
5296 (grub_net_link_layer_add_address): Likewise.
5297 (grub_net_link_layer_resolve_check): Likewise.
5298 (grub_net_link_layer_resolve): Likewise.
5299 (grub_net_ipv6_get_slaac): Likewise.
5300 (grub_net_ipv6_get_link_local): Likewise.
5301 (grub_cmd_ipv6_autoconf): Likewise.
5302 (parse_ip): Handle one number representation.
5303 (parse_ip6): New functoion.
5304 (match_net): Handle IPv6.
5305 (grub_net_resolve_address): Handle IPv6 and DNS.
5306 (grub_net_resolve_net_address): Handle IPv6.
5307 (route_cmp): New function.
5308 (grub_net_route_address): Find best route.
5309 (grub_net_addr_to_str): Handle IPv6.
5310 (grub_net_addr_cmp): New function.
5311 (grub_net_add_addr): Register local route.
5312 (print_net_address): Handle net address.
5313 (grub_net_poll_cards): Retransmit TCP.
5314 (grub_net_poll_cards_idle_real): Likewise.
5315 (have_ahead): New function.
5316 (grub_net_seek_real): Use underlying seek.
5317 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5318 * grub-core/net/tcp.c: New file.
5319 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5320 (cmp): New function.
5321 (ack): Likewise.
5322 (tftp_receive): Handle unordered input.
5323 (destroy_pq): New function.
5324 (tftp_close): Close pq.
5325 * grub-core/net/udp.c: Put missing license header.
5326 (grub_net_udp_socket): New function.
5327 (udp_socket_register): Likewise.
5328 (grub_net_udp_close): Likewise.
5329 (grub_net_recv_udp_packet): Check checksum.
5330 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5331 * include/grub/misc.h (grub_memchr): New function.
5332 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5333 (grub_net_card_driver): Return buf in recv.
5334 (grub_net_slaac_mac_list): New struct.
5335 (grub_network_level_protocol_id): Add ipv6.
5336 (grub_net_network_level_addr): Likewise.
5337 (grub_net_network_level_net_addr): Likewise.
5338 (grub_net_app_protocol): Add seek.
5339 (grub_net_socket): Removed.
5340 (grub_net_sockets): Likewise.
5341 (grub_net_socket_register): Likewise.
5342 (grub_net_socket_unregister): Likewise.
5343 (FOR_NET_SOCKETS): Likewise.
5344 (grub_net_add_addr): Add const.
5345 (GRUB_NET_BOOTP_*): New enum.
5346 (grub_net_addr_cmp): New proto.
5347 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5348 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5349 (grub_net_hwaddr_to_str): NEw proto.
5350 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5351 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5352 (grub_dns_init): New proto.
5353 (grub_dns_fini): Likewise.
5354 (grub_net_tcp_retransmit): Likewise.
5355 (grub_net_link_layer_add_address): Likewise.
5356 (grub_net_link_layer_resolve_check): Likewise.
5357 (grub_net_link_layer_resolve): Likewise.
5358 (grub_net_dns_lookup): Likewise.
5359 (grub_net_add_dns_server): Likewise.
5360 (grub_net_remove_dns_server): Likewise.
5361 (GRUB_NET_TRIES): New const.
5362 (GRUB_NET_INTERVAL): Likewise.
5363 * include/grub/net/arp.h: Mostly rewritten.
5364 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5365 * include/grub/net/ip.h: Mostly rewritten.
5366 * include/grub/net/netbuff.h: Indent.
5367 * include/grub/net/tcp.h: New file.
5368 * include/grub/net/udp.h: Mostly rewritten.
5369 * include/grub/priority_queue.h: New file.
5370 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5371 (grub_swap_bytes64_compile_time): Likewise.
5372 (grub_cpu_to_be16_compile_time): Likewise.
5373 (grub_cpu_to_be32_compile_time): Likewise.
5374 (grub_cpu_to_be64_compile_time): Likewise.
5375 (grub_be_to_cpu64_compile_time): Likewise.
5376
215c1800
VS
53772011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5380 UINT_TO_PTR with cast.
5381
c17e546c
VS
53822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5385 don't use them.
5386
ff6b18b6
VS
53872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5390 already there.
5391
70ffcc93
VS
53922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5395 confusing ipxe.
5396
e5f4d260
VS
53972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5400 Add missing const attribute.
5401 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5402 Likewise.
5403 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5404 Likewise.
5405
8e54b4b7
VS
54062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5409 misaligned access.
5410 (serpent_setkey): Likewise.
5411 (serpent_encrypt_internal): Likewise.
5412 (serpent_decrypt_internal): Likewise.
5413 (serpent_encrypt): Don't put an alignment-increasing cast.
5414 (serpent_decrypt): Likewise.
5415 (serpent_test): Likewise.
5416
813c0a2b
VS
54172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5420
f2b60fbd
VS
54212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5424
5425 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5426 grub_addr_t casts.
5427 (PTR_TO_UINT64): Likewise.
5428 (PTR_TO_UINT32): Likewise.
5429
5ef5c511
VS
54302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5433 because of stack.
5434 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5435 limit.
5436
c476e6df
VS
54372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5440 text_width > available width a bit more gracefully.
5441
384ad7cc
VS
54422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5445 current address calculation.
5446
96f8caf8
VS
54472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5450 stack.
5451 (encode_block): Likewise.
5452
276b7a8b
VS
54532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5456 certainety.
5457
e3fd394a
VS
54582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5461 non-RS part to avoid RS messing with GDT.
5462 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5463 Increase to suit in realmode routines.
5464
54652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/kern/i386/realmode.S: Increase alignment.
5468 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5469
ee9c2e7a
VS
54702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5473 be deterministic.
5474 (syndroms): Compute 0 syndrom.
5475 (rs_recover): Use 0 syndrom.
5476
7a7f7cc9
VS
54772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5480
a14b16d1
VS
54812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5484 brackets.
5485
9f59e9fc
VS
54862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5487
ca1b552c
VS
5488 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5489 account.
5490 (get_top_pad): Likewise.
5491 (get_right_pad): Likewise.
5492 (get_bottom_pad): Likewise.
5493
54942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5497
e739d698
VS
54982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5501 attribute as the structure isn't guaranteed to be properly aligned.
5502 (grub_efi_pci_device_path): Likewise.
5503 (grub_efi_pccard_device_path): Likewise.
5504 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5505 specify the size of `memory_type'.
5506 (grub_efi_vendor_device_path): Likewise.
5507 (grub_efi_controller_device_path): Likewise.
5508 (grub_efi_acpi_device_path): Likewise.
5509 (grub_efi_expanded_acpi_device_path): Likewise.
5510 (grub_efi_atapi_device_path): Likewise.
5511 (grub_efi_scsi_device_path): Likewise.
5512 (grub_efi_fibre_channel_device_path): Likewise.
5513 (grub_efi_1394_device_path): Likewise.
5514 (grub_efi_usb_device_path): Likewise.
5515 (grub_efi_usb_class_device_path): Likewise.
5516 (grub_efi_i2o_device_path): Likewise.
5517 (grub_efi_mac_address_device_path): Likewise.
5518 (grub_efi_ipv4_device_path): Likewise.
5519 (grub_efi_ipv6_device_path): Likewise.
5520 (grub_efi_infiniband_device_path): Likewise.
5521 (grub_efi_uart_device_path): Likewise.
5522 (grub_efi_vendor_messaging_device_path): Likewise.
5523 (grub_efi_hard_drive_device_path): Likewise.
5524 (grub_efi_cdrom_device_path): Likewise.
5525 (grub_efi_vendor_media_device_path): Likewise.
5526 (grub_efi_file_path_device_path): Likewise.
5527 (grub_efi_protocol_device_path): Likewise.
5528 (grub_efi_piwg_device_path): Likewise.
5529 (grub_efi_bios_device_path): Likewise.
5530
cb8f88ea
VS
55312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5534 (grub_ucs4_to_utf8_alloc): Likewise.
5535 (grub_ucs4_to_utf8): Likewise.
5536 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5537 (grub_ucs4_to_utf8_alloc): Likewise.
5538
309e5352
VS
55392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 AFFS never uses unicode.
5542
5543 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5544 (grub_latin1_to_utf8): New inline function.
5545 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5546
e7987e1b
VS
55472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5550 overflow.
5551
efc2616e
VS
55522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5555 (grub_squash_dirent_header): Likewise.
5556 (read_chunk): Don't double swap.
5557 (grub_squash_iterate_dir): Fix swap sizes.
5558
3c349f5a
VS
55592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5562
b453412d
VS
55632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5566 (grub_hfs_iterate_dir): Likewise.
5567
12e9d4d1
VS
55682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Fix video on platforms where unaligned access is forbidden.
5571 Make several optimisations while on it.
5572
5573 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5574 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5575 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5576 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5577 Disable.
5578 (grub_video_fbblit_replace_16bit_1bit):
5579 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5580 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5581 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5582 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5583 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5584 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5585 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5586 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5587 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5588 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5589 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5590 (grub_video_fbblit_replace_index_RGB888): Likewise.
5591 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5592 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5593 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5594 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5595 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5596 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5597 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5598 Disable.
5599 (grub_video_fbblit_blend_XXX565_1bit):
5600 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5601 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5602 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5603 void *.
5604 * grub-core/video/fb/video_fb.c (common_blitter)
5605 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5606 (grub_video_fb_create_render_target_from_pointer)
5607 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5608 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5609 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5610 definition.
5611 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5612
ace96609
VS
56132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5616 HH22 and HM10 relocations.
5617
fd261d73
VS
56182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5621
e59b7857
VS
56222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5625 allocation succeeded.
5626
9b4baaa4
VS
56272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5630 argument a u8 pointer. All users updated.
5631 Handle unaligned buffers.
5632
dc713193
VS
56332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5636 add_part to workaround compiler bug.
5637
30dd48c2
VS
56382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5641
0c6087a8
VS
56422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5645 Reserve alignment invariants.
5646 (grub_multiboot_load): Likewise.
5647 (retrieve_video_parameters): Likewise.
5648 (grub_multiboot_make_mbi): Likewise.
5649
c2e77777
VS
56502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5653 incorrect pointer.
5654
b70b6d11
VS
56552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5658 (grub_pata_pio_write): Likewise.
5659
02a2bf83
VS
56602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Add noreturn attributes and remove unreachable code.
5663
5664 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5665 code.
5666 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5667 code. Mark as noreturn.
5668 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5669 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5670 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5671 unreachable code.
5672 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5673 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5674 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5675 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5676 * include/grub/kernel.h (grub_main): Mark as noreturn.
5677 * include/grub/reader.h (grub_rescue_run): Likewise.
5678
2019d09e
VS
56792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5682 redundant declaration.
5683
d1c501ee
VS
56842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5687 redundant declaration.
5688 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5689
61664420
VS
56902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5693 to ensure alignment.
5694 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5695 alignment. Ensure tmp alignment.
5696 (grub_cmd_hdparm): Ensure buf alignment.
5697 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5698 to ensure alignment.
5699 (grub_ata_dumpinfo): Ensure text alignment.
5700 (grub_atapi_identify): Preserve alignment invariant.
5701 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5702
0d51ee20
VS
57032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5706 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5707 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5708 * include/grub/misc.h (grub_reboot)
5709 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5710 (grub_halt) [__mips__]: Likewise.
5711
753ef8c1
VS
57122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5715 Remove redundant declaration.
5716 (grub_mmap_get_post64): Likewise.
5717 (grub_mmap_get_upper): Likewise.
5718 (grub_mmap_get_lower): Likewise.
5719
85c85365
VS
57202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5723 uint32_t * to ensure alignment.
5724 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5725
a23f2cc4
VS
57262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5727
93018f64
VS
5728 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5729 uint16_t * to ensure alignment.
5730 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5731 alignment.
5732
57332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5736 to ensure alignment.
5737 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5738
58acccd6
VS
57392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5742 Handle unaligned pointers.
5743 (u32at): Likewise.
5744 (u64at): Likewise.
5745 (fixup): Use byte access instead of v16at.
5746 (find_attr): Fix imporper usage of v32at.
5747 (read_data): Likewise.
5748 (list_file): Handle byte-swapping and unaligned strings.
5749 (grub_ntfs_label): Likewise.
5750
9b05cad7
VS
57512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5754 as it's not necessarily aligned.
5755
b3950b84
VS
57562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5759 redundant declaration.
5760 (grub_serial_init): Likewise.
5761 (grub_terminfo_init): Likewise.
5762
fcd232b7
VS
57632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5766 function.
5767 (ZAP_HASH_IDX): Likewise.
5768 (ZAP_LEAF_HASH_SHIFT): Likewise.
5769 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5770 (LEAF_HASH): Likewise.
5771 (ZAP_LEAF_NUMCHUNKS): Likewise.
5772 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5773 alignment invariants. Return pointer. All users updated.
5774 (ZAP_LEAF_ENTRY): Make into inline function.
5775 (NBBY): Removed.
5776 (xor): LIkewise.
5777 (xor_out): Use grub_crypto_xor.
5778 (dnode_get_path): Use grub_get_unaligned.
5779 (nvlist_find_value): Likewise.
5780 (grub_zfs_nvlist_lookup_uint64): Likewise.
5781 (grub_zfs_nvlist_lookup_string): Likewise.
5782 (get_nvlist_size): Likewise.
5783 (grub_zfs_open): Likewise.
5784 (fill_fs_info): Likewise.
5785 (grub_zfs_dir): Likewise.
5786 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5787 alignment invariants.
5788 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5789 necessarily aligned.
5790
f138623a
VS
57912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5794
564840dc
VS
57952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5798 arithmetic to conserve alignment invariants.
5799
9b40df20
VS
58002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5803 redundant declaration.
5804 (grub_efiemu_mm_obtain_request): Likewise.
5805 (grub_efiemu_prepare): Likewise.
5806
d1c930f9
VS
58072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5810 to match types.
5811
4c5f3056
VS
58122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5815 case of aunaligned recptr.
5816 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5817 alignment.
5818 (grub_hfsplus_btree_search): Handle unaligned index.
5819
728cba91
VS
58202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5823 to get freetag and skip.
5824
eb561f31
VS
58252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5828 array.
5829 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5830 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5831
20993fbb
VS
58322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5835 name for checksum and fix allocation algorithm.
5836
1f313b94
VS
58372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * include/grub/types.h (grub_properly_aligned_t): New type.
5840 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5841 (grub_get_unaligned16): Add explicit casts.
5842 (grub_get_unaligned32): Likewise.
5843 (grub_get_unaligned64): Likewise.
5844 (grub_set_unaligned16): New function.
5845 (grub_set_unaligned32): Likewise.
5846
47ae27ec
VS
58472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5850
78c2cd1c
VS
58512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5854 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5855 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5856
53072f9b
VS
58572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5860 conditionals.
5861
055dc239
VS
58622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5865 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5866
496bd074
VS
58672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 Unify and improve RAID and crypto xor.
5870
5871 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5872 changed to grub_crypto_xor
5873 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5874 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5875 Use bigger types when possible.
5876
ef6e4335
VS
58772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/disk/raid.c (scan_devices): Fix condition.
5880
5d048bf2
VS
58812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5884 Make name a const ptr.
5885
ee533335
VS
58862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5889 first argument a const pointer.
5890 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5891 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5892 proto.
5893 (grub_children_iterate): Likewise.
5894 (grub_machine_mmap_iterate): Remove redundant declaration.
5895
cc8f3668
VS
58962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5899 (grub_cmd_acpi) [!x86]: Disable EBDA.
5900
c5fc563a
VS
59012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 Enable UTF8 in gnulib regexp.
5904
5905 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5906 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5907 (isupper): Use grub_isupper.
5908 (isascii): New inline function.
5909 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5910 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5911 * grub-core/normal/charset.c (grub_utf8_process): New function.
5912 (grub_utf8_to_utf16): Use grub_utf8_process.
5913 (grub_encode_utf8_character): New function.
5914 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5915 * include/grub/charset.h (grub_utf8_process): New declaration.
5916 (grub_encode_utf8_character): Likewise.
5917 * include/grub/misc.h (grub_islower): New inline function.
5918 (grub_isupper): Likewise.
5919 (grub_strchrsub): Moved down to fix the definitions.
5920
0af2346f
VS
59212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5924 specification.
5925
74dbd244
VS
59262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * include/grub/loader.h (grub_loader_register_preboot_hook):
5929 Use struct preboot * and not void * for handle. All users updated.
5930 (grub_loader_unregister_preboot_hook): Likewise.
5931
1bc8f60d
VS
59322011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5935 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5936 UTF-16-BE. All users updated.
5937 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5938 (grub_hfsplus_iterate_dir): Likewise.
5939 (grub_hfsplus_label): Likewise.
5940
48d6e456
VS
59412011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5944
bf3a3857
VS
59452011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 Add missing const qualifiers.
5948
5949 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5950 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5951 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5952 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5953 (grub_lvm_check_flag): Likewise.
5954 * grub-core/efiemu/i386/coredetect.c
5955 (grub_efiemu_get_default_core_name): Likewise
5956 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5957 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5958 * grub-core/fs/ntfs.c (fixup): Likewise.
5959 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5960 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5961 (fzap_lookup): Likewise.
5962 (zap_lookup): Likewise.
5963 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5964 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5965 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5966 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5967 (grub_freebsd_add_meta_module): Likewise.
5968 (grub_cmd_freebsd_module): Likewise.
5969 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5970 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5971 (grub_xnu_writetree_get_size): Likewise.
5972 (grub_xnu_writetree_toheap_real): Likewise.
5973 (grub_xnu_find_key): Likewise.
5974 (grub_xnu_create_key): Likewise.
5975 (grub_xnu_create_value): Likewise.
5976 (grub_xnu_register_memory): Likewise.
5977 (grub_xnu_check_os_bundle_required): Likewise.
5978 (grub_xnu_scan_dir_for_kexts): Likewise.
5979 (grub_xnu_load_kext_from_dir): Likewise.
5980 * grub-core/normal/color.c (color_list): Likewise.
5981 * grub-core/normal/completion.c (current_word): Likewise.
5982 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5983 * grub-core/term/serial.c (grub_serial_find): Likewise.
5984 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5985 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5986 Likewise.
5987 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5988 (grub_freebsd_add_meta_module): Likewise.
5989 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5990 * include/grub/net.h (grub_net_card_driver): Likewise.
5991 (grub_net_card): Likewise.
5992 (grub_net_app_protocol): Likewise.
5993 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5994 * include/grub/serial.h (grub_serial_find): Likewise.
5995 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5996 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5997 (grub_xnu_create_value): Likewise.
5998 (grub_xnu_find_key): Likewise.
5999 (grub_xnu_scan_dir_for_kexts): Likewise.
6000 (grub_xnu_load_kext_from_dir): Likewise.
6001
6002 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6003 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6004 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6005 Moved from here ...
6006 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6007
112b4837
CW
60082011-11-28 Colin Watson <cjwatson@ubuntu.com>
6009
6010 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6011
49e891ac
VS
60122011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6015 (read_device): Fix size calculation.
6016
fd258e5c
RM
60172011-11-25 Robert Millan <rmh@gnu.org>
6018
6019 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6020 (find_root_device_from_libzfs): Add zpool output parser to be used
6021 as fallback when libzfs isn't available.
6022
78845dc2
SG
60232011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6024
6025 * po/Makefile.in.in: Add missing escape-continuation.
6026
adac5211
VS
60272011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6030
10b64f1c
VS
60312011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6034
bb416954
VS
60352011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6038
bdfe9eeb
VS
60392011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6042
581ffa8a
VS
60432011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/lib/adler32.c: Add missing license specification.
6046 * grub-core/lib/crc64.c: Likewise.
6047 * grub-core/loader/i386/pc/plan9.c: Likewise.
6048 * grub-core/partmap/plan.c: Likewise.
6049
2536cf64
LK
60502011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6051
6052 Add facility to debug GRUB with gdb under qemu.
6053
6054 * grub-core/gdb_grub.in: New file.
6055 * grub-core/gmodule.pl.in: Likewise.
6056 * grub-core/Makefile.core.def (gmodule.pl): New script.
6057 (gdb_grub): Likewise.
6058
bc108a4a
VS
60592011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * util/grub-mount.c (argp_parser): Accept relative pathes.
6062 * util/grub-fstest.c (argp_parser): Likewise.
6063
111c1778
VS
60642011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Plan9 support.
6067
6068 * Makefile.util.def (libgrubmods): Add
6069 grub-core/partmap/plan.c.
6070 * docs/grub.texi: Notice Plan9 support.
6071 * grub-core/Makefile.core.def (plan9): New module.
6072 (part_plan): Likewise.
6073 * grub-core/loader/i386/pc/plan9.c: New file.
6074 * grub-core/partmap/plan.c: Likewise.
6075 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6076 define.
6077 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6078 * include/grub/mm.h (grub_extend_alloc): New inline function.
6079
c30be3b6
VS
60802011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 Make Reed-Solomon faster by using power of generator representation of
6083 GF(256)*.
6084
6085 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6086 (gf_double_t): Likewise.
6087 (gf_invert): Removed.
6088 (gf_powx): New array.
6089 (gf_powx_inv): Likewise.
6090 (scratch): Move higher.
6091 (gf_reduce): Removed.
6092 (gf_mul): Use powx.
6093 (gf_invert): Likewise.
6094 (init_inverts): Replaced with ...
6095 (init_powx): ...this. All users updated.
6096 (pol_evaluate): Replace multiplications with additions.
6097 (rs_encode): Likewise.
6098 (gauss_eliminate): Call gf_invert.
6099 (grub_reed_solomon_add_redundancy): Call init_powx.
6100 (grub_reed_solomon_recover): Call init_powx unconditionally.
6101
fa5aeffc
VS
61022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6105
a346b81c
VS
61062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6109 disk->partiton for safety.
6110
d89ee414
VS
61112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6114 Fix a memory leak.
6115 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6116
91ee7b6d
VS
61172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6120
91e5a33d
VS
61212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6124
9edd7be2
VS
61252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 Fix spaces handling in proc/self/mountinfo.
6128
6129 * util/getroot.c (unescape): New function.
6130 (grub_find_root_device_from_mountinfo): Use unescape.
6131
ba102053
VS
61322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Support ZFS embedding.
6135
6136 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6137 (grub_zfs_fs): Register grub_zfs_embed.
6138
aa94b870
VS
61392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 Fix MIPS compilation.
6142
6143 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6144 * include/grub/offsets.h: Rename decompressor fields from
6145 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6146 * util/grub-mkimage.c (image_targets): Use new names.
6147
5fbdac14
VS
61482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 Defer multiboot device parsing until we're in compressed part.
6151
6152 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6153 bsd_part. setdevice has fallen into disuse.
6154 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6155 (bsd_part): Likewise.
6156 (boot_dev): New variable.
6157 (multiboot_trampoline): Don't parse multiboot device.
6158 Pass multiboot device in %edx.
6159 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6160 grub_boot_device.
6161 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6162 Likewise.
6163 * grub-core/kern/i386/pc/startup.S: Save edx.
6164 (grub_boot_drive): Removed.
6165 (grub_install_dos_part): Likewise.
6166 (grub_install_bsd_part): Likewise.
6167 (grub_boot_device): New variable.
6168 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6169 (grub_install_bsd_part): Likewise.
6170 (grub_boot_drive): Likewise.
6171 (grub_boot_device): New variable.
6172 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6173 Removed.
6174 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6175 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6176 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6177 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6178 * util/grub-install.in: Remove redundant condition.
6179
691cbb58
VS
61802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Fix bug introduced by previous commit.
6183
6184 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6185
60240b8b
VS
61862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Use decompressors framework on i386-pc. It increases core size
6189 by 46 bytes but improves compatibility and maintainability.
6190
6191 * grub-core/Makefile.core.def (lzma_decompress): New image.
6192 (kernel): Add i386_pc_ldflags.
6193 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6194 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6195 to real_to_prot, prot_to_real and device info.
6196 * include/grub/offsets.h: Renamed decompressor offsets.
6197 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6198 (image_target_desc): Remove raw_size and rename decompressor fields.
6199 (compress_kernel): Handle lzma.
6200 (generate_image): Handle decompressors on i386-pc.
6201
e9d3421c
VS
62022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * configure.ac: Add -fno-asynchronous-unwind-tables.
6205
2b23074a
VS
62062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Move assembly code to C by using intwrap. It increases core size
6209 by 88 bytes but improves compatibility and maintainability.
6210
6211 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6212 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6213 ... here. Translated to C.
6214 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6215 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6216 ... here. Translated to C.
6217 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6218 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6219 ... here. Translated to C.
6220 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6221 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6222 ... here. Translated to C.
6223 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6224 * grub-core/term/i386/pc/console.c (grub_console_cls):
6225 ... here. Translated to C.
6226 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6227 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6228 ... here. Translated to C.
6229 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6230 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6231 Translated to C.
6232 * grub-core/term/i386/pc/console.c (int10_9): New function.
6233 (grub_console_putchar): Likewise.
6234 * include/grub/i386/pc/console.h: Removed the not anymore shared
6235 functions.
6236
678f4b67
VS
62372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Move grub_chainloader_real_boot out of the kernel.
6240
6241 * grub-core/Makefile.am: Remove machine/loader.h.
6242 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6243 Removed.
6244 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6245 variable.
6246 (grub_relocator16_keep_a20_enabled): Likewise.
6247 (grub_relocator16_boot): Fill new variables.
6248 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6249 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6250 relocator.
6251 (grub_chainloader_unload): Likewise.
6252 (grub_chainloader_cmd): Likewise.
6253 * include/grub/i386/pc/loader.h: Removed.
6254 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6255 and esi. All initialisers updated.
6256
4626edf6
VS
62572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
62582011-11-12 Colin Watson <cjwatson@ubuntu.com>
6259
6260 * Makefile.util.def (grub-mount): New util.
6261 * .bzrignore: Add grub-mount.
6262 * configure.ac: Check for fuse and enable grub-mount if available.
6263 * docs/man/grub-mount.h2m: New file.
6264 * util/grub-mount.c: Likewise.
6265
10f0117b
VS
62662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/commands/efi/fixvideo.c: Gettextize.
6269 * grub-core/commands/hashsum.c: Likewise.
6270 * grub-core/commands/i386/cmostest.c: Likewise.
6271 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6272 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6273 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6274 * grub-core/commands/lsmmap.c: Likewise.
6275 * grub-core/commands/menuentry.c: Likewise.
6276 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6277 * grub-core/commands/setpci.c: Likewise.
6278 * grub-core/loader/i386/bsd.c: Likewise.
6279 * grub-core/loader/i386/linux.c: Likewise.
6280 * util/getroot.c: Likewise.
6281 * util/grub-editenv.c: Likewise.
6282 * util/grub-fstest.c: Likewise.
6283 * util/grub-mkfont.c: Likewise.
6284 * util/grub-mkimage.c: Likewise.
6285 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6286 * util/grub-pe2elf.c: Likewise.
6287 * util/grub-probe.c: Likewise.
6288 * util/grub-setup.c: Likewise.
6289 * util/ieee1275/ofpath.c: Likewise.
6290 * util/misc.c: Likewise.
6291 * util/raid.c: Likewise.
6292
566f779b
RM
62932011-11-11 Robert Millan <rmh@gnu.org>
6294
6295 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6296 __attribute__((unused)) from `os_dev', which *is* being used.
6297
b50787de
VS
62982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6301 forgotten define.
6302 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6303 GRUB_IA64_DL_GOT_ALIGN.
6304 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6305 GRUB_IA64_DL_TRAMP_ALIGN.
6306
119d11c8
VS
63072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 Replace grub_fatal with normal errors in i386 linux loader.
6310
6311 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6312 (allocate_pages): Check find_efi_mmap_size return value.
6313 (grub_e820_add_region): Return error.
6314 (grub_linux_boot): Check mmap return value.
6315
6e0632e2
VS
63162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/commands/acpihalt.c: Gettextized.
6319 * grub-core/commands/cacheinfo.c: Likewise.
6320 * grub-core/commands/cmp.c: Likewise.
6321 * grub-core/commands/efi/loadbios.c: Likewise.
6322 * grub-core/commands/gptsync.c: Likewise.
6323 * grub-core/commands/ieee1275/suspend.c: Likewise.
6324 * grub-core/commands/legacycfg.c: Likewise.
6325 * grub-core/commands/memrw.c: Likewise.
6326 * grub-core/commands/minicmd.c: Likewise.
6327 * grub-core/commands/parttool.c: Likewise.
6328 * grub-core/commands/time.c: Likewise.
6329 * grub-core/commands/videoinfo.c: Likewise.
6330 * grub-core/disk/geli.c: Likewise.
6331 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6332 * grub-core/disk/luks.c: Likewise.
6333 * grub-core/disk/lvm.c: Likewise.
6334 * grub-core/font/font_cmd.c: Likewise.
6335 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6336 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6337 * grub-core/gfxmenu/view.c: Likewise.
6338 * grub-core/kern/emu/hostdisk.c: Likewise.
6339 * grub-core/kern/emu/main.c: Likewise.
6340 * grub-core/kern/emu/misc.c: Likewise.
6341 * grub-core/kern/emu/mm.c: Likewise.
6342 * grub-core/kern/mips/arc/init.c: Likewise.
6343 * grub-core/kern/mips/loongson/init.c: Likewise.
6344 * grub-core/kern/partition.c: Likewise.
6345 * grub-core/lib/i386/halt.c: Likewise.
6346 * grub-core/lib/mips/arc/reboot.c: Likewise.
6347 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6348 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6349 * grub-core/loader/i386/xnu.c: Likewise.
6350 * grub-core/loader/multiboot.c: Likewise.
6351 * grub-core/net/bootp.c: Likewise.
6352 * grub-core/net/net.c: Likewise.
6353 * grub-core/normal/term.c: Likewise.
6354 * grub-core/partmap/bsdlabel.c: Likewise.
6355 * grub-core/parttool/msdospart.c: Likewise.
6356 * grub-core/term/gfxterm.c: Likewise.
6357 * grub-core/term/terminfo.c: Likewise.
6358 * grub-core/video/i386/pc/vbe.c: Likewise.
6359 * util/grub-menulst2cfg.c: Likewise.
6360 * util/grub-mkdevicemap.c: Likewise.
6361 * util/grub-mklayout.c: Likewise.
6362 * util/grub-mkrelpath.c: Likewise.
6363 * util/grub-script-check.c: Likewise.
6364 * util/ieee1275/grub-ofpathname.c: Likewise.
6365 * util/resolve.c: Likewise.
6366
073aa7a9
VS
63672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Support %1$d syntax.
6370
6371 * tests/printf_unit_test.c: New file.
6372 * Makefile.util.def (printf_test): New test.
6373 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6374
c76b5417
VS
63752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6378 fix.
6379
df067ad1
VS
63802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6383 dprintf.
6384 * grub-core/font/font.c (grub_font_load): Likewise.
6385
5b289bc5
VS
63862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * util/grub-macho2img.c: Add comment concerning gettext.
6389 * grub-core/lib/legacy_parse.c: Likewise.
6390
c1860f87
VS
63912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6394 (grub_xvasprintf): Likewise.
6395
d35d0d37
VS
63962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 Add const keyword to grub_env_get and gettextize week days.
6399
6400 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6401 (grub_read_hook_datetime): Return const char *.
6402 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6403 updated.
6404 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6405 Mark for gettext.
6406 (grub_get_weekday_name): Return const char *. Call gettext.
6407 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6408 char * and len as the argument. All users updated.
6409 (grub_script_argv_split_append): Receive const char *.
6410 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6411 * include/grub/env.h (grub_env_get): Likewise.
6412 (grub_env_read_hook_t): Return const char *.
6413 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6414 (grub_script_argv_split_append): Likewise.
6415
9aed8a71
VS
64162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6419
067fdf00
VS
64202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6423 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6424
a8bd9d39
VS
64252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6428 Fix prototype.
6429
f7ce5baf
VS
64302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 Fix mips compilation.
6433
6434 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6435 normal decoder.
6436 (hashes): Use in embed decoder as well (for sizes).
6437 (dec_stream_header): Fix embed decompressor logic.
6438 (dec_stream_footer): Likewise.
6439
9bb182f3
VS
64402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6443 an error and not a fatal on unrecognised relocation types.
6444
63a9e6f6
VS
64452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6448 Issue error rather than printf on unknown arguments.
6449
4c458569
VS
64502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6453 Make buf a const.
6454
e2d22baf
VS
64552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6458 Fix module name.
6459
53dc8590
VS
64602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6463 leftover debug printf.
6464
6c189294
VS
64652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6468
f7688369
VS
64692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6472 A stylistic fix.
6473
11a775a3
VS
64742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6477
33f784e8
SL
64782011-11-10 Shea Levy <slevy@tieronedesign.com>
6479
6480 Allow all modules to perform serial IO
6481
6482 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6483 * include/grub/serial.h (grub_serial_port_configure): New inline
6484 function.
6485 (grub_serial_port_fetch): Likewise.
6486 (grub_serial_port_put): Likewise.
6487 (grub_serial_port_fini): Likewise.
6488 (grub_serial_find): New proto.
6489
f6276525
VS
64902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Put symlink at the end of the node and fix a potential
6493 memory corruption.
6494
6495 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6496 Make symlink into an array.
6497 (set_rockridge): Set have_symlink and alloc_dirents.
6498 (grub_iso9660_read_symlink): Use new layout.
6499 (grub_iso9660_iterate_dir): Fix memory corruption.
6500 Use new layout.
6501 (grub_iso9660_dir): Set have_symlink.
6502 (grub_iso9660_open): Likewise.
6503
c3591189
VS
65042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Remove local keyword.
6507
6508 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6509 (version_test_gt): Likewise.
6510 (version_find_latest): Likewise.
6511 (gettext_printf): Likewise.
6512 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6513
cb544caa
VS
65142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6517
45bd824d
VS
65182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 Fix ZFS memory and resource leaks.
6521
6522 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6523 All users updated.
6524 Free type on exit.
6525 (fill_vdev_info): New parameter inserted. All users updated.
6526 (check_pool_label): Likewise.
6527 (scan_disk): Likewise.
6528 (scan_devices): Close non-inserted disks.
6529 (fzap_iterate): Free l.
6530 (unmount_device): Free children descripto memory.
6531
ad9a2f44
VS
65322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6535 argument (access out of bounds).
6536
6b68db81
VS
65372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6540 >= 6 drives.
6541
28840fda
VS
65422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6545 Fix declaration.
6546
8a5a3a5b
VS
65472011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Fix several memory leaks.
6550
6551 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6552 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6553 (grub_cpio_dir): Likewise.
6554 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6555 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6556 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6557 (grub_romfs_label): Likewise.
6558 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6559 (squash_unmount): New function.
6560 (grub_squash_dir): Fix memory leak.
6561 (grub_squash_open): Likewise.
6562 (grub_squash_read): Likewise.
6563 (grub_squash_mtime): Likewise.
6564 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6565 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6566 * util/grub-fstest.c (fstest): Likewise.
6567
57b01250
VS
65682011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6571 avoid accessing beyond the array.
6572
19e81ba7
VS
65732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6576
52b656c0
VS
65772011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 Several AFFS fixes.
6580
6581 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6582 (GRUB_AFFS_FLAG_FFS): Removed.
6583 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6584 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6585 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6586 (grub_fshelp_node): Make block 32-bit.
6587 Add block_cache and last_block_cache.
6588 (grub_affs_read_block): Fill and use block cache.
6589 (grub_affs_read_file): Removed.
6590 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6591 boot block.
6592 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6593 safety.
6594 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6595 space.
6596 (grub_affs_close): Free block cache.
6597 (grub_affs_read): Use grub_fshelp_read_file directly.
6598
438a746a
VS
65992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6602 with no error set.
6603
49a45021
VS
66042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6607 used variable.
6608 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6609 Likewise.
6610
3ae17eb8
VS
66112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6614
6615 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6616 byteswap when needed.
6617
27610c38
VS
66182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Fix FreeBSD compilation.
6621
6622 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6623 to avoid circular dependency.
6624 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6625 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6626 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6627
4a19b601
VS
66282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Fix ZFS crypto error types.
6631
6632 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6633 (grub_gcm_decrypt): Likewise.
6634 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6635 from PBKDF2.
6636
958ee221
VS
66372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 Illumos support.
6640
6641 * Makefile.util.def (10_illumos): New script.
6642 * configure.ac: Set COND_HOST_ILLUMOS.
6643 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6644 Support Illumos calls.
6645 (find_partition_start) [__sun__]: Likewise.
6646 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6647 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6648 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6649 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6650 device.
6651 * util/grub-probe.c (probe) [__sun__]: Do character check.
6652 * util/grub.d/10_illumos.in: New file.
6653
cac14fb6
VS
66542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Support escaped commas in hostdisk.
6657
6658 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6659 (find_grub_drive): Use unescape_cmp.
6660 (make_device_name): Escape commas.
6661
78e08dc3
VS
66622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6665
9f421dd1
VS
66662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6669 variable.
6670
ed64e9e2
VS
66712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Support trampoline jumps on powerpc.
6674
6675 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6676 __ia64__ path.
6677 (grub_dl_load_segments): Set mod->sz.
6678 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6679 segments.
6680 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6681 (jump): Likewise.
6682 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6683 function.
6684 (trampoline): New struct.
6685 (trampoline_template): New const.
6686 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6687 * include/grub/dl.h (grub_dl): Add sz element.
6688 [__powerpc__]: Follow __ia64__.
6689 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6690 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6691 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6692 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6693
3084ede4
VS
66942011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 ZFS crypto support.
6697
6698 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6699 * grub-core/Makefile.core.def (zfscrypt): New module.
6700 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6701 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6702 it. All users updated.
6703 (grub_zfs_decrypt): New var.
6704 (grub_zfs_load_key): Likewise.
6705 (zio_checksum_functions): Add SHA256+MAC.
6706 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6707 (zio_read): Handle encrypted blocks.
6708 (zap_verify): Remove incorrect check.
6709 (fzap_iterate): Handle non-standard fzap.
6710 (zap_iterate): Likewise.
6711 (zap_iterate_u64): New function.
6712 (dnode_get_fullpath): Load keys.
6713 * grub-core/fs/zfs/zfscrypt.c: New file.
6714 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6715 (grub_crypto_ecb_encrypt): Make input const.
6716 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6717 (grub_crypto_ecb_encrypt): Make input const.
6718 (GRUB_CIPHER_AES): New macro.
6719 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6720 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6721 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6722 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6723 prefix. All users updated.
6724 (grub_zfs_add_key): New proto.
6725 (grub_zfs_decrypt): Likewise.
6726 (grub_zfs_load_key): Likewise.
6727 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6728 * util/grub-fstest.c (options): Add -K option.
6729 (argp_parser): Likewise.
6730
b632b404
VS
67312011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 Support zle compression on ZFS.
6734
6735 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6736 (decomp_table): Add zle.
6737 * include/grub/zfs/zio.h (zio_compress): Add zle.
6738
c7ba4f69
VS
67392011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Support BtrFS embedding.
6742
6743 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6744 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6745 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6746 * util/grub-setup.c (setup): Use fs embedding if available.
6747 Add additional sanity check.
6748
455377d9
VS
67492011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * util/grub-install.in: Fix condition for config_opt.
6752
c2fd16ca
VS
67532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Support third redundancy strip on raidz3.
6756
6757 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6758 Return error on singularity. All users updated.
6759 (read_device): Don't stop on 3rd failure on raidz3.
6760
8622923b
VS
67612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Support case-insensitive ZFS subvolumes.
6764
6765 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6766 All users updated.
6767 (zap_hash): Likewise.
6768 (name_cmp): New function.
6769 (zap_leaf_array_equal): New parameter case_insensitive.
6770 All users updated.
6771 (zap_leaf_lookup): Likewise.
6772 (fzap_lookup): Likewise.
6773 (zap_lookup): Likewise.
6774 (dnode_get_path): New parameter case_insensitive. Retrieve case
6775 sensitiviness of a volume. All users updated.
6776 (dnode_get_fullpath): New parameter case_insensitive.
6777 All users updated.
6778 (grub_zfs_dir): Set info.case_insensitiveness.
6779
95f2e860
VS
67802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Support second redundancy strip on raidz(2,3).
6783
6784 * grub-core/fs/zfs/zfs.c (powx): New array.
6785 (powx_inv): Likewise.
6786 (poly): New const.
6787 (xor_out): New function.
6788 (gf_mul): Likewise.
6789 (recovery): Likewise.
6790 (read_device): Use second redundancy strip.
6791
11ee4389
VS
67922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Use a power of generator representation of GF(256) multiplication group
6795 to save space time and complexity.
6796
6797 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6798 (raid6_table2): Likewise.
6799 (powx): New array.
6800 (powx_inv): Likewise.
6801 (poly): New const.
6802 (grub_raid_block_mul): Replace with ...
6803 (grub_raid_block_mulx): ...this.
6804 (grub_raid6_init_table): Rewritten.
6805 (grub_raid6_recover): Use power of generator representation.
6806
09e2763f
VS
68072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6810 for the right device.
6811
8bec9a28
VS
68122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6815 expected by grub-mkimage and it's more clear since there is no implicit
6816 padding.
6817
dbd3a32e
VS
68182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6821 disk.
6822 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6823
182c872a
PMH
68242011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6825
6826 * util/grub-mkrescue.in: Fix handling xorriso option.
6827
1e51cabd
VS
68282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6831 NULL.
6832
9cc3581d 68332011-11-03 crocket <crockabiscuit@gmail.com>
6834
6835 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6836
158dc1ea
VS
68372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 XZ CRC64 and SHA256 support.
6840
6841 * Makefile.util.def (libgrubmods): Add crc64.c.
6842 * grub-core/Makefile.core.def (crc64): New module.
6843 * grub-core/lib/crc64.c: New file.
6844 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6845 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6846 Fix the type.
6847 (MAX_HASH_SIZE): New define.
6848 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6849 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6850 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6851 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6852 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6853 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6854 Handle non-crc32 hashes.
6855 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6856 (dec_stream_header): Handle non-crc32 hashes.
6857 (dec_stream_footer): Likewise.
6858 (dec_block_header): Likewise.
6859 (dec_main): Likewise.
6860 (xz_dec_init): Likewise.
6861 (xz_dec_reset): Likewise.
6862 (xz_dec_end): Likewise.
6863 * util/import_gcry.py: Add CRC64 line.
6864
9d9b3d2f
VS
68652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6868 as well.
6869
7d0ac931
VS
68702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 Make reiserfs label retrieval similar to other *_label functions.
6873
6874 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6875 (REISERFS_MAX_LABEL_LENGTH): Removed.
6876 (REISERFS_LABEL_OFFSET): Likewise.
6877 (grub_reiserfs_label): Rewritten.
6878
68792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6882 field.
6883
cf5ba824
VS
68842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6887
17744004
VS
68882011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6891 drive failure on both raidz and raidz2.
6892
aca5aefc
VS
68932011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Fix RAIDZ(2) for >= 5 devices.
6896
6897 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6898 asize argument. All users updated.
6899
ce8ca56e
VS
69002011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 Fix RAIDZ(2).
6903
6904 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6905 (fill_vdev_info_real): Set ashift.
6906 (read_device): Rewrite RAIDZ part based on reverse engineering.
6907
7c01e783
VS
69082011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6911 don't report potentially unavialiable fields in debug output.
6912 (find_path): Fix double-free and memory leak.
6913
ce109e84
VS
69142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Read label on UFS1.
6917
6918 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6919 (grub_ufs_fs): Always set .label.
6920
87661123
VS
69212011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 Use shifts in UFS.
6924
6925 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6926 (grub_ufs_data): New field log2_blksz.
6927 (grub_ufs_read_file): Use shifts.
6928 (grub_ufs_mount): Check block size and logarithm it.
6929
46bc1dc2
VS
69302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6933 long symlinks.
6934
19ee2987
VS
69352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Handle symlinks and long names on tar and cpio.
6938
6939 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6940 (ATTR_FILE): Likewise.
6941 (ATTR_DIR): Likewise.
6942 (ATTR_LNK): Likewise.
6943 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6944 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6945 L and K entries.
6946 (grub_cpio_mount): Zero-fill data.
6947 (handle_symlink): New function.
46bc1dc2
VS
6948 (grub_cpio_dir): Handle symlinks.
6949 (grub_cpio_open): Likewise.
6950 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6951
c83a08d8
VS
69522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Fix iso9660 filename limitations and fix memory leaks.
6955
6956 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6957 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6958
45cdd3ea
VS
69592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Fix JFS file name length limitations.
6962
6963 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6964 (grub_jfs_diropen): Fix maximum filename length.
6965 (grub_jfs_getent): Fix filename length.
6966 (grub_jfs_lookup_symlink): Fix size checks.
6967
94ef05c2
VS
69682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6971 string.
6972
785ab8c7
VS
69732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6974
eb0b6b45
VS
6975 Leverage BFS implementation to read AFS.
6976
6977 * Makefile.util.def (libgrubmods): Add afs.c.
6978 * grub-core/Makefile.core.def (afs): New module
6979 * grub-core/fs/afs.c: New file.
6980 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6981
69822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6985
c4a1628f
VS
69862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/fs/bfs.c: Run indent.
6989
5825b379
VS
69902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 BFS implementation based on the specification.
6993
6994 * grub-core/fs/bfs.c: New file.
6995 * Makefile.util.def (libgrubmods): Add bfs.c.
6996 * grub-core/Makefile.core.def (bfs): New module.
6997
42b2a706
VS
69982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * util/grub-fstest.c (cmd_cp): Clarify error message.
7001 (cmd_cmp): Likewise.
7002
61b99bfc
YB
70032011-10-30 Yves Blusseau <blusseau@zetam.org>
7004
7005 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7006 and befs_be.
7007
faba3d16
VS
70082011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Remove afs and befs because of copyright problem.
7011
7012 * grub-core/fs/afs.c: Removed.
7013 * grub-core/fs/afs_be.c: Removed.
7014 * grub-core/fs/befs.c: Removed.
7015 * grub-core/fs/befs_be.c: Removed.
7016 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7017 * grub-core/Makefile.core.def (afs): Removed.
7018 (afs_be): Likewise.
7019 (befs): Likewise.
7020 (befs_be): Likewise.
7021
c39224b0
VS
70222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Prefer rockridge over Joliet.
7025
7026 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7027 to ...
7028 (set_rockridge): ... here.
7029 (grub_iso9660_mount): Check rockridge on the primary label when
7030 discovering. Ignore Joliet if Rockridge is present.
7031
e551115a
VS
70322011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Use shifts in nilfs2.
7035
7036 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7037 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7038 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7039 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7040 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7041 (grub_nilfs2_entries_per_block): Replaced with ...
7042 (grub_nilfs2_log_entries_per_block_log): ... this.
7043 (grub_nilfs2_blocks_per_group): Replaced with ...
7044 (grub_nilfs2_blocks_per_group_log): ... this.
7045 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7046 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7047 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7048 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7049 (grub_nilfs2_palloc_entry_offset): Replaced ...
7050 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7051 (grub_nilfs2_dat_translate): Use shifts.
7052 (grub_nilfs2_read_inode): Likewise.
7053 (GRUB_MOD_INIT): Ensure that logs are correct.
7054
564dd58c
VS
70552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 Use shifts in minix filesystem.
7058
7059 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7060 (GRUB_MINIX_ZONE2SECT): Likewise.
7061 (grub_minix_data): Replace block_size with log_block_size.
7062 (grub_minix_read_file): Use shifts.
7063 (grub_minix_mount): Check block size and take a logarithm.
7064
ed9ba06d
VS
70652011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 Use shifts in squash4.
7068
7069 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7070 (squash_mount): Check block size and take logarithm.
7071 (direct_read): Use shifts.
7072
ad03fe76
VS
70732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 Correct befs block counting logic.
7076
7077 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7078 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7079 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7080 (grub_afs_read_inode): Use block_shift.
7081 (RANGE_SHIFT): New definition.
7082 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7083 unexpected conditions, use shifts and appropriate types.
7084 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7085
6563f63d
VS
70862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * grub-core/disk/raid.c (scan_devices): Check partition.
7089 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7090
5b1ae25f
VS
70912011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 Support BFS (befs) UUID.
7094
7095 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7096 (grub_afs_small_data_element_header): New struct.
7097 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7098 (grub_afs_read_attribute) [MODE_BFS]: New function.
7099 (grub_afs_iterate_dir): Allocate for complete inode.
7100 (grub_afs_mount): Likewise.
7101 (grub_afs_uuid) [MODE_BFS]: New function.
7102 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7103
f8d82408
VS
71042011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7107 (zfs_unmount): Fix memory leak.
7108
5773fb64
VS
71092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 Support NTFS reparse points.
7112
7113 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7114 (symlink_descriptor): New struct.
7115 (grub_ntfs_read_symlink): New function.
7116 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7117 (grub_ntfs_open): Likewise.
7118
91c3fdde
VS
71192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7122
3be82e10
VS
71232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 fstest xnu_uuid subcommand.
7126
7127 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7128 grub-core/commands/xnu_uuid.c.
7129 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7130 (fstest): Handle xnu_uuid.
7131 (options): Document xnu_uuid.
7132 (argp_parser): Parse xnu_uuid.
7133
8e32442e
VS
71342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7137 -l argument. Add newline at the end if printing.
7138 (GRUB_MOD_INIT): Document -l.
7139
52a05075
VS
71402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7143
1869edb5
VS
71442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 ZFS multi-device and version 33 support.
7147
7148 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7149 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7150 (grub_zfs_data): Add multidev-ice-related fields.
7151 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7152 (dva_get_offset): Make dva const.
7153 (zfs_fetch_nvlist): New function.
7154 (fill_vdev_info_real): Likewise.
7155 (fill_vdev_info): Likewise.
7156 (check_pool_label): Likewise.
7157 (scan_disk): Likewise.
7158 (scan_devices): Likewise.
7159 (read_device): Likewise.
7160 (read_dva): Likewise.
7161 (zio_read_gang): Use read_dva.
7162 (zio_read_data): Likewise.
7163 (zap_leaf_lookup): Add missing endian conversion.
7164 (zap_verify): Add missing endian conversion. All users updated.
7165 (fzap_lookup): Likewise.
7166 (fzap_iterate): Likewise.
7167 (dnode_get_path): Handle SA bonus.
7168 (nvlist_find_value): Make input const. All users updated.
7169 (unmount_device): New function.
7170 (zfs_unmount): Use unmount_device.
7171 (zfs_mount): Use scan_disk.
7172 (zfs_mtime): New function.
7173 (grub_zfs_open): Handle system attributes.
7174 (fill_fs_info): Likewise.
7175 (grub_zfs_dir): Likewise.
7176 (grub_zfs_fs): Add mtime.
7177 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7178 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7179 (SA_MTIME_OFFSET): Likewise.
7180 (SA_SYMLINK_OFFSET): Likewise.
7181 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7182 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7183 (fstest): Support zfsinfo.
7184 (argp_parser): Likewise.
7185
186b4028
VS
71862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7189 error.
7190
71912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7192
7193 ZFS fixes.
7194
7195 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7196 sharing the same block. Iterate over correct number of indices.
7197 (dnode_get_path): Handle symlinks correctly.
7198
c0584900
VS
71992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7202
67e2bd71
VS
72032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Read label on HFS+.
7206
7207 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7208 (grub_hfsplus_btree_search): Fix types.
7209 (grub_hfsplus_label): Implement.
7210
e9cc6b7b
VS
72112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7214
19832ddb
VS
72152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7218
66b40850
VS
72192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Fix symlink handling on iso9660.
7222
7223 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7224 All users updated.
7225 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7226 (grub_iso9660_read_symlink): Moved most of code ...
7227 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7228
db821363
VS
72292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7232 Use union to avoid breaking strict-aliasing rules.
7233
e1211949
VS
72342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Support multi-extent iso files.
7237
7238 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7239 Add node.
7240 (grub_fshelp_node): Revamp. All users updated.
7241 (FLAG_*): New enum.
7242 (read_node): New function.
7243 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7244 All users updated.
7245 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7246 (get_node_size): New function.
7247 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7248 entries.
7249 Fix memory leak on . and ..
7250 (grub_iso9660_read): Use read_node.
7251 (grub_iso9660_close): Free node.
7252
d4888031
VS
72532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Fix tar 4G limit and handle paths containing dot.
7256
7257 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7258 (canonicalize): New function.
7259 (grub_cpio_find_file): Use canonicalize. Store offs in
7260 grub_disk_addr_t.
7261 (grub_cpio_dir): Use grub_disk_addr_t.
7262 (grub_cpio_open): Likewise.
7263
9f12e664
VS
72642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7267
7268 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7269 unused flags.
7270 (grub_squash_inode): Add long_file and block_size.
7271 (grub_squash_cache_inode): New struct.
7272 (grub_squash_dirent): Make types into enum.
7273 (SQUASH_TYPE_LONG_REGULAR): New type.
7274 (grub_squash_frag_desc): Add field size.
7275 (SQUASH_BLOCK_FLAGS): New enum.
7276 (grub_squash_data): Use grub_squash_cache_inode.
7277 (grub_fshelp_node): Make ino_chunk 64-bit.
7278 (read_chunk): Minor argument change. All users updated.
7279 (squash_mount): Use correct le_to_cpu.
7280 (grub_squash_open): Handle LONG_REGULAR.
7281 (direct_read): New function.
7282 (grub_squash_read_data): Handle blocks correctly.
7283
9f326fba
VS
72842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7287
f4d9b64b
VS
72882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7291
5bbd28b8
VS
72922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 Fix 2G limit on ZFS.
7295
7296 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7297 types.
7298 (uberblock_verify): Likewise.
7299 (dmu_read): Likewise.
7300 (grub_zfs_read): Likewise. Remove invalid cast.
7301
68c72069
VS
73022011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7305 (grub_jfs_blkno): Fix incorrect shift.
7306 (grub_jfs_read_file): Use more appropriate types.
7307
6e536dc8
VS
73082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 Support triple indirect on minix2 and minix3.
7311
7312 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7313 Declare triple_indir_zone.
7314 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7315 indirect.
7316
e0864e7a
VS
73172011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Minix FS fixes.
7320
7321 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7322 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7323 Rename ctime to mtime. All users updated.
7324 (grub_minix_get_file_block): Fix types and double indirect computations.
7325
89481cab
VS
73262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7329 if no label is found.
7330 (grub_fat_iterate_dir): Fix file size type.
7331 (grub_fat_iterate_dir): Likewise.
7332
f646e143
VS
73332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7336 save some space.
7337 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7338 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7339
534d769e
VS
73402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7343
e084ba18
VS
73442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * util/import_gcry.py: Accept space between # and include.
7347
3471ecdf
VS
73482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7351
124df5f6
VS
73522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7355
7356 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7357 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7358 yylex_strncpy.
7359 * grub-core/script/yylex.l: Add fine-grained #pragma.
7360
4defb8d5
VS
73612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7364 New inline function.
7365 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7366 Likewise.
7367 (memset) [GRUB_UTIL]: Likewise.
7368 (memcmp) [GRUB_UTIL]: Likewise.
7369
4e94ae65
VS
73702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7373 inline function rather than a define.
7374
18c575e5
VS
73752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * util/grub-setup.c: Add missing include.
7378
f8bc22a8
VS
73792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * util/ieee1275/grub-ofpathname.c: Add missing include.
7382
3ce69fc9
VS
73832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7386 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7387 Likewise.
7388
d1e293bb
VS
73892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7392 grub_memcmp usage.
7393
7a5c54a4
VS
73942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * util/grub-install.in: Add datarootdir as per automake manual
7397 suggestion.
7398 * util/grub-mknetdir.in: Likewise.
7399
74002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7401
7402 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7403 suggestion.
7404 * util/grub.d/10_kfreebsd.in: Likewise.
7405 * util/grub.d/10_linux.in: Likewise.
7406 * util/grub.d/10_netbsd.in: Likewise.
7407 * util/grub.d/10_windows.in: Likewise.
7408 * util/grub.d/20_linux_xen.in: Likewise.
7409
766f7d08
VS
74102011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Remove redundant grub_kernel_image_size.
7413
7414 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7415 _edata and _start.
7416 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7417 the small code. It moves it only by few bytes but simplifies the code.
7418 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7419 _start.
7420 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7421 (grub_kernel_image_size): Removed.
7422 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7423 (grub_kernel_image_size): Removed.
7424 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7425 compiled with Apple toolchain.
7426 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7427 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7428 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7429 (grub_total_module_size): Likewise.
7430 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7431 Removed.
7432 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7433 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7434 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7435 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7436 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7437 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7438 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7439 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7440 Removed.
7441 (grub_total_module_size): Removed.
7442 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7443 (image_targets): Likewise.
7444 Set .compressed_size to no field on sparc.
7445 (generate_image): Remove kernel_image_size handling.
7446
fcf1d672
SJ
74472011-10-19 Szymon Janc <szymon@janc.net.pl>
7448
7449 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7450 NULL pointer dereference.
7451
de9c615e
VS
74522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7455 done with a dedicated section.
7456
7457 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7458 Ensure the correct position of boot_path.
7459 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7460 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7461 other fields.
7462 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7463 * include/grub/boot.h: Removed. All references removed.
7464 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7465 Removed.
7466 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7467
e55599dc
VS
74682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7471 name.
7472
36dd20ad
VS
74732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7476
f8f72eb8
VS
74772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7480 Don't add the bogus brackets.
7481
a374751b
VS
74822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 ExFAT support.
7485
7486 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7487 * grub-core/Makefile.core.def (exfat): New module.
7488 * grub-core/fs/exfat.c: New file.
7489 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7490 (GRUB_FAT_ATTR_*): Make into an enum.
7491 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7492 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7493 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7494 (GRUB_FAT_MAXFILE): Removed.
7495 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7496 (grub_current_fat_bpb_t): New type.
7497 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7498 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7499 (grub_fat_dir_node_t): New type.
7500 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7501 (fat_log2) [MODE_EXFAT]: Removed.
7502 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7503 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7504 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7505 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7506 (grub_fat_label) [MODE_EXFAT]: New function.
7507 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7508 reserved_first_sector to 0.
7509
544c2487
VS
75102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 Move grub_reboot out of the kernel.
7513
7514 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7515 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7516 * grub-core/lib/efi/reboot.c: ... here.
7517 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7518 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7519 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7520 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7521 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7522 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7523 * grub-core/lib/ieee1275/reboot.c: ... here.
7524 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7525 * grub-core/lib/mips/arc/reboot.c: ... here.
7526 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7527 * grub-core/lib/mips/loongson/reboot.c: ...here.
7528 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7529 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7530 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7531 * include/grub/i386/reboot.h: New file.
7532 * include/grub/mips/loongson/ec.h: Fix includes.
7533 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7534 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7535 * grub-core/lib/i386/reboot.c: New file.
7536
a97501d2
VS
75372011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 Make grub_prefix into module to fix the arbitrary limit and save
7540 some space.
7541
7542 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7543 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7544 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7545 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7546 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7547 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7548 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7549 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7550 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7551 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7552 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7553 * include/grub/ia64/efi/kernel.h: Removed.
7554 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7555 (grub_prefix): Removed.
7556 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7557 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7558 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7559 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7560 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7561 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7562 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7563 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7564 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7565 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7566 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7567 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7568 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7569 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7570 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7571 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7572 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7573 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7574 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7575 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7576 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7577 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7578 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7579 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7580 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7581 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7582 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7583 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7584 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7585 from module.
7586 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7587 prefix_end.
7588 (image_targets): Likewise.
7589 (generate_image): Put prefix as a module.
7590
39705fad
VS
75912011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Replace grub_module_iterate with FOR_MODULES.
7594
7595 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7596 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7597 (grub_efi_modules_addr): ...this.
7598 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7599 (grub_efi_init): Set grub_modbase.
7600 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7601 (grub_modbase): New variable.
7602 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7603 (grub_modbase): New variable.
7604 (grub_machine_init): Set grub_modbase.
7605 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7606 (grub_modbase): New variable.
7607 (grub_machine_init): Set grub_modbase.
7608 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7609 (grub_modbase): New variable.
7610 (grub_machine_init): Set grub_modbase.
7611 * grub-core/kern/main.c (grub_module_iterate): Remove.
7612 (grub_modules_get_end): Use grub_modbase.
7613 (grub_load_modules): Use FOR_MODULES.
7614 (grub_load_config): Likewise.
7615 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7616 (grub_modbase): New variable.
7617 (grub_machine_init): Set grub_modbase.
7618 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7619 (grub_modbase): New variable.
7620 (grub_machine_init): Set grub_modbase.
7621 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7622 Removed.
7623 (grub_modbase): New variable.
7624 (grub_machine_init): Set grub_modbase.
7625 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7626 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7627 (grub_module_iterate): Likewise.
7628 (grub_modbase): New variable declaration.
7629 (FOR_MODULES): New macro.
7630
2afb7f6c
VS
76312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7634 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7635
366e34fa
VS
76362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Fix few obvious type discrepancies.
7639
7640 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7641 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7642 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7643 variable.
7644 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7645 and connected types.
7646 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7647 offset.
7648 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7649 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7650 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7651 and connected types.
7652
177b960e
VS
76532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Fix python 3.x incompatibilities.
7656
7657 * gentpl.py: Put brackets around print strings.
7658 * util/import_gcry.py: Open explicitly as utf-8.
7659 Use in instead of has_key.
7660
3b619ae1
VS
76612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7664 (GRUB_XFS_INO_AGBITS): Make into inline function.
7665 (GRUB_XFS_INO_INOINAG): Likewise.
7666 (GRUB_XFS_INO_AG): Likewise.
7667 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7668 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7669 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7670 (GRUB_XFS_EXTENT_SIZE): Likewise.
7671 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7672 (GRUB_XFS_NEXT_DIRENT): Likewise.
7673 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7674 (grub_xfs_read_file): Fix offset type.
7675
8bcebcb8
RM
76762011-10-15 Robert Millan <rmh@gnu.org>
7677
7678 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7679
0017e5ef
RM
76802011-10-15 Robert Millan <rmh@gnu.org>
7681
7682 Fix build problem on FreeBSD and GNU/kFreeBSD.
7683
7684 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7685
d8919552
VS
76862011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7689
7690 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7691 types.
7692 (grub_hfsplus_btree_recoffset): Likewise.
7693 (grub_hfsplus_btree_recptr): Likewise.
7694 (grub_hfsplus_find_block): Likewise.
7695 (grub_hfsplus_btree_search): Likewise.
7696 (grub_hfsplus_read_block): Likewise.
7697 (grub_hfsplus_read_file): Likewise.
7698 (grub_hfsplus_mount): Likewise.
7699 (grub_hfsplus_btree_iterate_node): Likewise.
7700 (grub_hfsplus_btree_search): Likewise.
7701 (grub_hfsplus_iterate_dir): Likewise.
7702 (grub_hfsplus_read): A small code simplification.
7703
c81296b6
VS
77042011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/kern/emu/hostdisk.c
7707 (convert_system_partition_to_system_disk): Don't assume that children
7708 of mapper nodes are mapper nodes.
7709
0eb8ffb1
VS
77102011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7713 * include/grub/misc.h (grub_isxdigit): New function.
7714 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7715 switched to grub_isxdigit.
7716 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7717 number starting with a letter.
7718
a98f4a08
RM
77192011-10-09 Robert Millan <rmh@gnu.org>
7720
7721 LVM support for FreeBSD and GNU/kFreeBSD.
7722
7723 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7724 GNU/kFreeBSD.
7725 (LVM_DEV_MAPPER_STRING): Move from here ...
7726 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7727 * util/getroot.c: Include `<grub/util/lvm.h>'.
7728 (grub_util_get_dev_abstraction): Enable
7729 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7730 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7731 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7732 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7733 support it.
7734 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7735 GNU/kFreeBSD.
7736 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7737 when LVM abstraction is required for ${GRUB_DEVICE}.
7738
050e8e90
SJ
77392011-10-06 Szymon Janc <szymon@janc.net.pl>
7740
7741 Add support for LZO compression in GRUB:
7742 - import of minilzo library,
7743 - LZO decompression for btrfs,
7744 - lzop files decompression.
7745
7746 * grub-core/io/lzopio.c: New file.
7747 * grub-core/lib/adler32.c: Likewise.
7748 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7749 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7750 * grub-core/lib/minilzo/minilzo.c: Likewise.
7751 * grub-core/lib/minilzo/minilzo.h: Likewise.
7752 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7753 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7754 grub-core/lib/minilzo/minilzo.c to common.
7755 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7756 cflags in cppflags.
7757 * grub-core/Makefile.core.def (btrfs): Likewise.
7758 * grub-core/Makefile.core.def (lzopio): New module.
7759 (adler32): Likewise.
7760 * grub-core/fs/btrfs.c: Include minilzo.h.
7761 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7762 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7763 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7764 (grub_btrfs_lzo_decompress): New function.
7765 (grub_btrfs_extent_read): Add support for LZO compression type.
7766 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7767 (GRUB_USHRT_MAX): Likewise.
7768 (GRUB_UINT_MAX): Likewise.
7769 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7770 (UINT_MAX): Likewise.
7771 (CHAR_BIT): Likewise.
7772 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7773 grub-core/lib/posix_wrap/limits.h
7774 (UCHAR_MAX): Likewise.
7775 * include/grub/file.h (grub_file_filter_id): New compression filter
7776 GRUB_FILE_FILTER_LZOPIO.
7777 * include/grub/file.h (grub_file_filter_id): Set
7778 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7779 * include/grub/types.h (grub_get_unaligned16): New function.
7780 (grub_get_unaligned32): Likewise.
7781 (grub_get_unaligned64): Likewise.
7782 * util/import_gcry.py (cryptolist): Add adler32.
7783
0eb8ffb1
VS
77842011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7787 in perspective decreases the complexity of build system and fixes
7788 compilation right now.
7789
ce79cc99 77902011-10-01 Ales Nesrsta <starous@volny.cz>
7791
7792 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7793 (fixed problem related to using UHCI with coreboot).
7794
8667a314
BC
77952011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7796
7797 * gentpl.py: Use Autogen macros so that the output template file
7798 (Makefile.tpl) size is reduced.
7799
fc5efcc0
MK
78002011-09-29 Mads Kiilerich <mads@kiilerich.com>
7801
7802 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7803 extra_dist.
7804
d1ab689d
ML
78052011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7806
7807 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7808 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7809
c05de032
ML
78102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7811
7812 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7813 _fullpath.
7814
cca7ccd8
ML
78152011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7816
7817 Remove extra declaration of sleep for mingw32.
7818
7819 * util/misc.c (sleep) [__MINGW32__]: Removed.
7820 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7821
e0b0dc83
GS
78222011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7823
7824 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7825 type and packname.
7826 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7827 Resurrected.
7828 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7829 (grub_netbsd_btinfo_bootwedge): New struct.
7830 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7831 New function.
7832 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7833
91a1a164
TH
78342011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7835
7836 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7837 loader.
7838
2ded951e
AB
78392011-09-28 Andreas Born <futur.andy@googlemail.com>
7840
7841 Fix incorrect identifiers in bash-completion.
7842
7843 * util/bash-completion.d/grub-completion.bash.in
7844 (_grub_mkpasswd-pbkdf2): Rename to ...
7845 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7846 (_grub_script-check): Rename to ...
7847 (_grub_script_check): ... this. All users updated.
7848
69915030
VS
78492011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7852 Return 0 if disk isn't biosdisk.
7853
20fd15f9
GS
78542011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7855
7856 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7857 on NetBSD.
7858 * Makefile.util.def (grub-fstest): Likewise.
7859
1a7d7db9
GS
78602011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7861
7862 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7863 Get sector size from disk label.
7864
2221ab6c
CW
78652011-09-05 Colin Watson <cjwatson@ubuntu.com>
7866
7867 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7868 */README* as well as README*.
7869 Reported by: Axel Beckert.
7870
ca51c4a0
VS
78712011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7874 case of less than 256 MiB of RAM.
7875
ab80f326
VS
78762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * grub-core/commands/wildcard.c (make_regex): Handle @.
7879
4155e697
VS
78802011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7883
ab178c08
SJ
78842011-08-21 Szymon Janc <szymon@janc.net.pl>
7885
7886 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7887 AC_LANG_CONFTEST macros.
7888
7dc3c686
SJ
78892011-08-20 Szymon Janc <szymon@janc.net.pl>
7890
7891 Add grub-fstest option to uncompress data for commands.
7892
7893 * util/grub-fstest.c (uncompress): New var.
7894 (options): New option -u.
7895
fe8d4a7b
SJ
78962011-08-20 Szymon Janc <szymon@janc.net.pl>
7897
7898 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7899 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7900
a5219af1
SJ
79012011-08-20 Szymon Janc <szymon@janc.net.pl>
7902
7903 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7904 file type was not recognized correctly (not gzip or corrupted).
7905
f87abff5
VS
79062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7909 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7910
d94497ea
VS
79112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7914 loongson.
7915 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7916 video_radeon_fuloong2e.
7917 * grub-core/video/radeon_fuloong2e.c: New file.
7918 * include/grub/video.h (grub_video_id_t): Add new ID
7919 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7920
0d1fd011
VS
79212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7924 define.
7925 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7926 that PRID matches the detected subplatform and reset the subplatform
7927 if it doesn't.
7928
84beb0ee
VS
79292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7932
1227c133
VS
79332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Fix PCI iterating on functions >= 4.
7936
7937 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7938 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7939 Removed.
7940 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7941 (grub_pci_read): Fix bitmask.
7942 (grub_pci_read_word): Likewise.
7943 (grub_pci_read_byte): Likewise.
7944 (grub_pci_write): Likewise.
7945 (grub_pci_write_word): Likewise.
7946 (grub_pci_write_byte): Likewise.
7947
9594c689
VS
79482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7951 can still be specified in TARGET_CFLAGS)
7952
14a2562c
VS
79532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7956
7957 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7958 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7959 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7960 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7961 (FULOONG): Rename to ...
7962 (FULOONG2F): ... this. All users updated.
7963 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7964 (machtype_fuloong2f_str): ... this.
7965 (machtype_fuloong2e_str): New string.
7966 Check for machtype_fuloong2e_str.
7967 * grub-core/loader/mips/linux.c (loongson_machtypes)
7968 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7969 * grub-core/term/serial.c (loongson_defserial)
7970 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7971 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7972 loongson_defserial.
7973 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7974 Rename to ...
7975 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7976 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7977 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7978 to IMAGE_FULOONG2F_FLASH. All users updated.
7979 (image_targets): Rename images.
7980 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7981
b526cbb6
SJ
79822011-08-19 Szymon Janc <szymon@janc.net.pl>
7983
7984 Make enable of disk cache statistics code configurable.
7985
7986 * configure.ac: --enable-cache-stats added.
7987 * config.h.in (DISK_CACHE_STATS): New define.
7988 * grub-core/Makefile.core.def (cacheinfo): New command.
7989 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7990 * grub-core/commands/cacheinfo.c: New file.
7991 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7992 moved to cacheinfo.c.
7993 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7994 debug code.
7995 * include/grub/disk.h: Likewise.
7996
fb739ccd
SJ
79972011-08-19 Szymon Janc <szymon@janc.net.pl>
7998
7999 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8000 * grub-core/Makefile.am: Likewise.
8001
2bba8cfd
VS
80022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8005 non-zero pull.
8006
43526629
VS
80072011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8010 All users updated.
8011 (grub_jfs_lookup_symlink): Use correct starting inode.
8012
5c144cc8
VS
80132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * util/grub-setup.c (main): Add missing gcry initialisation.
8016
b1257f65
VS
80172011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 Don't accept text modes on EFI when booting Linux.
8020
8021 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8022 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8023
828bc390
ML
80242011-08-15 Mario Limonciello <mario_limonciello@dell.com>
80252011-08-15 Colin Watson <cjwatson@ubuntu.com>
8026
8027 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8028 use of "/path/.." as in grub-install for EFI as well as handling
8029 symlinks correctly.
8030 Fixes Debian bug #637768.
8031
5f60ccac
CW
80322011-08-15 Colin Watson <cjwatson@ubuntu.com>
8033
8034 * util/grub-probe.c: Remove duplicate #include.
8035
6dc212f9
RM
80362011-08-10 Robert Millan <rmh@gnu.org>
8037
8038 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8039
8040 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8041 function.
8042 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8043 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8044
66816d85
RM
80452011-08-03 Robert Millan <rmh@gnu.org>
8046
8047 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8048 la_array as packed.
8049 Reported by: Zachary Bedell
8050
20168fca
CW
80512011-07-26 Colin Watson <cjwatson@ubuntu.com>
8052
8053 * configure.ac: The Loongson port requires grub-mkfont due to its
8054 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8055 be built.
8056
303b6246
CW
80572011-07-26 Colin Watson <cjwatson@ubuntu.com>
8058
8059 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8060 processing arguments (otherwise help2man fails when GRUB has not yet
8061 been installed).
8062
6795300e
VS
80632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8064
41aa28ea
VS
8065 New script grub-mkstandalone.
8066
8067 * Makefile.util.def (grub-mkstandalone): New script.
8068 * docs/man/grub-mkstandalone.h2m: New file.
8069 * util/grub-mkstandalone.in: Likewise.
8070
80712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Support ATA disks with 4K sectors.
6795300e
VS
8074
8075 * include/grub/ata.h (grub_ata): New member log_sector_size.
8076 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8077 (grub_ata_identify): Read sector size.
8078 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8079
92227597
VS
80802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * util/grub-install.in: Don't use uhci outside of x86.
8083
c77069f5
VS
80842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * util/grub-mkrescue.in: Add missing quotes.
8087
80882011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8089
8090 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8091 dereference.
8092
583168a2
VS
80932011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8096
6be1c01f
VS
80972011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * include/grub/video.h: add missing EXPORT_FUND on
8100 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8101
a1167439
VS
81022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * include/grub/mips/kernel.h: Fix define conflict.
8105
bf66054f
VS
81062011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8109 all four ways.
8110
8fc4fa45
CW
81112011-07-21 Colin Watson <cjwatson@ubuntu.com>
8112
8113 Preferred resolution detection for VBE.
8114
8115 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8116 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8117 the Flat Panel extension, in line with the X.org VESA driver.
8118 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8119 New function.
8120 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8121 (grub_vbe_bios_read_edid): Likewise.
8122 (grub_vbe_get_preferred_mode): Likewise.
8123 (grub_video_vbe_setup): When the mode is "auto", try to get the
8124 preferred mode from VBE, and use the largest mode that is no larger
8125 than the preferred mode (some BIOSes expose a preferred mode that is
8126 not in their mode list!). If this fails, fall back to 640x480 as a
8127 safe conservative choice.
8128 (grub_video_vbe_get_edid): New function.
8129 (grub_video_vbe_adapter): Add get_edid.
8130 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8131 (struct grub_video_adapter): Add get_edid.
8132 (grub_video_edid_checksum): Add prototype.
8133 (grub_video_edid_preferred_mode): Likewise.
8134 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8135 structure.
8136
8137 * grub-core/commands/videoinfo.c (print_edid): New function.
8138 (grub_cmd_videoinfo): Print EDID if available.
8139
8140 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8141 is more appropriate on a wider range of platforms than 640x480.
8142 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8143 documentation.
8144
ca5572a9
VS
81452011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8148
e4bcf625
VS
81492011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * po/POTFILES.in: Regenerate.
8152
c4edd548
VS
81532011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8156 incorrect memory usage.
8157
16a2bab0
VS
81582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * util/grub-install.in: Source grub-mkconfig_lib.
8161
2e418de6
VS
81622011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 Remove getroot.c from core on emu platform.
8165
8166 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8167 kern/emu/raid.c.
8168 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8169 useless.
8170 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8171 * util/getroot.c (get_win32_path): ... here.
8172 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8173 * util/getroot.c (fini_libzfs): ... here.
8174 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8175 * util/getroot.c (grub_get_libzfs_handle): ... here.
8176 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8177 Moved from here...
8178 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8179 * grub-core/kern/emu/misc.c
8180 (grub_make_system_path_relative_to_its_root): Moved from here...
8181 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8182 * grub-core/kern/emu/getroot.c: Moved from here ...
8183 * util/getroot.c: ... here. All users updated.
8184 * grub-core/kern/emu/raid.c: Moved from here ...
8185 * util/raid.c: ... here. All users updated.
8186
def9832a
VS
81872011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * po/POTFILES.in: Regenerate.
8190
cd8fe79a
VS
81912011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Fix compilation on GNU/Linux.
8194
8195 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8196 Disable geli.
8197 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8198 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8199 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8200
a251b719
VS
82012011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
82022011-07-07 Michael Gorven <michael@gorven.za.net>
82032011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8204
8205 LUKS and GELI support.
8206
8207 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8208 grub-core/disk/luks.c, grub-core/disk/geli.c,
8209 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8210 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8211 grub-core/lib/arg.c.
8212 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8213 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8214 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8215 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8216 (grub-bin2h): Add libgcry.a.
8217 (grub-mkimage): Likewise.
8218 (grub-mkrelpath): Likewise.
8219 (grub-script-check): Likewise.
8220 (grub-editenv): Likewise.
8221 (grub-mkpasswd-pbkdf2): Likewise.
8222 (grub-pe2elf): Likewise.
8223 (grub-fstest): Likewise.
8224 (grub-mkfont): Likewise.
8225 (grub-mkdevicemap): Likewise.
8226 (grub-probe): Likewise.
8227 (grub-ofpath): Likewise.
8228 (grub-mklayout): Likewise.
8229 (example_unit_test): Likewise.
8230 (grub-menulst2cfg): Likewise.
8231 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8232 * grub-core/Makefile.core.def (cryptodisk): New module.
8233 (luks): Likewise.
8234 (geli): Likewise.
8235 * grub-core/disk/AFSplitter.c: New file.
8236 * grub-core/disk/cryptodisk.c: Likewise.
8237 * grub-core/disk/geli.c: Likewise.
8238 * grub-core/disk/luks.c: Likewise.
8239 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8240 grub_util_is_lvm.
8241 (grub_util_get_dm_abstraction): New function.
8242 (grub_util_follow_gpart_up): Likewise.
8243 (grub_util_get_geom_abstraction): Likewise.
8244 (grub_util_get_dev_abstraction): Use new functions.
8245 (grub_util_pull_device): Pull GELI and LUKS.
8246 (grub_util_get_grub_dev): Handle LUKS and GELI.
8247 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8248 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8249 (follow_geom_up): Removed.
8250 (grub_util_fd_seek): New function.
8251 (open_device): Use grub_util_fd_seek.
8252 (nread): Rename to ..
8253 (grub_util_fd_read): ... this. All users updated.
8254 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8255 (grub_crypto_cbc_decrypt): Likewise.
8256 (grub_crypto_hmac_write): Likewise.
8257 (grub_crypto_hmac_buffer): Likewise.
8258 (grub_password_get): Extend to util.
8259 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8260 New member modname.
8261 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8262 * include/grub/cryptodisk.h: New file.
8263 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8264 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8265 LUKS and GELI.
8266 (grub_util_follow_gpart_up): New proto.
8267 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8268 (grub_util_fd_read): Likewise.
8269 (grub_cryptodisk_cheat_mount): Likewise.
8270 (grub_util_cryptodisk_print_uuid): Likewise.
8271 (grub_util_get_fd_sectors): Likewise.
8272 * util/grub-fstest.c (mount_crypt): New var.
8273 (fstest): Mount crypto if requested.
8274 (options): New option -C.
8275 (argp_parser): Parse -C.
8276 (main): Init and fini gcry.
8277 * util/grub-install.in: Support cryptodisk install.
8278 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8279 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8280 cryptodisk.
8281 (prepare_grub_to_access_device): Likewise.
8282 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8283 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8284 (probe_cryptodisk_uuid): New function.
8285 (probe_abstraction): Likewise.
8286 (probe): Use new functions.
8287 * util/import_gcry.py: Create Makefile.utilgcry.def.
8288 Add modname member.
8289
9bfdcbbc
VS
82902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 Lazy device scanning.
8293
8294 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8295 (grub-setup): Remove util/raid.c.
8296 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8297 * grub-core/disk/lvm.c (scan_depth): New variable.
8298 (grub_lvm_iterate): Rescan if necessary.
8299 (find_lv): New function based on grub_lvm_open.
8300 (grub_lvm_open): Use find_lv. Rescan on error.
8301 (is_node_readable): New function.
8302 (is_lv_readable): Likewise.
8303 (grub_lvm_scan_device): Skip already found disks.
8304 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8305 Stop if searched device is found and readable.
8306 * grub-core/disk/raid.c (inscnt): New variable.
8307 (scan_depth): Likewise.
8308 (scan_devices): New function based on grub_raid_register. Abort if
8309 looked for device is found.
8310 (grub_raid_iterate): Rescan if needed.
8311 (find_array): NEw function based on -grub_raid_open.
8312 (grub_raid_open): Use find_array and rescan.
8313 (insert_array): Set became_readable_at.
8314 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8315 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8316 New function.
8317 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8318 (grub_util_pull_device): New function.
8319 (grub_util_get_grub_dev): Call grub_util_pull_device.
8320 * util/raid.c: Moved to ..
8321 * grub-core/kern/emu/raid.c: ... here.
8322 (grub_util_raid_getmembers): New parameter "bootable".
8323 All users updated. Support 1.x.
8324 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8325 All users updated.
8326 * include/grub/disk.h (grub_disk_pull_t): New enum.
8327 (grub_disk_dev): Change iterate prototype.
8328 All users updated.
8329 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8330 New proto.
8331 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8332 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8333 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8334 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8335 All users updated.
8336 * include/grub/util/raid.h: Removed.
8337
1c358e59
VS
83382011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * po/POTFILES.in: Regenerate.
8341
abee94ed
VS
83422011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 Unify sparc init with other ieee1275.
8345
8346 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8347 instead of kern/sparc64/ieee1275/init.c.
8348 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8349 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8350 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8351 grub/machine/kernel.h.
8352 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8353 (grub_claim_heap) [__sparc__]: Use sparc version.
8354 (grub_machine_init): Moved args parsing to
8355 (grub_parse_cmdline): ...this.
8356 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8357 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8358 New definition.
8359 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8360
8361 Move BOOTP to separate file.
8362
8363 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8364 * grub-core/net/net.c: Move all BOOTP functions to
8365 * grub-core/net/bootp.c: ... here.
8366
8367 Use frame interface on PXE.
8368
8369 * grub-core/Makefile.core.def (pxecmd): Removed.
8370 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8371 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8372 * grub-core/i386/pc/pxe.c: Moved from here ...
8373 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8374 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8375 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8376
8377 EFI network support.
8378
8379 * grub-core/Makefile.core.def (efinet): New module.
8380 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8381 here...
8382 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8383 All users updated.
8384 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8385 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8386 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8387 * grub-core/net/drivers/efi/efinet.c: New file.
8388 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8389 (grub_efi_net_config): New extern var.
8390
8391 Various cleanups and bugfixes.
8392
8393 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8394 error.
8395 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8396 disk declared as partition.
8397 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8398 leak on failure.
8399 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8400 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8401 (grub_debug_zalloc): Likewise.
8402 (grub_debug_realloc): Likewise.
8403 (grub_debug_memalign): Likewise.
8404 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8405 Check that target is IPv4.
8406 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8407 local-mac-address as fallback.
8408 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8409 memory leak.
8410 * grub-core/net/ip.c (ipchksum): Rename to ...
8411 (grub_net_ip_chksum): ... this. All users updated.
8412 (grub_net_recv_ip_packets): Special handling for DHCP.
8413 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8414
8415 Unify prefix handling
8416
8417 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8418 (grub_machine_get_bootlocation): ... this.
8419 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8420 (grub_machine_get_bootlocation): ... this.
8421 (grub_prefix): New variable.
8422 (prefix): Removed.
8423 (root_dev): New variable.
8424 (dir): Likewise.
8425 (main): Use new variables.
8426 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8427 Revamped into ...
8428 (grub_machine_get_bootlocation): ... this.
8429 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8430 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8431 (grub_machine_get_bootlocation): ... this.
8432 (grub_machine_set_prefix): Removed.
8433 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8434 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8435 Revamped into ...
8436 (grub_machine_get_bootlocation): ... this.
8437 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8438 (grub_set_prefix_and_root): ... this. All users updated.
8439 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8440 Revamped into ...
8441 (grub_machine_get_bootlocation): ... this.
8442 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8443 (grub_machine_get_bootlocation): New proto.
8444 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8445
8446 Less intrusive and more reliable seek on network implementation.
8447
8448 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8449 (grub_file_seek): Don't call grub_file_net_seek.
8450 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8451 (grub_net_fs_read_real): .. this.
8452 (grub_net_seek_real): Use net->offset.
8453 (grub_net_fs_read): Seek if necessary.
8454
8455 Unify IEEE1275 netwotk config with the other platforms.
8456
8457 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8458 New variable.
8459 (grub_machine_get_bootlocation): Support network.
8460 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8461 Support type and device parsing.
8462 (grub_ieee1275_get_device_type): New function.
8463 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8464 into ...
8465 (grub_ieee1275_net_config_real): ... this.
8466 (grub_ofnet_probecards): Removed.
8467 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8468 * include/grub/ieee1275/ofnet.h: Removed.
8469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8470 extern var.
8471 (grub_ieee1275_get_device_type): New function.
8472
8473 Unify network device closing across platforms and make more robust.
8474
8475 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8476 grub_grubnet_fini.
8477 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8478 already.
8479 * grub-core/net/net.c (grub_net_network_level_interface_register):
8480 Update num_ifaces.
8481 (grub_net_card_unregister): Close all interfaces.
8482 (receive_packets): Don't poll if no iterfaces are registered.
8483 Open if necessary.
8484 (grub_net_fini_hw): New function.
8485 (grub_net_restore_hw): Likewise.
8486 (fini_hnd): New variable.
8487 (GRUB_MOD_INIT): Register preboot hook.
8488 (GRUB_MOD_FINI): Run and unregister preboot hook.
8489
8490 Poll network cards when idle.
8491
8492 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8493 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8494 * grub-core/net/net.c (receive_packets): Save last poll time.
8495 (grub_net_poll_cards_idle_real): New function.
8496 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8497 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8498 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8499
8500 Rename ofnet interfaces.
8501
8502 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8503 (grub_ofnet_findcards): Use ofnet_%s names.
8504
8505 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8506
8507 Cleanup socket opening.
8508
8509 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8510 (grub_net_fs_close): Likewise.
8511 (grub_net_fs_read_real): Use eof member.
8512 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8513 (+grub_net_udp_close): New inline function.
8514
8515 * include/grub/net/tftp.h: Moved to the top of ...
8516 * grub-core/net/tftp.c: ... here.
8517 * include/grub/net/ip.h: Moved mostly to the top of ...
8518 * grub-core/net/ip.c: ... here.
8519 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8520 * grub-core/net/ethernet.c: ... here.
8521
8522 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8523
8524 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8525 FS name.
8526
8527 * include/grub/net/ip.h (ipv4_ini): Removed.
8528 (ipv4_fini): Likewise.
8529
8530 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8531 (grub_net_send_ip_packets): Likewise.
8532
cf1337aa
VS
85332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8536 grub_read_cmos prototype.
8537
93c06ff9
VS
85382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 VGA text support in qemu-mips
8541
8542 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8543 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8544 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8545 text.
8546 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8547 * grub-core/kern/vga_init.c: ... this.
8548 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8549 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8550 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8551 Adjust.
8552 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8553 GRUB_MACHINE_PCI_IO_BASE.
8554
748ccabe
VS
85552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 MIPS qemu flash support.
8558
8559 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8560 magic.
8561 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8562 (grub_machine_init): Probe memory if its size isn't known.
8563 * util/grub-mkimage.c (image_targets): Add flash targets.
8564 (generate_image): Handle flash targets.
8565
d7345994
VS
85662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 MIPS qemu at_keyboard support.
8569
8570 * gentpl.py (videoinkernel): Add qemu-mips.
8571 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8572 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8573 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8574 modules.
8575 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8576 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8577 * grub-core/term/serial.c (grub_serial_register)
8578 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8579
a07a81b3
VS
85802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 CMOS support on sparc.
8583
8584 * gentpl.py (cmos): Add powerpc and sparc.
8585 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8586 powerpc and sparc.
8587 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8588 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8589 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8590 grub_set_datetime_cmos.
8591 * grub-core/lib/ieee1275/cmos.c: New file.
8592 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8593 (find_rtc): Set no_ieee1275_rtc on error.
8594 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8595 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8596 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8597 fail. Move value to argument. All users updated
8598 (grub_cmos_write): Likewise.
8599 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8600 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8601 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8602 grub_get_datetime_cmos and grub_set_datetime_cmos.
8603
77546584
GS
86042011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8605
8606 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8607 sourcing grub-mkconfig_lib.
8608 * util/update-grub_lib.in: Likewise.
8609 * util/grub.d/00_header.in: Likewise.
8610 * util/grub.d/10_hurd.in: Likewise.
8611 * util/grub.d/10_kfreebsd.in: Likewise.
8612 * util/grub.d/10_linux.in: Likewise.
8613 * util/grub.d/10_netbsd.in: Likewise.
8614 * util/grub.d/10_windows.in: Likewise.
8615 * util/grub.d/20_linux_xen.in: Likewise.
8616 * util/grub.d/30_os-prober.in: Likewise.
8617
54894791
CW
86182011-06-28 Colin Watson <cjwatson@ubuntu.com>
8619
8620 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8621 default_bg_color rather than black.
8622 (grub_gfxterm_fullscreen): Likewise.
8623 (grub_gfxterm_background_color_cmd): Save new background color in
8624 default_bg_color.
8625
8d5d8444
VS
86262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8629
5afeb5bd
VS
86302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8633 mismerge.
8634
ba7df45e
VS
86352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Chainloading on coreboot support.
8638
8639 * grub-core/Makefile.core.def (chain): Add coreboot.
8640 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8641
d0b526b2
VS
86422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8645 if it happens.
8646
5ff1d945
VS
86472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 Implement time command.
8650
8651 * grub-core/Makefile.core.def (time): New module.
8652 * grub-core/commands/time.c: New file.
8653 * grub-core/script/parser.y: Remove "time" keyword.
8654 * grub-core/script/yylex.l: Likewise.
8655
5ebaad7e
VS
86562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8659
bdea3798
VS
86602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8663 when handling leftovers.
8664
b28c5655
VS
86652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8668 so that help2man doesn't fail.
8669
b6f945dc
VS
86702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8673 type in pointers on sparc64.
8674 (get_card_packet): Likewise.
8675
f9b75e8a
CW
86762011-06-27 Colin Watson <cjwatson@ubuntu.com>
8677
8678 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8679 with `*'.
8680 (grub_cmd_videoinfo): Fetch current video mode.
8681
1e3d9b86
VS
86822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8685 because of underlying system restrictions.
8686
efff4b1c
VS
86872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8690 necessary.
8691
9fc9ce37
VS
86922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 Coreboot video support.
8695
8696 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8697 (vbe): Likewise.
8698 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8699 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8700 here ...
8701 * grub-core/kern/i386/int.S: ... here.
8702 * grub-core/video/i386/pc/vbe.c: Updated includes.
8703 * grub-core/video/i386/pc/vga.c: Likewise.
8704 * include/grub/i386/coreboot/memory.h
8705 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8706 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8707 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8708 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8709 Disable interrupts.
8710 * include/grub/i386/pc/vga.h: Removed. All users updated.
8711
41bec7fe
VS
87122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8715 definitions for dprintf.
8716 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8717
ca80309d
VS
87182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8721 prototype.
8722 (get_card_packet): Likewise.
8723
9e322ce8
YB
87242011-06-26 Yves Blusseau <blusseau@zetam.org>
8725
8726 Display the path of the file when file is not found
8727
8728 * grub-core/fs/fat.c: Display the filename when file is not found.
8729 * grub-core/fs/fshelp.c: Likewise.
8730 * grub-core/fs/hfs.c: Likewise.
8731 * grub-core/fs/jfs.c: Likewise.
8732 * grub-core/fs/minix.c: Likewise.
8733 * grub-core/fs/ufs.c: Likewise.
8734 * grub-core/fs/btrfs.c: Likewise.
8735 * grub-core/commands/i386/pc/play.c: Likewise.
8736
cbf597af
SJ
87372011-06-26 Szymon Janc <szymon@janc.net.pl>
8738
8739 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8740 pointer checks before calling grub_free().
8741 * grub-core/commands/wildcard.c (match_devices): Likewise.
8742 * grub-core/commands/wildcard.c (match_files): Likewise.
8743 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8744 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8745 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8746 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8747 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8748 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8749 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8750 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8751 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8752
6295b32f
P
87532011-06-25 Patrick <p55@mailinator.com>
8754
8755 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8756
77c0840b
VS
87572011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8760 (grub_pxe_send): Likewise.
8761 (GRUB_MOD_INIT): Fix types.
8762
40ea05de
SJ
87632011-06-24 Szymon Janc <szymon@janc.net.pl>
8764
8765 * grub-core/io/xzio.c: Fix code style issues
8766
90162423
MRA
87672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
87682011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8769
8770 Network infrastructure.
8771 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8772
8773 * include/grub/net/arp.h: New file.
90162423
MRA
8774 * include/grub/net/device.h: Likewise.
8775 * include/grub/net/ethernet.h: Likewise.
8776 * include/grub/net/ip.h: Likewise.
8777 * include/grub/net/netbuff.h: Likewise.
8778 * include/grub/net/tftp.h: Likewise.
8779 * include/grub/net/udp.h: Likewise.
8780 * include/grub/ieee1275/ofnet.h: Likewise.
8781 * include/grub/emu/export.h: Likewise.
8782 * include/grub/net.h: Likewise.
8783 * grub-core/net/arp.c: Likewise.
8784 * grub-core/net/ethernet.c: Likewise.
8785 * grub-core/net/ip.c: Likewise.
8786 * grub-core/net/udp.c: Likewise.
8787 * grub-core/net/tftp.c: Likewise.
8788 * grub-core/net/netbuff.c: Likewise.
8789 * grub-core/net/net.c: Likewise.
8790 * grub-core/net/drivers/emu/emunet.c: Likewise.
8791 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8792 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8793 export.h.
8794 * grub-core/Makefile.core.def (net): New module.
8795 (tftp): Likewise.
8796 (ofnet): Likewise.
8797 (emunet): Likewise.
8798 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8799 network protocols.
8800 * grub-core/kern/device.c (grub_net_open) : New variable.
8801 (grub_device_open): Handle network device.
8802 (grub_device_close): Likewise.
8803 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8804 (grub_grubnet_fini): Likewise.
8805 (grub_file_seek): Seek in network device.
8806 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8807 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8808 network root.
8809 (grub_machine_fini): Call grub_grubnet_fini.
8810 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8811 network.
8812 (grub_ieee1275_get_aliasdevname): New function.
8813 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8814 Add unofficial Solaris network info.
8815 (grub_multiboot_make_mbi): Likewise.
8816 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8817 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8818 * include/grub/device.h (grub_fs): Removed.
8819 * include/grub/err.h (grub_err_t): Add network-related values.
8820 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8821 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8822 (grub_ieee1275_get_aliasdevname): New proto.
8823 * include/grub/net.h: Rewritten.
423a1849 8824
031f22a0
VS
88252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8828 names.
8829
4388ca72
VS
88302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8833 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8834 it truncates the output.
8835 Reported by: Ximin Luo.
8836
98e2f506
VS
88372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8840
2a5e94d8
VS
88412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8844 partmap before abstraction.
8845
535c1910
AK
88462011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8847
8848 * util/grub-mkconfig_lib.in: Add missing quotes.
8849
bc09e1a2
VS
88502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8853 old method if mountinfo would return /dev/root and /dev/root doesn't
8854 exist.
8855
290766fb
VS
88562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 ZFS zlib support
8859
8860 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8861 (decomp_table): Add zlib entries.
8862 (zio_read): USe 8 bits for compression function rather than 3.
8863 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8864
88652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/disk/ahci.c: Add missing license statements.
8868 * grub-core/fs/romfs.c: Likewise.
8869 * grub-core/lib/ia64/setjmp.S: Likewise.
8870 * grub-core/loader/i386/pc/freedos.c: Likewise.
8871 * grub-core/loader/ia64/efi/linux.c: Likewise.
8872 * grub-core/video/colors.c: Likewise.
8873 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8874
5ab3f48a
VS
88752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 AHCI support.
8878
8879 * grub-core/Makefile.core.def (ata_pthru): Removed.
8880 (ahci): New module.
8881 (pata): Likewise.
8882 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8883 on unload.
8884 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8885 readwrite.
8886 (grub_hdparm_do_check_powermode_cmd): Likewise.
8887 (grub_hdparm_do_smart_cmd): Likewise.
8888 (grub_hdparm_set_val_cmd): Likewise.
8889 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8890 * grub-core/disk/ahci.c: New file.
8891 * grub-core/disk/ata.c: Factor out the low-level part into ...
8892 * grub-core/disk/pata.c: ... here.
8893 * grub-core/disk/ata_pthru.c: Contents moved to ...
8894 * grub-core/disk/pata.c: ... here.
8895 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8896 (grub_scsi_iterate): Use grub_scsi_names.
8897 (grub_scsi_open): Likewise.
8898 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8899 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8900 (grub_ata_regs_t): New struct.
8901 (grub_disk_ata_pass_through_parms): Likewise.
8902 (grub_ata_device): Renamed to ...
8903 (grub_ata): ... this.
8904 (grub_ata_dev): New struct.
8905 Removed all low-level inline functions.
8906 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8907 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8908 iterate hooks and open. All users updated.
8909 * util/grub-install.in: Handle AHCI disk module.
8910
c31dc5f5
SJ
89112011-06-23 Szymon Janc <szymon@janc.net.pl>
8912
8913 Add support for DRI and RSTn markers in JPEG files.
8914
8915 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8916 (JPEG_MARKER_RST0): Likewise.
8917 (JPEG_MARKER_RST1): Likewise.
8918 (JPEG_MARKER_RST2): Likewise.
8919 (JPEG_MARKER_RST3): Likewise.
8920 (JPEG_MARKER_RST4): Likewise.
8921 (JPEG_MARKER_RST5): Likewise.
8922 (JPEG_MARKER_RST6): Likewise.
8923 (JPEG_MARKER_RST7): Likewise.
8924 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8925 (grub_jpeg_decode_dri): New function.
8926 (grub_jpeg_decode_sos): Move image data related part into
8927 grub_jpeg_decode_data function.
8928 (grub_jpeg_decode_data): New function.
8929 (grub_jpeg_reset): New function.
8930 (grub_jpeg_decode_jpeg): Handle new markers.
8931
fe12fd5b
VS
89322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * util/ieee1275/ofpath.c (check_sas): Close fd.
8935 (main): Free of_path.
8936 Reported by: David Volgyes <dvolgyes>.
8937
03147f46
VS
89382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8941 Reported by: David Volgyes <dvolgyes>.
8942
cad3237f
VS
89432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8946 file after stat.
8947 Reported by: David Volgyes <dvolgyes>.
8948
13548d26
VS
89492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8952
8953 Reported by: David Volgyes <dvolgyes>.
8954
e061a1b5
VS
89552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8958 Prevent memory leak.
8959
1abe47dc
VS
89602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8963 (main): Close file.
e061a1b5 8964 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8965
fbc62666
VS
89662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8969 to continue if allocation is failed.
8970
8971 Reported by: David Volgyes <dvolgyes>.
8972
e98c83e9
DV
89732011-06-23 David Volgyes <dvolgyes>
8974
8975 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8976 dereference.
8977
a199a8cd
VS
89782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 Fix spurious warning.
8981
8982 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8983 (acorn_partition_map_find): Use .bin member.
8984
e2d1dba0
VS
89852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8988 /dev/root as a valid device.
8989
8a5d6919
JM
89902011-06-23 Jim Meyering <meyering@redhat.com>
8991
e2d1dba0
VS
8992 Avoid NULL deref in grub_device_open.
8993
8a5d6919
JM
8994 * grub-core/kern/device.c (grub_device_open): Don't dereference
8995 a NULL pointer upon failed grub_env_get.
8996
f7db6f4a
VS
89972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 Support non-512B sectors and agglomerate reads.
9000
9001 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9002 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9003 (disk_io_guid): Removed.
9004 (make_devices): Locate solely by BlockIO.
9005 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9006 (grub_efidisk_read): Use read_blocks.
9007 (grub_efidisk_write): Use write_blocks.
9008 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9009 log_sector_size.
9010 (get_safe_sectors): Handle non-512B sectors.
9011 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9012 sectors.
9013 (grub_biosdisk_write): Handle non-512B sectors.
9014 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9015 (grub_scsi_read): Remove special non-512B block handling (now handled
9016 one level up).
9017 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9018 and do sanity checks.
9019 (grub_disk_adjust_range): Handle non-512B sectors.
9020 (transform_sector): New function.
9021 (grub_disk_read_small): Likewise.
9022 (grub_disk_read): Rewritten.
9023 (grub_disk_write): Handle non-512B sectors.
9024 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9025 log_sector_size.
9026 (open_device): Use log_sector_size.
9027 (grub_util_biosdisk_read): Likewise.
9028 (grub_util_biosdisk_write): Likewise.
9029 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9030 non-512B sectors.
9031 (pc_partition_map_embed): Likewise.
9032 * include/grub/disk.h (grub_disk): New field log_sector_size.
9033 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9034 (GRUB_DISK_CACHE_BITS): Increased to 6.
9035 * util/grub-fstest.c (fstest): New command testload.
9036 (argp_parser): Likewise.
9037
881ac815
RM
90382011-06-16 Robert Millan <rmh@gnu.org>
9039
9040 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9041 `ata' driver on kernel of FreeBSD 9.
9042
9043 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9044 (get_ataraid_disk_name): New functions.
9045 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9046 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9047 get_ataraid_disk_name() and get_ada_disk_name().
9048
1e9aef7d
CW
90492011-06-13 Colin Watson <cjwatson@ubuntu.com>
9050
9051 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9052 input format.
9053
351c7c8a
CW
90542011-05-29 Colin Watson <cjwatson@ubuntu.com>
9055
9056 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9057 `ftp.gnu.org' for `alpha.gnu.org'.
9058
6b4e6430
CW
90592011-05-27 Colin Watson <cjwatson@ubuntu.com>
9060
9061 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9062 partitions under /dev/disk/by-id/.
9063
c64db050
CW
90642011-05-27 Colin Watson <cjwatson@ubuntu.com>
9065
9066 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9067 after ten consecutive open failures. Scanning all the way up to
9068 10000 is excessive and can cause serious performance problems in
9069 some configurations.
9070 Fixes Ubuntu bug #787461.
9071
245f4aba
VS
90722011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9075 opening new one.
9076
f767c929
VS
90772011-05-21 Colin Watson <cjwatson@ubuntu.com>
90782011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 Don't stat devices unless we have to.
9081
9082 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9083 dir == /dev/mapper.
9084 (grub_guess_root_device): Use already known os_dev if possible.
9085 * grub-core/kern/emu/hostdisk.c
9086 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9087 if device is known to be a dm one.
9088
f35fa3a6
CW
90892011-05-20 Colin Watson <cjwatson@ubuntu.com>
9090
9091 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9092 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9093 Reported by: Pawel Tecza.
9094
9a79fcf2
VS
90952011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9098 (lsefisystab): Likewise.
9099 (lssal): Likewise.
9100 (lsefimmap): Likewise.
9101 (hdparm): Enable on qemu-mips.
9102 (setjmp): Add ia64 nodist.
9103 (serial): Simplify tags.
9104
63e3eea9
CW
91052011-05-18 Colin Watson <cjwatson@ubuntu.com>
9106
9107 * Makefile.util.def (grub-ofpathname): Install manual page.
9108
09728256
CW
91092011-05-18 Colin Watson <cjwatson@ubuntu.com>
9110
9111 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9112
8b63a142
CW
91132011-05-18 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9116
e775d8ed
VS
91172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9120 into dprintf.
9121
bf947d36
VS
91222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 Use full 64-bit division.
9125
9126 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9127 (grub_divmod64): ... this.
9128 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9129 version.
9130
b84f26c5
CW
91312011-05-18 Colin Watson <cjwatson@ubuntu.com>
9132
9133 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9134 `source'.
9135
5626056f
CW
91362011-05-18 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9139 to avoid accidents when debugging with 'sh -x'.
9140 * grub-core/gensyminfo.sh.in: Likewise.
9141 * tests/example_scripted_test.in: Likewise.
9142 * tests/grub_cmd_regexp.in: Likewise.
9143 * tests/grub_script_blanklines.in: Likewise.
9144 * tests/grub_script_dollar.in: Likewise.
9145 * tests/grub_script_expansion.in: Likewise.
9146 * tests/grub_script_final_semicolon.in: Likewise.
9147 * tests/partmap_test.in: Likewise.
9148 * tests/util/grub-shell-tester.in: Likewise.
9149 * tests/util/grub-shell.in: Likewise.
9150
e2965f4a
CW
91512011-05-18 Colin Watson <cjwatson@ubuntu.com>
9152
9153 Move gfxmenu color handling to video, so that gfxterm can use it
9154 too.
9155
9156 * grub-core/gfxmenu/named_colors.c: Move to ...
9157 * grub-core/video/colors.c: ... here. Rename
9158 grub_gui_get_named_color to grub_video_get_named_color.
9159 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9160 * grub-core/video/colors.c (my_isxdigit): ... here.
9161 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9162 Move to ...
9163 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9164 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9165 to ...
9166 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9167
9168 * include/grub/gui.h (grub_gui_color_t): Move to ...
9169 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9170 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9171 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9172 * include/grub/gui.h (grub_gui_map_color): Move to ...
9173 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9174 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9175 to ...
9176 * include/grub/video.h (grub_video_get_named_color): ... here.
9177 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9178 * include/grub/video.h (grub_video_parse_color): ... here.
9179
9180 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9181 video/colors.c.
9182 (gfxmenu): Remove gfxmenu/named_colors.c.
9183 (video) [videomodules]: Add video/colors.c.
9184
9185 Add a background_color command.
9186
9187 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9188 function.
9189 (GRUB_MOD_INIT): Register background_color command.
9190 (GRUB_MOD_FINI): Unregister background_color command.
9191 (redraw_screen_rect): Allow blend/replace of text layer to be
9192 controlled independently from whether there is a background bitmap.
9193 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9194 changing bitmap.
9195
1e4b4390
VS
91962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9197
26618ff0
VS
9198 Patch BPB in ntldr and chainloader --bpb.
9199
1e4b4390
VS
9200 * grub-core/fs/fat.c: Include grub/fat.h.
9201 (grub_fat_bpb): Moved to ...
9202 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9203 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9204 grub/ntfs.h.
9205 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9206 Moved from here...
9207 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9208 here.
9209 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9210 New function.
9211 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9212 (GRUB_MOD_INIT): Show --bpb.
9213 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9214 * grub-core/normal/main.c (features): New variable.
9215 (GRUB_MOD_INIT): Set feature_* variables.
9216 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9217 proto.
9218 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9219
cf02731e
VS
92202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9223 for cleanness.
9224
e3a1073f
VS
92252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 FreeDOS direct loading support.
9228
9229 * docs/grub.texi (Supported OS): Add FreeDOS.
9230 * grub-core/Makefile.core.def (freedos): New module.
9231 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9232 variable.
9233 (grub_relocator16_boot): Handle %ebx.
9234 * grub-core/lib/i386/relocator16.S: Likewise.
9235 * grub-core/loader/i386/pc/freedos.c: New file.
9236
05caa461
VS
92372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 Long Linux command line support.
9240
9241 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9242 (maximal_cmdline_size): New variable.
9243 (allocate_pages): Use maximal_cmdline_size.
9244 (grub_cmd_linux): Set and use maximal_cmdline_size.
9245 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9246 (allocate_pages): Use maximal_cmdline_size.
9247 (grub_cmd_linux): Set and use maximal_cmdline_size.
9248 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9249 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9250 and cmdline_size.
9251
a2491e23
VS
92522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
92532011-05-18 Colin Watson <cjwatson@ubuntu.com>
9254
9255 Improve devmapper support
9256
9257 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9258 (grub_util_is_lvm): New function.
9259 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9260 than lvm if not dmraid.
9261 Handle mapped md nodes.
9262 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9263 (grub_util_device_is_mapped): ... this. Make always available. All users
9264 updated.
9265 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9266 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9267 dmraid nodes.
9268 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9269
6ad6223e
VS
92702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9273
9274 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9275 * grub-core/modinfo.sh.in: New file.
9276 * grub-core/Makefile.core.def (modinfo.sh): New script.
9277 * util/grub-mknetdir.in: Use modinfo.sh.
9278 * util/grub-mkrescue.in: Likewise.
9279
543a8f6e
VS
92802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9283 Fix potential usage of Elf32 instead of Elf64 when compiling on
9284 32-bit architecture. Add endianness macros while on it.
9285
4959e111
VS
92862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 Use mipsel- rather than mips- in directories involving mipsel ports to
9289 allow both endiannesses coexist.
9290
9291 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9292 mips. All conditions adjusted.
9293 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9294 variable.
9295 * util/grub-install.in: Adjust conditions to take renaming into account.
9296 * util/grub-mkimage.c (image_targets): Likewise. New target
9297 mips-qemu_mips-elf for bigendian mips.
9298
35341bbc
VS
92992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 Avoid unnecessary copying on MIPS.
9302
9303 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9304 early if src == dest.
9305 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9306 compression is none.
9307
b772baed
VS
93082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 Reduce memory footprint on SGI by putting modules before the kernel
9311 as opposed to after.
9312
9313 * grub-core/Makefile.core.def (kernel): Increase linking address.
9314 (none_decompress): Likewise.
9315 (xz_decompress): Likewise.
9316 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9317 address.
9318 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9319 layout change.
9320 (grub_arch_modules_addr): New function.
9321 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9322 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9323 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9324 here.
9325 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9326 (grub_total_modules_size): ... this. Make global.
9327 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9328 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9329 New definition.
9330 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9331 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9332 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9333 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9334 * util/grub-mkimage.c (image_target_desc): New flag
9335 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9336 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9337 (generate_image): Handle images with modules before kernel.
9338
566a1917
VS
93392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Prevent potential loss of memory map by overwrite on qemu-mips.
9342
9343 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9344 Save ram size in $s4.
9345 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9346 All users changed to grub_arch_memsize.
9347 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9348 Loongson.
9349 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9350 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9351 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9352 external variable.
9353
5d420cd9
CW
93542011-05-17 Colin Watson <cjwatson@ubuntu.com>
9355
9356 * .bzrignore: Remove grub-dumpbios.
9357
d064b830
CW
93582011-05-17 Colin Watson <cjwatson@ubuntu.com>
9359
9360 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9361 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9362 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9363 existing options which append).
9364 * docs/grub.texi (Simple configuration): Document new options.
9365 Reported by: Ian Jackson. Fixes Debian bug #617538.
9366
3ca2b466
CW
93672011-05-17 Colin Watson <cjwatson@ubuntu.com>
9368
9369 * util/grub-fstest.c (cmd_cat): New function.
9370 (fstest): Handle CMD_CAT.
9371 (options): Add cat.
9372 (argp_parser): Handle cat.
9373
24c9143a
CW
93742011-05-17 Colin Watson <cjwatson@ubuntu.com>
9375
9376 * Makefile.util.def (grub-bin2h): Don't install.
9377 * docs/man/grub-bin2h.h2m: Remove.
9378
90f7ac19
VS
93792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9382 place.
9383
8d4a5178
VS
93842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Reenable qemu-mips port.
9387
9388 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9389 Fix small arc bug while on it.
9390 * gentpl.py: Handle qemu_mips.
9391 * grub-core/Makefile.am: Likewise.
9392 * grub-core/Makefile.core.def: Likewise.
9393 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9394 inappropriate includes.
9395 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9396 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9397 * grub-core/kern/main.c (grub_modules_get_end)
9398 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9399 * grub-core/kern/mips/qemu-mips: Moved to ..
9400 * grub-core/kern/mips/qemu_mips: ... this.
9401 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9402 (grub_machine_init): Call terminfo_init and serial_init.
9403 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9404 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9405 New variable.
9406 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9407 parameter passing.
9408 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9409 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9410 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9411 * include/grub/mips/qemu_mips/cmos.h: New file.
9412 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9413 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9414 Removed.
9415 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9416 Use correct mips-style address.
9417 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9418 (GRUB_TICKS_PER_SECOND): Removed.
9419 (grub_get_rtc): Likewise.
9420 (grub_cpu_idle): Likewise.
9421 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9422 New definition.
9423 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9424 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9425 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9426 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9427 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9428 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9429 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9430 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9431
400b9371
VS
94322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 SGI ARCS port.
9435
9436 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9437 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9438 platforms.
9439 * configure.ac: New target mips-arc.
9440 * gentpl.py: Likewise.
9441 * grub-core/Makefile.am: Likewise.
9442 * grub-core/Makefile.core.def: Likewise.
9443 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9444 (none_decompress): Likewise.
9445 (lsdev): New module.
9446 (datetime): Use lib/arc/datetime.c on ARC.
9447 (part_dvh): New module.
9448 * grub-core/commands/arc/lsdev.c: New file.
9449 * grub-core/disk/arc/arcdisk.c: Likewise.
9450 * grub-core/kern/mips/arc/init.c: Likewise.
9451 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9452 aligned addresses.
9453 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9454 support.
9455 (grub_arch_dl_relocate_symbols): Likewise.
9456 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9457 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9458 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9459 platforms.
9460 * grub-core/lib/arc/datetime.c: New file.
9461 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9462 pci.h on non-loongson.
9463 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9464 (grub_linux_boot): Set unused registers to 0.
9465 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9466 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9467 * grub-core/mmap/mips/uppermem.c: ...here.
9468 * grub-core/partmap/dvh.c: New file.
9469 * grub-core/term/arc/console.c: Likewise.
9470 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9471 (grub_terminfo_set_current): Add terminal "arc".
9472 (grub_terminfo_readkey): Support ARC sequences.
9473 * include/grub/arc/arc.h: New file.
9474 * include/grub/arc/console.h: Likewise.
9475 * include/grub/disk.h (grub_disk_dev_id): Add
9476 GRUB_DISK_DEVICE_ARCDISK_ID.
9477 * include/grub/mips/arc/kernel.h: New file.
9478 * include/grub/mips/arc/memory.h: Likewise.
9479 * include/grub/mips/arc/time.h: Likewise.
9480 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9481 * include/grub/mips/kernel.h (grub_halt): ... here.
9482 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9483 here...
9484 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9485 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9486 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9487 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9488 proto.
9489 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9490 from here ...
9491 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9492 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9493 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9494 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9495 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9496 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9497 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9498 (grub_phys_addr_t): Moved from here ...
9499 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9500 (grub_vtop): Moved from here ...
9501 * include/grub/mips/memory.h (grub_vtop): ... here.
9502 (grub_map_memory): Moved from here ...
9503 * include/grub/mips/memory.h (grub_map_memory): ... here.
9504 (grub_unmap_memory): Moved from here ...
9505 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9506 (grub_machine_mmap_iterate): Moved from here ...
9507 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9508 (grub_mmap_get_lower): Moved from here ...
9509 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9510 (grub_mmap_get_upper): Moved from here ...
9511 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9512 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9513 here ...
9514 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9515 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9516 here ...
9517 * include/grub/mips/time.h (grub_get_rtc): ... here.
9518 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9519 here ...
9520 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9521 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9522 here ...
9523 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9524 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9525 definition.
9526 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9527 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9528 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9529 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9530 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9531 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9532 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9533 (GRUB_MACHINE_LINK_ADDR): Likewise.
9534 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9535 to 6.
9536 * util/grub-install.in: Run dvhtool on ARC.
9537 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9538 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9539
c8ecc840
VS
95402011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9543 blocks.
9544
153a4b55
VS
95452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9548 after enabling port.
9549
ff44d107
VS
95502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Skip incorrect USB devices.
9553
9554 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9555 configcnt == 0.
9556 * include/grub/usb.h (grub_usb_err_t): New enum value
9557 GRUB_USB_ERR_BADDEVICE.
9558
638dbe4f
VS
95592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 Fuloong video init support.
9562
9563 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9564 well.
9565 (grub_vga_read_arx): New function.
9566 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9567 definition.
9568 (framebuffer): New members io, mmioptr and mmiobase.
9569 (read_sis_cmd): New function.
9570 (write_sis_cmd): Likewise.
9571 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9572 rather than 640x400.
9573 * grub-core/video/sis315_init.c: New file.
9574
c3fc520c
VS
95752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9578 non-loongson.
9579 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9580 to grub_dl_register_symbol.
9581
67b1e5c9
VS
95822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 Fix compilation errors.
9585
9586 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9587 potentially unused.
9588 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9589 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9590 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9591 to loongson machines.
9592
b756f75f
VS
95932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 Several FS mtime support.
9596
9597 * grub-core/fs/affs.c (grub_affs_time): New struct.
9598 (grub_affs_file): New field mtime.
9599 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9600 type. Removed 'size'. New field 'di'. All users updated.
9601 (grub_affs_mount): Simplify checsum checking.
9602 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9603 (grub_affs_dir): Handle mtime.
9604 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9605 (grub_cpio_dir): Likewise.
9606 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9607 (grub_hfs_filerec): New field mtime.
9608 (grub_hfs_dir): Handle mtime.
9609 (grub_hfs_mtime): New function.
9610 (grub_hfs_fs): Register grub_hfs_mtime.
9611 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9612 (grub_iso9660_dir): New field mtime.
9613 (grub_fshelp_node): New field dirent.
9614 (iso9660_to_unixtime): New function.
9615 (iso9660_to_unixtime2): Likewise.
9616 (grub_iso9660_read_symlink): Use node->dirent.
9617 (grub_iso9660_iterate_dir): Likewise.
9618 (grub_iso9660_dir): Set mtime.
9619 (grub_iso9660_mtime): New function.
9620 (grub_iso9660_fs): Register grub_iso9660_mtime.
9621 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9622 (grub_jfs_inode): New fields atime, ctime and mtime.
9623 (grub_jfs_dir): Set mtime.
9624 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9625 * grub-core/fs/ntfs.c (list_file): Set mtime.
9626 (grub_ntfs_dir): Likewise.
9627 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9628 (grub_reiserfs_iterate_dir): Set mtime.
9629 (grub_reiserfs_dir): Likewise.
9630 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9631 (grub_fshelp_node): Likewise.
9632 (grub_sfs_iterate_dir): Set mtime.
9633 (grub_sfs_dir): Likewise.
9634 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9635 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9636 (grub_xfs_inode): New fields atime, mtime, ctime.
9637 (grub_xfs_dir): Set mtime.
9638 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9639 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9640 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9641
9642 Support UDF symlinks.
9643
9644 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9645 (grub_ufs_read_symlink): New function. All users updated.
9646
9647 Check amiga partmap checksum.
9648
9649 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9650 (grub_amiga_partition): Likewise.
9651 (amiga_partition_map_checksum): New function.
9652 (amiga_partition_map_iterate): Check checksum.
9653
5470225d
VS
96542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 ROMFS support.
9657
9658 * Makefile.util.def (libgrubmods.a): Add romfs.
9659 * grub-core/Makefile.core.def (romfs): New module.
9660 * grub-core/fs/romfs.c: New file.
9661
d4680a35
VS
96622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 Squashfs v4 support.
9665
9666 * Makefile.util.def (libgrubmods.a): Add squash4.
9667 * grub-core/Makefile.core.def (squash4): New module.
9668 * grub-core/fs/squash4.c: New file.
9669 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9670 disk_input_start, disk_input.
9671 (get_byte): Handle disk_input.
9672 (grub_zlib_disk_read): New function.
9673 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9674
bcb18e74
FZ
96752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
96762011-05-15 Feiran Zheng <famcool@gmail.com>
9677
9678 * Makefile.util.def (libgrubmods.a): Add minix3.
9679 * grub-core/Makefile.core.def (minix3): New module.
9680 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9681 (GRUB_MINIX_BSIZE): Removed.
9682 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9683 (grub_minix_ino_t): New type.
9684 (grub_minix_le_to_cpu_ino): New macro.
9685 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9686 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9687 (grub_minix_data): New field block_size.
9688 (grub_minix_read_file): Handle 64-bit correctly.
9689 * grub-core/fs/minix3.c: New file.
9690
32297d5f
TG
96912011-05-15 Tristan Gingold <gingold@free.fr>
96922011-05-15 Robert Millan <rmh.grub@aybabtu.com>
96932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 IA64 support.
9696
9697 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9698 * configure.ac: Add ia64-efi target.
9699 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9700 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9701 * gentpl.py: Add ia64_efi platform.
9702 Rename x86_efi to efi and Add ia64-efi. All users updated.
9703 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9704 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9705 Remove kern/generic/rtc_get_time_ms.c on EFI.
9706 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9707 kern/ia64/dl_helper.c on ia64-efi.
9708 Add kern/emu/cache.c on emu.
9709 (linux): Use on loader/ia64/efi/linux.c on ia64.
9710 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9711 whether symbol is a function.
9712 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9713 (grub_symbol): New field 'isfunc'.
9714 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9715 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9716 (grub_dl_load_segments): Place all sections into the same region.
9717 [__ia64__]: Create trampolines and got.
9718 [GRUB_MACHINE_EMU]: Call mprotect.
9719 (grub_dl_resolve_symbols): Resolve symbol type as well.
9720 [__ia64__]: Create function descriptors.
9721 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9722 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9723 (grub_get_rtc): New function.
9724 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9725 * grub-core/kern/emu/cache.S: Renamed to ...
9726 * grub-core/kern/emu/cache_s.S: ... this.
9727 [__ia64__]: Add a nop.
9728 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9729 [__ia64__]: New function.
9730 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9731 * grub-core/kern/ia64/dl.c: New file.
9732 * grub-core/kern/ia64/dl_helper.c: Likewise.
9733 * grub-core/kern/ia64/efi/init.c: New file.
9734 * grub-core/kern/ia64/efi/startup.S: Likewise.
9735 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9736 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9737 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9738 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9739 * grub-core/loader/ia64/efi/linux.c: New file.
9740 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9741 (GRUB_MOD_DEP): Likewise.
9742 (grub_dl) [__ia64__]: New fields got and tramp.
9743 (grub_dl): New field 'base'.
9744 (grub_dl_register_symbol): New argument isfunc. All users updated.
9745 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9746 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9747 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9748 (grub_ia64_dl_get_tramp_got_size): New proto.
9749 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9750 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9751 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9752 * include/grub/efi/api.h: Skip call wrappers on ia64.
9753 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9754 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9755 * include/grub/elf.h (ELF_ST_INFO): New definition.
9756 * include/grub/ia64/efi/kernel.h: New file.
9757 * include/grub/ia64/efi/memory.h: Likewise.
9758 * include/grub/ia64/efi/time.h: Likewise.
9759 * include/grub/ia64/kernel.h: Likewise.
9760 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9761 * include/grub/ia64/time.h: New file.
9762 * include/grub/ia64/types.h: Likewise.
9763 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9764 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9765 New protos.
9766 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9767 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9768 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9769 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9770 All users updated.
9771 (EFI64_HEADER_SIZE): New definition. All users updated.
9772 (image_targets): Add ia64-efi.
9773 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9774 jumpers_addr. All users updated.
9775 Create function descriptors.
9776 (count_funcs): New function.
9777 (unaligned_uint32): New struct.
9778 (MASK20): New definition.
9779 (MASK19): Likewise.
9780 (MASKF21): Likewise.
9781 (add_value_to_slot_20b): New function.
9782 (add_value_to_slot_21_real): Likewise.
9783 (add_value_to_slot_21): Likewise.
9784 (ia64_kernel_trampoline): New struct.
9785 (nopm): New variable.
9786 (jump): Likewise.
9787 (make_trampoline): New function.
9788 (relocate_addresses): Handle ia64.
9789 (make_reloc_section): Likewise.
9790 (load_image): Likewise.
9791
983b414d
VS
97922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9795 warning. Move variables before code while on it.
9796
5d063cdc
VS
97972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 Fuloong support.
9800
9801 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9802 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9803 * grub-core/boot/mips/loongson/fuloong.S: New file.
9804 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9805 Explicitly init CS5536.
9806 [FULOONG]: Don't use serial until CS5536 is available.
9807 Set GPIO based on dumps.
9808 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9809 [FULOONG]: Handle GPIO and memory controller differences.
9810 Parse machine type in $a2.
9811 * grub-core/boot/mips/startup_raw.S: Determine and save the
9812 architecture.
9813 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9814 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9815 init on architecture type.
9816 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9817 SIS315E. Don't init at_keyboard on fuloong.
9818 (grub_halt): Support Fuloong.
9819 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9820 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9821 (loongson_machtypes): New array.
9822 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9823 type.
9824 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9825 config. All users updated. Handle CS5536 serial.
9826 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9827 default port on machine type. Register serial as inactive.
9828 * grub-core/video/sis315pro.c: New file.
9829 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9830 definition.
9831 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9832 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9833 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9834 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9835 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9836 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9837 to ...
9838 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9839 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9840 definition.
9841 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9842 (grub_arch_machine): New extern var.
9843 * include/grub/mips/loongson/serial.h
9844 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9845 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9846 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9847 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9848 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9849 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9850 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9851 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9852 * include/grub/term.h (grub_term_register_input_inactive): New inline
9853 function.
9854 (grub_term_register_output_inactive): Likewise.
9855 * include/grub/video.h (grub_video_driver_id): New value
9856 GRUB_VIDEO_DRIVER_SIS315PRO.
9857 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9858 New field "names". All users updated.
9859 New field value IMAGE_FULOONG_FLASH.
9860 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9861
6ada82d1
JU
98622011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9863
9864 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9865 and add some clarification.
9866
90c571a4
VS
98672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9870 platforms if kernel is compressed.
9871
de04eecf
VS
98722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9875 unused modules since currently referrence counter isn't reliable and
9876 there isn't much memory to recover there anyway.
9877
57688121
VS
98782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9881 rather than resetting it to allow modules to reference themselves
9882 in init.
9883
3d2c7e35
VS
98842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9887 counter on dependencies since grub_dl_unref already handles this.
9888
b25db218
VS
98892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9892 on error if not already done.
9893
25a45338
VS
98942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 Fix few potential memory misusage.
9897
9898 * grub-core/font/font.c (load_font_index): Don't free char_index to
9899 avoid double free.
b25db218
VS
9900 (grub_font_load): Zero-fill font at alloc for safety.
9901 Close file on error.
9902 (free_font): Free bmp_idx.
25a45338 9903
0cac83df
VS
99042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * docs/grub.texi (Installation): Fix several outdated claims.
9907
2217a143
VS
99082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 Handle module_license on windows.
9911
9912 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9913 sections shifted.
9914 (insert_string): Make argument const char * instead of char *.
9915 (write_section_data): Handle long section names.
9916 Handle module_license.
9917
d4de6b01
VS
99182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9921 handle class-free menuentries.
9922 (grub_normal_add_menu_entry): Add a check to be sure.
9923
4c2a3b43
VS
99242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9927 PgUp and PgDown.
9928
85c6210f
VS
99292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * configure.ac: Bump version to 1.99.
9932
36084912
VS
99332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 Give ATA device a bit more time on first try in order to allow disks
9936 to spin up.
9937
9938 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9939 if dev->present is 1. Reset dev->present on failure.
9940 (grub_ata_device_initialize): Set dev->present to 1.
9941 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9942 (grub_ata_device): New member 'present'.
9943
bda0e219
VS
99442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * util/grub-mkimage.c (generate_image): Update hash.
9947
19e1c41b
VS
99482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 Flush caches on DMA memory.
9951
9952 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9953 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9954 (grub_dma_free): Likewise.
9955 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9956
91bbcc0c
VS
99572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9960 to avoid asm treating ld and sd as macros.
9961
60ddfad3
VS
99622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9965 decompressor.
9966
a298aa04
VS
99672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9970 grub_decompress_core since later would fail if grub_decompress_core
9971 is too far.
9972
9b44feca
VS
99732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9976 R_MIPS_JALR since it's used by newer compiler.
9977
56dbe7b4
VS
99782011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9981
52856af2
VS
99822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9985 file_path to 0 for surety.
9986 (grub_chainloader_boot): Set exit_data to NULL.
9987 Unset the loader once done.
9988 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9989
9c9bfc6d
VS
99902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9993 unknown key into a dprintf.
9994
dd94a3df
VS
99952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9998 on first non-existant partition.
9999
fa68d99c
VS
100002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10003 openning fails.
10004 Reported by: Mark Korenberg.
10005
157effb7
VS
100062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10009 overflow.
10010
ea75312f
VS
100112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10014 before closing to ensure that it will be readable by grub-setup.
10015
072b5d31
VS
100162011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10019 (devpath_1): Use MAKE_PIWG_PATH.
10020 (devpath_2): Likewise.
10021 (devpath_3): Likewise.
10022 (devpath_4): Likewise.
10023 (devpath_5): Likewise.
10024 (devpath_6): Likewise.
10025
10026 The appleldr.mod was checked that to be binary identical to previous
10027 version.
10028
7fae0051
Z
100292011-05-05 Zach <mikezackles>
10030
10031 Support 2010 Macbooks.
10032
10033 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10034 (devs): Add devpath_6.
10035
7c515bee
VS
100362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10039 /dev/random. /dev/urandom is good enough for our purposes (salting).
10040
ed660bd8
VS
100412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10044
ee5614b7
VS
100452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10048 hexadecimal.
10049
664889a6
VS
100502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10053 and not 0 on failure.
10054
bd405bbc
CW
100552011-05-03 Colin Watson <cjwatson@ubuntu.com>
10056
10057 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10058 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10059 disk; otherwise grub_fs_probe will not fall back to the next
10060 filesystem.
10061 (grub_pxefs_open): Likewise, for consistency.
10062 Reported and tested by: Ezekiel Grave.
10063
4ebff753
CW
100642011-05-03 Colin Watson <cjwatson@ubuntu.com>
10065
10066 * tests/partmap_test.in: Don't hardcode path to parted.
10067 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10068
8f942553
CW
100692011-05-01 Colin Watson <cjwatson@ubuntu.com>
10070
10071 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10072 of `ls' to find out which devices are available.
10073
3c62402d
VS
100742011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10077 than source address for efi mmap buffer.
10078
723f63f2
VS
100792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10082 wrong action on non-detecting the magic.
10083
68797f92
VS
100842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10087 already supplied by another part of the module (fixes compilation on
10088 FreeBSD).
10089
6be8715d
VS
100902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10093 match the one used by mdadm.
10094
e91dba5b
CW
100952011-04-21 Colin Watson <cjwatson@ubuntu.com>
10096
10097 * po/README: Add instructions for creating po/LINGUAS.
10098
c85140b3
CW
100992011-04-21 Colin Watson <cjwatson@ubuntu.com>
10100
10101 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10102 #551428.
10103
10104 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10105 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10106 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10107 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10108 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10109 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10110 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10111 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10112 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10113 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10114 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10115 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10116 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10117 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10118 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10119 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10120 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10121 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10122 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10123 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10124 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10125 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10126
92051871
CW
101272011-04-21 Colin Watson <cjwatson@ubuntu.com>
10128
10129 * grub-core/kern/emu/getroot.c
10130 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10131 test that was incorrectly reintroduced in r3214.
10132 Reported by: Ian Dall. Fixes Savannah bug #33133.
10133
b13f79a4
CW
101342011-04-21 Colin Watson <cjwatson@ubuntu.com>
10135
10136 Fix stack pointer handling in 16-bit relocator.
10137
10138 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10139 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10140 Fixes Ubuntu bug #683904.
10141
9b710a88
VS
101422011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * configure.ac: Bump version to 1.99~rc2.
10145
d97e7b59
VS
101462011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10149 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10150 * grub-core/lib/x86_64/setjmp.S: Likewise.
10151 * grub-core/lib/mips/setjmp.S: Likewise.
10152 * grub-core/lib/powerpc/setjmp.S: Likewise.
10153 * grub-core/lib/sparc64/setjmp.S: Likewise.
10154
0624551c
VS
101552011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10158 * grub-core/lib/efi/datetime.c: Likewise.
10159
e8f28d4c
VS
101602011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10163 New function.
10164 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10165 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10166 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10167
bba79a15
VS
101682011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10171 bitmap.
10172 (grub_gfxterm_term_init): Likewise.
10173
abc474ef
VS
101742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 Take into account the decorations the computing menu entry width.
10177
10178 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10179 (grub_gfxmenu_create_box): Register get_border_width.
10180 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10181 if available.
10182 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10183 get_border_width.
10184
e74b3947
EP
101852011-04-18 Endres Puschner <code@e7p.de>
10186
10187 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10188 Don't skip first class.
10189
34faa595
VS
101902011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10193 chunks.
10194 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10195
93a777e3
VS
101962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 Complete 64-bit division support.
10199
10200 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10201 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10202 * include/grub/misc.h (grub_divmod64): Rename to ...
10203 (grub_divmod64_full): ... this.
10204 (grub_divmod64): New inline function.
10205
a5102d94
VS
102062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10209
f3fb7b36
VS
102102011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10213 performing the necessary test.
10214
9ac718b0
VS
102152011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10218 (kfreebsd.elf): Likewise.
10219 (pc-chainloader.elf): Likewise.
10220 (ntldr.elf): Likewise.
10221
50d2cc5a
VS
102222011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 Identify RAID by its UUID rather than (guessed) name.
10225
10226 * grub-core/disk/raid.c (ascii2hex): New function.
10227 (grub_raid_open): Accept mduuid/%s specification.
10228 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10229 (get_mdadm_uuid): ... this.
10230 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10231
e03f7bea
VS
102322011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10235 to negative size.
10236
e74c3112
CW
102372011-04-13 Colin Watson <cjwatson@ubuntu.com>
10238
10239 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10240 btrfs subvolume.
10241 * util/grub.d/20_linux_xen.in: Likewise.
10242
78fa584f
CW
102432011-04-13 Colin Watson <cjwatson@ubuntu.com>
10244
10245 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10246 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10247
10248 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10249 Build a list of relevant visible mounts using the mnt_id and
10250 parent_mnt_id fields, and then scan that list at the end.
10251
9d5f8162
CW
102522011-04-12 Colin Watson <cjwatson@ubuntu.com>
10253
10254 * docs/grub.texi (normal): New section.
10255 (normal_exit): New section.
10256 (Embedded configuration): Add reference to normal.
10257 (GRUB only offers a rescue shell): Likewise.
10258 * docs/grub-dev.texi (Error Handling): Fix typo.
10259
09a9d66f
CW
102602011-04-12 Colin Watson <cjwatson@ubuntu.com>
10261
10262 * NEWS: Drop obsolete entry about probe-only btrfs support.
10263
0c676933
CW
102642011-04-12 Colin Watson <cjwatson@ubuntu.com>
10265
10266 * util/import_gcry.py: Fix typo.
10267
ec9f5e0d
VS
102682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * NEWS: Add btrfs support.
10271
fe6b2cba
VS
102722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
102732011-04-11 Colin Watson <cjwatson@ubuntu.com>
10274
10275 BtrFS support. Written by me (Vladimir) with important bugfixes and
10276 even more important testing by Colin.
10277
10278 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10279 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10280 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10281 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10282 mem_input_off and mem_input. All users updated to accept in-RAM input.
10283 (gzio_seek): New function.
10284 (test_zlib_header): Likewise.
10285 (grub_gzio_read): Likewise.
10286 (grub_zlib_decompress): Likewise.
10287 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10288 Accept partial and non-virtual mounts.
10289 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10290 avoid receiving /dev/dm-X as device.
10291 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10292 Handle bind and partial mounts.
10293 * grub-core/lib/crc.c: New file.
10294 * include/grub/deflate.h: Likewise.
10295 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10296 proto.
10297 * include/grub/lib/crc.h: New file.
10298
e745cf0c
VS
102992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 Implement automatic module license checking according to new GNU
10302 guidelines.
10303
10304 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10305 (grub_dl_load_core): Use grub_dl_check_license.
10306 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10307 (GRUB_MOD_LICENSE): Likewise.
10308 (GRUB_MOD_DUAL_LICENSE): Likewise.
10309 All modules updated.
10310
2a9bc016
CW
103112011-04-11 Colin Watson <cjwatson@ubuntu.com>
10312
10313 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10314 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10315 loaders.
10316 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10317
8a3bc88e
VS
103182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10321
af869a4a
VS
103222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10325 failed.
10326
9ee8d94f
VS
103272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10330 parenthesis in the middle of the filename.
10331
b01abe3e
VS
103322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10335 rather than trying to put initrd way too high.
10336 Reported by: Ryan Lortie <desrt@desrt.ca>
10337
335bda1e
VS
103382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10341 improperly removed string.
10342
5ca1a64d
VS
103432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10346 is_disk.
10347 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10348 (open_device) Likewise.
10349 (grub_util_biosdisk_close): Likewise.
d8ce9995 10350 Reported by: Mark Korenberg.
5ca1a64d 10351
cbac5b1e
AK
103522011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10353
10354 * util/grub-mkconfig_lib.in: Add missing quotes.
10355
088cdb65
CW
103562011-04-10 Colin Watson <cjwatson@ubuntu.com>
10357
10358 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10359 is NULL.
10360
8b8a81fa
VS
103612011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Dynamically count the number of lines for the lower banner.
10364
10365 * grub-core/normal/menu_entry.c (per_term_screen): New member
10366 num_entries.
10367 (print_down): Use num_entries.
10368 (update_screen): Likewise.
10369 (grub_menu_entry_run): Set num_entries.
10370 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10371 num_entries.
10372 (grub_print_message_indented): Move real part to ...
10373 (grub_print_message_indented_real): ... here. Additional argument
10374 dry_run.
10375 (draw_border): Additional argument num_entries.
10376 (print_message): Additional argument dry_run.
10377 (print_entries): Receive menu viewer data.
10378 (grub_menu_init_page): New argment num_entries.
10379 (menu_text_set_chosen_entry): Use num_entries.
10380 (grub_menu_try_text): Likewise.
10381 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10382 All users updated.
10383 (grub_ucs4_count_lines): New function.
10384 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10385 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10386 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10387 (grub_term_border_height): Likewise.
10388 (grub_term_num_entries): Likewise.
10389
277f955b
VS
103902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10393 Remove now unused string.
10394
536ce85a
CW
103952011-04-09 Colin Watson <cjwatson@ubuntu.com>
10396
10397 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10398 build system.
10399 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10400
10401 (Comment): Fix typo.
10402 (Getting started): General copy-editing.
10403 (Typical Development Experience): Likewise.
10404 (Error Handling): Likewise.
10405 (Video API): Likewise.
10406
2cf09e32
CW
104072011-04-09 Colin Watson <cjwatson@ubuntu.com>
10408
10409 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10410 throughout.
10411
1ec652f4
VS
104122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10415 directory.
10416
2c583728
CW
104172011-04-08 Colin Watson <cjwatson@ubuntu.com>
10418
10419 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10420 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10421 "development".
10422
d7a565e9
VS
104232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10426 grub_strcpy since the lines aren't necessarily 0-terminated.
10427
7c2e4909
VS
104282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10431 root on legacy.
10432
34c09785
VS
104332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10436 (GRUB_MOD_INIT): DEVICE isn't optional.
10437
6a6f8058
VS
104382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10441 word on new line if it's too long anyway. Fixes a hang.
10442
2e335e90
VS
104432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10446 const.
10447 * util/grub-setup.c (main): Reuse md device name if available.
10448 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10449 not GRUB name as argument.
10450 Based on patch by: Florian Wagner <fwagner>.
10451
10a7a867
VS
104522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10455 Place mbi on low memory for better compatibility.
10456
7a3d6cd9
VS
104572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10460
18dd6b47
VS
104612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
104622011-04-08 Colin Watson <cjwatson@ubuntu.com>
10463
10464 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10465 * conf/Makefile.common: Likewise.
18dd6b47 10466
3c0e3f14
VS
104672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10468
f7148863
VS
10469 * grub-core/normal/menu.c: Add missing include.
10470
104712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10474
6d1fa41f
MZ
104752011-04-08 Martin Zuther <mzuther@mzuther.de>
10476
10477 * util/grub-mkconfig.in: Ignore emacsen backup.
10478
478182a8
VS
104792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10482 on open.
10483 (grub_util_biosdisk_close): Likewise.
10484
72a89a54
VS
104852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10488 const attribute and use grub_isdigit.
10489
b5ebecfa
A
104902011-04-06 Andrey <dev_null@ukr.net>
10491
10492 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10493 gcc warning.
10494
7755f66e
VS
104952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10498 useful grub_dprintf's.
10499
461121ff
VS
105002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10503
2a961775
VS
105042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10507
adf594cc
VS
105082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 Output errors if theme loading failed.
10511
10512 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10513 grub_gfxterm_fullscreen on error paths to ...
10514 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10515 theme loading error.
10516
665900a3
VS
105172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10520 space for older compilers.
10521 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10522
a562b479
VS
105232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10526 and report them as not RAID members since they are useless for GRUB.
10527 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10528
850e9373
VS
105292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Increase LVM implementation robustness in order not to crash on
10532 configurations like pvmove. Previously code assumed that in some places
10533 only lvs or only pvs are used whereas it seems that they are used
10534 interchangeably.
10535
10536 * grub-core/disk/lvm.c (read_node): New function.
10537 (read_lv): Use read_node.
10538 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10539 Match volumes only at the end when all lvs are found. Take both
10540 pvs (first) and lvs (second) into account.
10541 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10542 mirror_* into node_*. All users updated.
10543 (grub_lvm_stripe): Merge this ...
10544 (grub_lvm_mirror): ... and this ...
10545 (grub_lvm_node): ... into this. All users updated.
10546
6f332153
VS
105472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10550 of function to allow further scanning for LVMs.
10551
829ea451
VS
105522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10555 on failed seek as it breaks open fd reusage.
10556
09ceb9a5
VS
105572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * util/grub-install.in: Add a recommendation to use --recheck before
10560 reporting bugs.
10561
67e11623
VS
105622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10565 are obtained.
10566
caee5efd
VS
105672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 GRUB developper manual based on existing Internals section and
10570 contributions by the various authors with active copyright assignment.
10571
10572 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10573 * docs/font_char_metrics.png: New file.
10574 * docs/font_char_metrics.txt: Likewise.
10575 * docs/grub-dev.texi: Likewise.
10576 * docs/grub.texi (Internals): Move from here ...
10577 * docs/grub-dev.texi: ... here.
10578
2cccc747
CW
105792011-04-01 Colin Watson <cjwatson@ubuntu.com>
10580
10581 Store the loopback device as data on loopback grub_disk structures,
10582 rather than the file it points to. This fixes use of freed memory
10583 if an existing loopback device is replaced.
10584
10585 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10586 disk->data, not dev->file.
10587 (grub_loopback_read): Adjust file assignment to match.
10588 Fixes Ubuntu bug #742967.
10589
186ae367
CW
105902011-04-01 Colin Watson <cjwatson@ubuntu.com>
10591
10592 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10593 when replacing an existing device.
10594
cfed2ad0
VS
105952011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10598 memory corruptions.
10599
10600 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10601 unsigned.
10602 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10603 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10604 (grub_jfs_read_inode): Likewise.
10605 (grub_jfs_opendir): Likewise. Remove now useless casts.
10606 (grub_jfs_getent): Likewise.
10607 Make ino a grub_uint32_t rather than int.
10608 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10609 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10610 division and module with bit operations.
10611 (grub_jfs_find_file): Make ino a grub_uint32_t.
10612 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10613
05d2ed32
CW
106142011-04-01 Colin Watson <cjwatson@ubuntu.com>
10615
10616 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10617 warning. (This was in fact always initialised before use, but GCC
10618 wasn't smart enough to prove that.)
10619 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10620
91dc6073
VS
106212011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10624 stack alignment.
10625 (efi_wrap_1): Likewise.
10626 (efi_wrap_2): Likewise.
10627 (efi_wrap_3): Likewise.
10628 (efi_wrap_4): Likewise.
10629 (efi_wrap_5): Likewise.
10630 (efi_wrap_6): Likewise.
10631 (efi_wrap_10): Likewise.
10632 Based on information by: Red Hat/Peter Jones.
10633
a8afc1d1
CW
106342011-03-31 Colin Watson <cjwatson@ubuntu.com>
10635
10636 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10637 set-but-not-used variable.
10638
a826cc7d
CW
106392011-03-31 Colin Watson <cjwatson@ubuntu.com>
10640
10641 * docs/grub.texi (Simple configuration): Be more explicit about
10642 GRUB_DEFAULT, and add an example.
10643 Reported by: Leslie Rhorer.
10644
875b67ba
CW
106452011-03-30 Colin Watson <cjwatson@ubuntu.com>
10646
10647 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10648 shell".
10649
fd7cd914
AS
106502011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10651
10652 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10653 * util/grub.d/20_linux_xen.in: Likewise.
10654
090b1b6a
VS
106552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/grub.d/10_linux.in: Try alternative config filenames where
10658 we parse config file.
10659 * util/grub.d/20_linux_xen.in: Likewise.
10660
baad885c
AS
106612011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10662
10663 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10664 * util/grub.d/20_linux_xen.in: Likewise.
10665
241e41f5
VS
106662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/disk/raid.c (insert_array): Add few potentially
10669 useful grub_util_info.
10670 (grub_raid_register): Likewise.
10671
56445fb2
VS
106722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10675 Preserve partition number in mdadm code path.
10676
c871b1c6
VS
106772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10680 few potentially useful grub_util_info.
10681
5e631b4f
CW
106822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10685
2d5d0333
CW
106862011-03-30 Colin Watson <cjwatson@ubuntu.com>
10687
10688 * docs/grub.texi (default): Use @example rather than nested
10689 itemized lists to avoid breaking gendocs.
10690
3d7ed04e
CW
106912011-03-30 Colin Watson <cjwatson@ubuntu.com>
10692
10693 * docs/grub.texi (Future): Update.
10694
abf04200 106952011-03-30 Colin Watson <cjwatson@ubuntu.com>
10696
10697 * docs/grub.texi (Environment): New chapter.
10698 (Changes from GRUB Legacy): Link to "Environment block" section for
10699 details of limitations.
10700 (Simple configuration): Likewise. Link to documentation of gfxmode
10701 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10702 respectively.
10703 (Shell-like scripting): Note that normal variables are stored in the
10704 environment.
10705 (gettext): Link to documentation of lang and locale_dir.
10706 (list_env): New section.
10707 (load_env): New section.
10708 (save_env): New section.
10709
10710 (Reporting bugs): Fix typo.
10711
e1ad0edd
VS
107122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10715 the example.
10716
5d803174
VS
107172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/term/at_keyboard.c (set_scancodes)
10720 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10721
2a2da1d0
CW
107222011-03-30 Colin Watson <cjwatson@ubuntu.com>
10723
10724 * docs/grub.texi (Menu-specific commands): Remove some semantics
10725 that were true in GRUB Legacy but not in GRUB 2.
10726 (submenu): New section.
10727 (false): New section.
10728 (read): New section.
10729 (true): New section.
10730
a7527639
CW
107312011-03-30 Colin Watson <cjwatson@ubuntu.com>
10732
10733 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10734
107352011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10736
10737 * docs/grub.texi (Simple configuration): Explain some of the
10738 current limitations of grub-mkconfig.
8a748df2 10739 Reported by: Leslie Rhorer.
e30af029 10740
fc858482
VS
107412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 Old macs search for boot.efi rather than for bootia32.efi.
10744
10745 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10746 * util/grub-mkrescue.in: Likewise.
10747 Suggested by: Peter Jones.
10748
e1eb511d
VS
107492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10752
70e75364
VS
107532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10756 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10757 (grub_lvm_mirror): New struct.
10758 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10759 (grub_lvm_iterate): Iterate only visible volumes.
10760 (grub_lvm_read): Factor out to ..
10761 (read_lv): ... this. Support mirrors.
10762 (grub_lvm_read): New wrapper function.
10763 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10764 stripped or mirrored.
10765
fc18f6a3
VS
107662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10769
5c650f4c
CW
107702011-03-29 Colin Watson <cjwatson@ubuntu.com>
10771
10772 * docs/grub.texi (loopback): New section.
10773
61d7156b
CW
107742011-03-29 Colin Watson <cjwatson@ubuntu.com>
10775
10776 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10777 removed -p option.
10778
994b8264
CW
107792011-03-29 Colin Watson <cjwatson@ubuntu.com>
10780
10781 * docs/grub.texi (BIOS installation): New section, partly based on
10782 previous text in other sections.
10783 (Installing GRUB using grub-install): Replace BIOS discussion with a
10784 cross-reference.
10785 (Images): Likewise.
10786
9e4d19e0
VS
107872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10790 [HAVE_DIOCGDINFO]: Add safety checks.
10791
a307c0b2
VS
107922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10795 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10796
b4db4f39
CW
107972011-03-29 Colin Watson <cjwatson@ubuntu.com>
10798
10799 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10800 real_sb->size is zero (e.g. RAID-0), get the disk size from
10801 real_sb->data_size instead.
10802 Fixes Ubuntu bug #743136.
10803
35e5f84c
VS
108042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10807 printf clauses for printing size and start.
10808
d2e29d81
VS
108092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10812 Reported and tested by: Timothy Nikkel.
10813
ed5587af
VS
108142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10817 (dirty_region_add_real): ... this.
10818 (dirty_region_add): Don't discard margin refresh when performing
10819 scheduled repaint.
10820
a1dc717c
VS
108212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/lib/relocator.c (allocate_regstart)
10824 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10825 terminals are capabple of malloc-free operation.
10826 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10827 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10828
9f3677d3
VS
108292011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10830
10831 * util/grub-setup.c: Copy the partition table zone if floppy support
10832 is disabled, even if no partition table is found.
10833
10834 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10835 during POST if an invalid partition table is contained in the PBR
10836 of the active partition when GRUB is installed to a partition.
10837
24148725
CW
108382011-03-28 Colin Watson <cjwatson@debian.org>
10839
10840 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10841 comment.
10842
f329eda7
CW
108432011-03-28 Colin Watson <cjwatson@debian.org>
10844
10845 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10846 to be specific about what kind of RAID device we're scanning for.
10847
c482ad98
SG
108482011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10849
10850 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10851 return freed string.
10852
5ee04984
VS
108532011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10856
f4727da9
VS
108572011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 Use libgeom on FreeBSD to detect partitions.
10860
10861 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10862 (grub-mkrelpath): Likewise.
10863 (grub-script-check): Likewise.
10864 (grub-editenv): Likewise.
10865 (grub-mkpasswd-pbkdf2): Likewise.
10866 (grub-fstest): Likewise.
10867 (grub-mkfont): Likewise.
10868 (grub-mkdevicemap): Likewise.
10869 (grub-probe): Likewise.
10870 (grub-setup): Likewise.
10871 (grub-ofpathname): Likewise.
10872 (grub-mklayout): Likewise.
10873 (example_unit_test): Likewise.
10874 (grub-menulst2cfg): Likewise.
10875 * grub-core/Makefile.core.def (grub-emu): Likewise.
10876 (grub-emu-lite): Likewise.
10877 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10878 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10879 define HAVE_DIOCGDINFO.
10880 (follow_geom_up) [FreeBSD]: New function.
10881 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10882 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10883 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10884 unconditionally of HAVE_DIOCGDINFO.
10885
82fe6c75
VS
108862011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 Fix FreeBSD compilation problem.
10889
10890 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10891 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10892
4c6c9431
CW
108932011-03-24 Colin Watson <cjwatson@ubuntu.com>
10894
10895 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10896 Switch back to page zero before loading a kernel, since some kernel
10897 drivers expect that.
10898 Thanks to: Felix Kuehling.
10899
c7064d94
VS
109002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10903 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10904 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10905
3f71cded
VS
109062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10909 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10910
ef6de21a
VS
109112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10914 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10915 malloc is disabled.
10916
8bc66a2c
VS
109172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10920 for modules headers when counting the needed allocation size.
10921
5657722c
VS
109222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10925 if no ASCII character is found to prevent crash.
10926
41a85f55
AK
109272011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10928
10929 * grub-core/video/bitmap.c (match_extension): Ignore case.
10930
59e1e5f1
VS
109312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10934
bd4d051a
VS
109352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/script/parser.y: Declare "time" as valid argument.
10938
bae7fcc1
PJ
109392011-03-23 Peter Jones <pjones@redhat.com>
10940
10941 Fix incorrect assert failure reporting.
10942
10943 * grub-core/tests/example_functional_test.c (example_test): Add
10944 a failure comment.
10945 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10946 (failure_start): ...this. Check that malloc succeeded.
10947 Don't call xvasprintf. Return failure struct.
10948 (failure_append_vtext): New function.
10949 (failure_append_text): Likewise.
10950 (add_failure): Likewise.
10951 (grub_test_assert_helper): Likewise.
10952 * include/grub/test.h (grub_test_assert_helper): New declaration.
10953 (grub_test_assert): Macro rewritten.
10954
537dc9be
VS
109552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10958
fa3e01bf
VS
109592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10962
b1d28404
VS
109632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10966 into GRUB-style one.
10967
2e3e2e09
VS
109682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10971 error and not grub_errno.
10972 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10973
ed57e557
VS
109742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10977 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10978
d1611f01
VS
109792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/efiemu/i386/pc/cfgtables.c
10982 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10983 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10984 (grub_xnu_unlock): Likewise.
10985 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10986
7d4e39d6
VS
109872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10990 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10991 * grub-core/commands/hashsum.c (aliases): Likewise.
10992 * grub-core/commands/setpci.c (pci_registers): Likewise.
10993 * grub-core/disk/usbms.c (attach_hook): Likewise.
10994 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10995 (zio_checksum_table): Likewise.
10996 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10997 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10998 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10999 * grub-core/lib/relocator.c (leftovers): Likewise.
11000 (extra_blocks): Likewise.
11001 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11002 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11003 (modules_last): Likewise.
11004 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11005 (devices): Likewise.
11006 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11007 (modules_last): Likewise.
11008 * grub-core/normal/auth.c (users): Likewise.
11009 * grub-core/normal/context.c (initial_menu): Likewise.
11010 (current_menu): Likewise.
11011 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11012 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11013 (grub_serial_terminfo_input_template): Likewise.
11014 (grub_serial_terminfo_output_template): Likewise.
11015 (grub_serial_terminfo_input): Likewise.
11016 (grub_serial_terminfo_output): Likewise.
11017 (registered): Likewise.
11018 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11019
40fc4659
VS
110202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11023 grub_video_mode_type_t.
11024 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11025 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11026 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11027
2da48d28
VS
110282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/grub-install.in: Correct the x86-64 name as x86_64.
11031
9b43bf39
CW
110322011-03-11 Colin Watson <cjwatson@ubuntu.com>
11033
11034 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11035 initial chunk read from the kernel always includes GRUB's multiboot
11036 header, which is now outside the first sector.
11037
be1a7ce0
CW
110382011-03-09 Colin Watson <cjwatson@ubuntu.com>
11039
11040 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11041 cached mmap_size, so that this works correctly when called multiple
11042 times.
11043 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11044
83a3c48d
CW
110452011-03-09 Colin Watson <cjwatson@ubuntu.com>
11046
11047 * docs/grub.texi (Simple configuration): Tidy up formatting.
11048
57d75699
SJ
110492011-03-07 Szymon Janc <szymon@janc.net.pl>
11050
11051 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11052 Set-but-not-used variable removed.
11053
028501a0
VS
110542011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 Workaround yet another IEEE1275 bug.
11057
11058 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11059 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11060 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11061 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11062 is set.
11063 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11064 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11065
d998657d
VS
110662011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11069 error.
11070
fee7cdd4
CW
110712011-02-11 Colin Watson <cjwatson@ubuntu.com>
11072
11073 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11074 empty, since in that case we can only generate either nothing or a
11075 syntactically invalid configuration file.
11076 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11077
97286eb5
CW
110782011-02-09 Colin Watson <cjwatson@ubuntu.com>
11079
11080 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11081 (Making a GRUB bootable CD-ROM): Likewise.
11082 (Invoking grub-mkrescue): New section.
11083 Reported by: Yann Dirson. Fixes Debian bug #612585.
11084
22b28eb3
CW
110852011-02-09 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * util/grub-install.in: Remove unnecessary brackets from tr
11088 arguments.
11089 * util/grub.d/10_hurd.in: Likewise.
11090 * util/grub.d/10_kfreebsd.in: Likewise.
11091 * util/grub.d/10_linux.in: Likewise.
11092 * util/grub.d/20_linux_xen.in: Likewise.
11093 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11094
7e735e43
CW
110952011-02-08 Colin Watson <cjwatson@ubuntu.com>
11096
11097 * include/grub/file.h (not_easly_seekable): Rename to ...
11098 (not_easily_seekable): ... this. Update all users.
11099
800f1881
CW
111002011-01-28 Colin Watson <cjwatson@ubuntu.com>
11101
11102 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11103 grub-mkrescue.
11104
3281d3d6
VS
111052011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * util/grub-mkimage.c (generate_image): Refuse to create the images
11108 bigger than the actual flash (512K) in Loongson machines. 512K is also
11109 the biggest chip supported by them.
11110
3533413c
VS
111112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11114
73ae4f4f
VS
111152011-01-22 Anthony DeRobertis <anthony@derobert.net>
11116
11117 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11118 super_offset field.
11119
37f4f608
VS
111202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * util/grub-install.in: Ignore install device on platforms
11123 where it doesn't make sense. Always use UUIDs except on pc, efi and
11124 sparc64.
11125 Reported by: Daniel Kahn Gillmor.
11126
03a4ccb5
VS
111272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11130
ffc8f4d8
VS
111312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11134 (iterate_real): Don't rely on partition being non-NULL.
11135
80f23be7
VS
111362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11139 supported platforms. Put a compile time assert for this rather than
11140 generate a warning with 32-bit shift.
11141
5d4f4dd5
VS
111422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11145 logical expression more readable.
11146
e489601a
VS
111472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11150 even if some elements have a name.
11151 Reported by: Alexander GQ Gerasiov.
11152
96e0a6ea
CW
111532011-01-22 Colin Watson <cjwatson@ubuntu.com>
11154
11155 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11156 path unreadable if `grub-probe -t abstraction' fails, for example if
11157 memberlist fails on an LVM volume group.
11158 Reported by: Darius Jahandarie.
11159
81431e2b
CW
111602011-01-22 Colin Watson <cjwatson@ubuntu.com>
11161
11162 * docs/grub.texi (Simple configuration): Document
11163 GRUB_PRELOAD_MODULES.
11164
5e79d66a
CW
111652011-01-17 Colin Watson <cjwatson@ubuntu.com>
11166
11167 * .bzrignore: Remove nonexistent grub-pbkdf2.
11168
646ada34
VS
111692011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * configure.ac: Bump version to 1.99~rc1.
11172
04360337
VS
111732011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11176 for safety.
11177
46c9db88
VS
111782011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11181 module.
11182
111832011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11184
11185 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11186
4fbf1852
VS
111872011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11190 diskdevid.
11191
f1632d4d
VS
111922011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 Fix compilation on cygwin.
11195
11196 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11197 -R .drectve on cygwin.
11198 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11199 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11200 (COND_CYGWIN): New condition.
11201 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11202 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11203 not @TARGET_OBJ2ELF@.
11204 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11205 type to determine whether aux is to be used.
11206
0b5e127b
VS
112072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11210 realpath'ed device string.
11211 Handle floppy (somewhat).
11212 Issue error in unknown case rather than garbage.
11213 Reported by: Axel Beckert.
11214
173b71e9
VS
112152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * util/grub.d/00_header.in (load_video): Handle the case when no video
11218 drivers available.
11219 Thanks to: Axel Beckert.
11220
f8f479db
VS
112212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11224 variable. Fixes problem on big endian platforms.
11225
8fc0a245
VS
112262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11229 It doesn't work well there.
11230
b8494fbe
VS
112312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11234 warning.
11235 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11236 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11237 counter.
11238
b44a558c
VS
112392011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 Use alias->path rather than buggy "canon".
11242
11243 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11244 (ofdisk_hash_add): New argument curcan. All users updated.
11245
51fa856c
CW
112462011-01-11 Colin Watson <cjwatson@ubuntu.com>
11247
11248 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11249
9da068a5
VS
112502011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11253 loadmask before doing any calculations. Use correct type for offset.
11254 (grub_linux_load64): Likewise.
11255
86205c94
CW
112562011-01-11 Colin Watson <cjwatson@ubuntu.com>
11257
11258 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11259 with NULL.
11260 (console_grub_equivalences_unshift): Likewise.
11261 Reported by: Daniel Dehennin.
11262
4531a206
VS
112632011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11266 (set_env_limn_ro): Likewise.
11267 (GRUB_MOD_INIT): Likewise.
11268 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11269 ARRAY_SIZE while on it.
11270 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11271 * grub-core/normal/context.c (grub_env_export): Move from here ...
11272 * grub-core/kern/env.c (grub_env_export): ... here.
11273 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11274 prefix.
11275 * grub-core/kern/main.c (grub_main): Export root and prefix.
11276 * include/grub/env.h (grub_env_export): Export.
11277 Reported by: Seth Goldberg.
11278
45146057
VS
112792011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11282 Take into account space used by ELF sections and multiboot palette.
11283 Reported by: Grégoire Sutre.
11284
f093110b
VS
112852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * BUGS: New file.
11288
3395fe52
VS
112892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 Pass more appropriate video id to Linux.
11292
11293 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11294 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11295 fill have_vga.
11296 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11297 shift params->lfb_size.
11298 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11299
c2fa6cbb
VS
113002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11303
b3ff6ff0
VS
113042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11307 separator and pass bootpath/devid even if only one of them is available.
11308 Reported by: Seth Goldberg.
11309
ae67942e
VS
113102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11313 implementations bug on them.
11314
11315 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11316 memory.
11317 (filter_memory_map): Likewise.
11318
d570097a
VS
113192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11322 Reported by: nebuchadnezzar.
11323
a508e776
VS
113242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11327 Reported by: nebuchadnezzar.
11328
dcb883b1
VS
113292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Submenu default support.
11332
11333 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11334 auto_boot. All users updated.
11335 Declared static.
11336 Handle chosen and default with submenus.
11337 (grub_menu_execute_with_fallback): Declared static.
11338 Don't notify failure if autobooted. Upper level does it.
11339 (menuentry_eq): New function.
11340 (get_entry_number): Use menuentry_eq.
11341 (show_menu): New parameter "autobooted". All users updated.
11342 (grub_show_menu): Likewise.
11343 * include/grub/normal.h (grub_show_menu): Likewise.
11344 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11345 (grub_menu_execute_with_fallback): Likewise.
11346
6fef99b4
VS
113472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * util/grub-mklayout.c (usage): Update help text.
11350
47a77af5
VS
113512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11354
ce6bb3ee
VS
113552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * util/grub-menulst2cfg.c (main): Trim the line.
11358
db87be2a
VS
113592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11362 (grub_machine_init): Don't check amount of low memory as reportedly
11363 INT 12h can be broken and if low memory is too low we wouldn't have
11364 gotten into grub_machine_init anyway.
11365
c49849cc
VS
113662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11369 (grub_machine_mmap_iterate): Take low memory into account
11370
b1969b30
VS
113712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11374 badfs.
11375 Reported by: TiCPU.
11376
cf0eaf13
VS
113772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11380 members errors.
11381
1f060f39
GS
113822011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11383
11384 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11385 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11386
a21e5672
GS
113872011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11388
11389 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11390 openbsd and netbsd types being in part_bsd module.
11391
c88172fa
VS
113922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11395 (_FILE_OFFSET_BITS): Likewise.
11396 Reported by: Seth Goldberg.
11397
53798c4b
GS
113982011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11399
11400 * configure.ac: Check for libdevmapper header.
11401
e7121b69
VS
114022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11405 avoid aliasing.
11406 (fzap_lookup): Likewise.
11407 (dnode_get): Likewise.
11408 (make_mdn): Likewise.
11409 (zfs_mount): Likewise.
11410 (fzap_iterate): Use temporary pointer to avoid aliasing.
11411 (grub_zfs_read): Likewise.
11412 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11413 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11414 pointers to avoid aliasing.
11415 (grub_cmd_xnu_kernel64): Likewise.
11416 (grub_xnu_load_driver): Likewise.
11417
fc836af9
VS
114182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11421 aliasing warning.
11422 (grub_cmd_terminal_output): Likewise.
11423 Reported and tested by: Grégoire Sutre.
11424
f9f37648
VS
114252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11428 warning.
11429 Reported and tested by: Grégoire Sutre.
11430
ec1dfd63
VS
114312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * configure.ac: Do CPU substitution even if it's specified explicitly.
11434 Reported and tested by: Alain Greppin.
11435
9462775a
VS
114362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11439 Reported and tested by: Alain Greppin.
11440
0fd48e35
VS
114412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 Satisfy some bison versions need for inttypes.h.
11444
11445 * grub-core/lib/posix_wrap/inttypes.h: New file.
11446 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11447 (int16_t): Likewise.
11448 (int32_t): Likewise.
11449 (int64_t): Likewise.
11450 Reported and tested by: Alain Greppin.
11451
43f1bc83
VS
114522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11455 Silence spurious warning.
11456 Reported and tested by: Alain Greppin.
11457
64d1f041
SJ
114582011-01-07 Szymon Janc <szymon@janc.net.pl>
11459
11460 * docs/grub.texi (Support automatic decompression): Update with xz
11461 decompression support.
11462
25953e10
SJ
114632011-01-07 Szymon Janc <szymon@janc.net.pl>
11464
11465 Improve loaders' kernel command line handling.
11466
11467 * grub-core/lib/cmdline.c: New file.
11468 * include/grub/lib/cmdline.h: Likewise.
11469 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11470 grub_create_loader_cmdline to create kernel command line.
11471 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11472 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11473 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11474 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11475 (linux): Add lib/cmdline.c on common.
11476
e72d259f
VS
114772011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11480 inopos might be unaligned.
11481
c0cf26da
VS
114822011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11485 endian transformations.
11486 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11487 Based on report by: Doug Nazar.
11488
0ca09e6c
DN
114892011-01-07 Doug Nazar <nazard.michi@gmail.com>
11490
11491 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11492 array->members[i].start_sector.
11493 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11494
014b6806
VS
114952011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11498 Reported and tested by: Grégoire Sutre.
11499
415502c2
CW
115002011-01-06 Colin Watson <cjwatson@ubuntu.com>
11501
11502 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11503 avoid causing test failures by clearing the screen.
11504
71b6a2b7
CW
115052011-01-06 Colin Watson <cjwatson@ubuntu.com>
11506
11507 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11508 Fix prefix check to handle the case where dir ends with a slash
11509 (most significantly, "/" itself).
11510 Reported by: Michael Vogt.
11511
b3f8d28a
VS
115122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Run terminfo_cls on initing terminfo output to clear the screen and
11515 move the cursor to (0,0).
11516
11517 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11518 Call grub_terminfo_output_init.
11519 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11520 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11521 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11522
4c3e4f37
VS
115232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11526 only when needed.
11527
488f71f1
VS
115282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11531 CTRL.
11532
18a38098
VS
115332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 The E820 type 5 is BADRAM, not EXEC_CODE.
11536
11537 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11538 (GRUB_E820_BADRAM): New define.
11539 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11540 into reserved. Propagate BADRAM.
11541 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11542 (GRUB_E820_BADRAM): New define.
11543
9eae2084
VS
115442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11547 Ignore the memory post-4G.
11548 (grub_relocator_firmware_alloc_region): Additional debug statement.
11549
ebc71d28
VS
115502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11553 names.
11554 Reported by: David Pravec.
11555
446fa400
VS
115562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11559 BIOSes.
11560
a0159f37
VS
115612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11564 Prevent overflow.
11565 (grub_reed_solomon_recover): Likewise.
11566
e5146ca1
VS
115672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11570
115712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11572
11573 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11574 variable.
11575
5b1bdf12
CW
115762011-01-04 Colin Watson <cjwatson@ubuntu.com>
11577
11578 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11579 descriptions of extract_legacy_entries_source and
11580 extract_legacy_entries_configfile.
11581 Reported by: Seung Soo, Ha.
11582
99d925aa
CW
115832011-01-03 Colin Watson <cjwatson@ubuntu.com>
11584
11585 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11586 on devices that do not implement function 0.
11587
4af0504b
DV
115882011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11589
11590 * grub-core/fs/hfsplus.c: Make parent unsigned.
11591 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11592 overflows.
11593 (grub_hfsplus_cmp_extkey): Likewise
11594
469ee10a
VS
115952011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * util/grub-install.in: Correctly use bootloader_id and not
11598 GRUB_DISTRIBUTOR on efibootmgr line.
11599
323a8e9c
VS
116002011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11603
1b394975
IC
116042010-12-31 Ian Campbell <ijc@hellion.org.uk>
11605
11606 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11607 Xen and reorder menu item wording to make it clearer that this entry
11608 will launch Xen. Print separate messages when loading Xen and
11609 Linux.
11610
275bff5f
VS
116112010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11614 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11615 loop in case of incorrect amiga partmap.
11616
307806cb
VS
116172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11620 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11621 Reported by:EHeM.
11622
b12b923e
VS
116232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11626 spurious warning.
11627 Reported by: crocket
11628
14b48a19
VS
116292010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11632 Preload EFIemu.
11633 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11634
693db2df
VS
116352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11638 is loaded
11639 (grub_cmd_xnu_kextdir): Likewise.
11640 (grub_cmd_xnu_splash): Likewise.
11641
c7638645
VS
116422010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Avoid using Reed-Solomon with 0 redundancy.
11645
11646 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11647 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11648 or 0 redundancy.
11649 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11650 (grub_reed_solomon_recover): Likewise.
11651
25dd4780
VS
116522010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Don't use disk subsystem in freebsd_boot.
11655
11656 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11657 (freebsd_biosdev): Likewise.
11658 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11659 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11660
0b2db943
VS
116612010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Handling of files of unknown size is currently limited. They can't be
11664 used e.g. for initrd or modules. Moreover gzip handling of not
11665 easily seekable files is buggy. Disable unknown file size for now. May
11666 be inefficient but works.
11667
11668 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11669 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11670
5c408d0f
MP
116712010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11672
11673 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11674 floppy probe.
11675
190a011a
JD
116762010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11677
11678 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11679
022d01b8
SL
116802010-12-25 Shea Levy <shlevy>
11681
11682 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11683
c4855fdc
VS
116842010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11687 Windows Server 2008.
11688 Reported by: Devin Giddings.
11689
0354b867
VS
116902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11693 writing an error message because of async power management.
11694 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11695 (grub_reboot): Likewise.
11696
ab66c69f
JU
116972010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11698
11699 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11700 keep unit tests from failing when they shouldn't.
11701
1426ef35
CW
117022010-12-21 Colin Watson <cjwatson@ubuntu.com>
11703
11704 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11705 previous patch increased the size of the RS code by 20 bytes (at
11706 least with gcc-4.4), so increase this by 20 bytes to match.
11707 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11708
20641b6b
CW
117092010-12-21 Colin Watson <cjwatson@ubuntu.com>
11710
11711 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11712 scratch area. Make sure to initialise chosen in standalone mode as
11713 well as non-standalone.
11714 Reported by: Robert Hooker and Andy Whitcroft.
11715 Tested by: Andy Whitcroft.
11716
d060ad60
CW
117172010-12-21 Colin Watson <cjwatson@ubuntu.com>
11718
11719 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11720 constructing a new unescaped string and passing it to grub_xputs in
11721 one go, rather than passing characters to grub_printf one at a time.
11722
b889cfad
CW
117232010-12-21 Colin Watson <cjwatson@ubuntu.com>
11724
11725 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11726 initialising utf16.
11727
4e01b6c8
CW
117282010-12-21 Colin Watson <cjwatson@ubuntu.com>
11729
11730 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11731 comment. Add an extra layer of quotation, requiring the output of
11732 this function to be used in a printf format string.
11733 (gettext_printf): New function.
11734 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11735 Extract translatable strings from here-documents and use a temporary
11736 variable instead, so that xgettext can find them.
11737 * util/grub.d/10_kfreebsd.in: Likewise.
11738 * util/grub.d/10_linux.in: Likewise.
11739 * util/grub.d/20_linux_xen.in: Likewise.
11740
11741 * po/grub.d.sed: New file.
11742 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11743 arguments. Set c-format flags on all strings extracted from
11744 util/grub.d/ (xgettext refuses to include these itself for strings
11745 it extracted from a shell file, but these really are c-format).
11746
5318fe98
VS
117472010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11750 Avoid next pointing to nowhere.
11751
6c85b743
VS
117522010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11755 rather than assuming than rootblock is exactly in the middle.
11756 (grub_affs_label): Likewise.
11757
a2a08a35
VS
117582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11761 reserved_first_sector to 0.
11762 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11763 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11764 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11765
7059d1ec
VS
117662010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 Fix handling of UTF-16 UDF labels.
11769
11770 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11771 (read_string): .. here.
11772 (grub_udf_label): Use read_string.
11773
30aff4cb
BC
117742010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11775
11776 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11777 editor under argument scope.
11778 Reported by: Jordan Uggla
11779
5cf86f4b
VS
117802010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11783
32570200
CW
117842010-12-18 Colin Watson <cjwatson@ubuntu.com>
11785
11786 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11787 line, and other keys scroll an entire page (previous handling was
11788 for \r and \n to scroll a page and other keys to scroll two lines).
11789
e1dffcf2
VS
117902010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11793 Set ptrdest to correct get_physical_target_address rather than
11794 incorrect get_virtual_current_address.
11795
b04298cf 117962010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11797
11798 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11799 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11800
5367ecd3
CW
118012010-12-10 Colin Watson <cjwatson@ubuntu.com>
11802
11803 * .bzrignore: Ignore grub-core/rs_decoder.S.
11804
1fb430f8
CW
118052010-12-10 Colin Watson <cjwatson@ubuntu.com>
11806
11807 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11808 .mo/.mo.gz opening sequence to ...
11809 (grub_mofile_open_lang): ... here.
11810 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11811 * util/grub.d/00_header.in (grub_lang): Include country part of
11812 locale.
11813 Reported by: Mario Limonciello.
11814
a94a6671
RM
118152010-12-09 Robert Millan <rmh@gnu.org>
11816
11817 * NEWS: Document addition of ZFS support.
11818
24b7938b
CW
118192010-12-04 Colin Watson <cjwatson@ubuntu.com>
11820
11821 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11822 rather than `/ 2', as the latter requires -Wa,--divide which would
11823 require bumping our minimum binutils version.
11824
bddc3ef6
BC
118252010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11826
11827 * util/grub-script-check.c (main): Print script line number on
11828 error.
11829
bf78d5b2
RM
118302010-12-01 Robert Millan <rmh@gnu.org>
11831
11832 * grub-core/fs/zfs/zfs.c: New file.
11833 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11834 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11835 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11836 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11837
11838 * include/grub/zfs/dmu.h: Likewise.
11839 * include/grub/zfs/dmu_objset.h: Likewise.
11840 * include/grub/zfs/dnode.h: Likewise.
11841 * include/grub/zfs/dsl_dataset.h: Likewise.
11842 * include/grub/zfs/dsl_dir.h: Likewise.
11843 * include/grub/zfs/sa_impl.h: Likewise.
11844 * include/grub/zfs/spa.h: Likewise.
11845 * include/grub/zfs/uberblock_impl.h: Likewise.
11846 * include/grub/zfs/vdev_impl.h: Likewise.
11847 * include/grub/zfs/zap_impl.h: Likewise.
11848 * include/grub/zfs/zap_leaf.h: Likewise.
11849 * include/grub/zfs/zfs.h: Likewise.
11850 * include/grub/zfs/zfs_acl.h: Likewise.
11851 * include/grub/zfs/zfs_znode.h: Likewise.
11852 * include/grub/zfs/zil.h: Likewise.
11853 * include/grub/zfs/zio.h: Likewise.
11854 * include/grub/zfs/zio_checksum.h: Likewise.
11855
11856 * Makefile.util.def: Build ZFS into libgrubmods.
11857 * grub-core/Makefile.core.def: Build zfs.mod.
11858
3f0f3831
SJ
118592010-11-30 Szymon Janc <szymon@janc.net.pl>
11860
11861 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11862 variable.
11863 * grub-core/commands/wildcard.c (match_files): Likewise.
11864
3a4253b2
RM
118652010-11-30 Robert Millan <rmh@gnu.org>
11866
11867 * grub-core/loader/i386/bsd.c
11868 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11869 whether kernel is loaded using grub_loader_is_loaded(), rather
11870 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11871 certain error conditions.
11872
8c317b27
RM
118732010-11-30 Robert Millan <rmh@gnu.org>
11874
c5c9cd3e
RM
11875 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11876 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11877
49d3ab46
VS
118782010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 Avoid using tricks for initialising endian variables.
11881
11882 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11883 Make const.
11884 (GRUB_MOD_INIT): Don't byte-swap.
11885 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11886 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11887 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11888 (grub_swap_bytes32_compile_time): Likewise.
11889 (grub_cpu_to_le32_compile_time): Likewise.
11890 (grub_cpu_to_le16_compile_time): Likewise.
11891
f420a804
VS
118922010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * util/grub-setup.c (setup): Stop recommending --force. People who
11895 understand the dangers of blocklists are able to find this option
11896 anyway and the ones who don't shouldn't use it anyway.
11897
4e7db17b
RM
118982010-11-26 Robert Millan <rmh@gnu.org>
11899
11900 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11901 Update all users.
11902
9be57a0d
CW
119032010-11-26 Colin Watson <cjwatson@ubuntu.com>
11904
11905 Fix LVM-on-RAID probing.
11906
11907 * util/grub-probe.c (probe): Remember which disk was detected as
11908 RAID (perhaps an LVM physical volume). Use that disk's raidname
11909 rather than that of the top-level disk.
11910
2c7859b3 119112010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11912
d7647bb6
BC
11913 Fix cmdline argument quotes for setparams command of menuentry
11914 definitions.
7e623b0d
BC
11915
11916 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11917 quotes for arguments.
f866fe80 11918 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11919 grub_strchrsub function instead.
f866fe80 11920
7955bea0 11921 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11922
74f72a64
CW
119232010-11-24 Colin Watson <cjwatson@ubuntu.com>
11924
11925 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11926 effort by skipping "." and ".." entries up-front.
11927 Suggested by: Michael Lazarev.
11928
5a407278
CW
119292010-11-24 Colin Watson <cjwatson@ubuntu.com>
11930
11931 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11932 ldflags to ldadd, to fix link line ordering.
11933 (none_decompress): Likewise.
11934
3030d8ec
CW
119352010-11-24 Colin Watson <cjwatson@ubuntu.com>
11936
11937 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11938 platforms.
11939 (grub-emu-lite): Remove kern/emu/cache.S.
11940
b7fbac12
CW
119412010-11-23 Colin Watson <cjwatson@ubuntu.com>
11942
11943 * util/deviceiter.c (compare_devices): If the by-id link for a
11944 device couldn't be resolved, fall back to sorting by the by-id link
11945 rather than segfaulting.
11946 Reported and tested by: Daniel Mierswa.
11947
5225f328
CW
119482010-11-23 Colin Watson <cjwatson@ubuntu.com>
11949
11950 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11951 ldflags, to fix link line ordering.
11952
038b3ce8
CW
119532010-11-23 Colin Watson <cjwatson@ubuntu.com>
11954
11955 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11956 linkers are picky about this.
11957
bf16e98e
CW
119582010-11-23 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * grub-core/Makefile.am (command.lst): Adjust sed expression
11961 ordering so that extended and priority commands aren't treated as
11962 ordinary commands.
11963
7242bab6
CW
119642010-11-23 Colin Watson <cjwatson@ubuntu.com>
11965
11966 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11967 Remove byte-swapping function calls, which are not valid in
11968 structure initialisers.
11969 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11970 non-const.
11971 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11972 grub_gpt_partition_type_bios_boot.
11973
14e8b279
CW
119742010-11-22 Colin Watson <cjwatson@ubuntu.com>
11975
11976 Fix test program build on GNU/kFreeBSD.
11977
11978 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11979 $(LIBNVPAIR)' library dependencies.
11980
e6f63338 119812010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11982
11983 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11984
cf8ffc38
CW
119852010-11-22 Colin Watson <cjwatson@ubuntu.com>
11986
11987 * util/grub-install.in: Remove excessive quoting that broke
11988 installations to RAID devices.
11989
7f8b0fd7
VS
119902010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11993 bootloader version instead of 0.
11994
dfd240b1
VS
119952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11998 warning.
11999
7b61e609
VS
120002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12003 retrieve the metadat sector if size isn't known.
12004 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12005
9dfe92d0
RM
120062010-11-18 Robert Millan <rmh@gnu.org>
12007
12008 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12009 with grub_memcmp().
12010
41cc919e
VS
120112010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12014 arrow.
12015 Reported by: Jordan Uggla.
12016
1afcc914
VS
120172010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Make better UTF compliant.
12020
12021 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12022 sequences as incorrect.
12023 (grub_is_valid_utf8): Likewise.
12024 (grub_utf8_to_ucs4): Likewise.
12025 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12026 (grub_ucs4_to_utf8_alloc): Likewise.
12027 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12028
f1808884
VS
120292010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 Make legacy_source behave like source.
12032
12033 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12034 grub_show_menu.
12035 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12036
24ec575b
CW
120372010-11-16 Colin Watson <cjwatson@debian.org>
12038
12039 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12040 (-Wunused implies -Wunused-parameter, but not vice versa).
12041
72b7c7aa
CW
120422010-11-16 Colin Watson <cjwatson@ubuntu.com>
12043
12044 * configure.ac: Make error messages less confusing by testing for
12045 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12046 accepted, but produces a diagnostic if something else is wrong).
12047
e98937aa
VS
120482010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12051 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12052 (now unused).
12053 (grub_keyboard_controller_init)
12054 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12055 read the initial state since controller isn't inited yet.
12056
f6bbabc3
VS
120572010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12060 allocate_regbeg may need to create new chunk header.
12061
22e7dbb2
VS
120622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Fix quoting in legacy parser.
12065
12066 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12067 single quotes.
12068 (grub_legacy_parse): Likewise.
12069 Reported by: Jordan Uggla.
12070 Tested by: Jordan Uggla.
12071
03f80960
VS
120722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Don't add -lgcc on i386 and x86_64.
12075
12076 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12077 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12078 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12079
779dc15b
VS
120802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * configure.ac: Add -Wno-trampolines when supported.
12083
d20a3b37
MV
120842010-11-14 Modestas Vainius <modax@debian.org>
12085
12086 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12087 fakeraid.
12088
e5360933
GC
120892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12090
12091 Add generic logical block size support for UDF.
12092
12093 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12094 (GRUB_UDF_BLKSZ): Removed.
12095 (struct grub_udf_data): New field "lbshift" to hold the logical block
12096 size of the file system in log2 format. All users updated.
12097 (sblocklist): Change type to unsigned.
12098 (grub_udf_mount): Change type of "sblklist" to unsigned.
12099 Move AVDP search before VRS recognition, because the latter requires
12100 knowledge of the logical block size, which is detected during the
12101 former.
12102 Detect and validate logical block size during AVDP search, adding
12103 support for block sizes 512, 1024 and 4096.
12104 Make VRS recognition independent of block size.
12105
cb0229c5
GC
121062010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12107
12108 Properly handle deleted files on UDF.
12109
12110 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12111 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12112 set.
12113
406858a8
GC
121142010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12115
12116 Support reading files larger than 2 GiB.
12117
12118 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12119 "offset" to grub_off_t.
12120 (grub_udf_read_file): Likewise for parameter "pos".
12121
130da6a7
VS
121222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12125 unavailable.
12126 (Simple configuration): Refer to Changes from GRUB Legacy about
12127 save_env availability.
12128
65e93f6b
VS
121292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * util/grub-install.in: Ignore empty partition table detection
12132 instead of trying to include part_ module.
12133
1fd08bf1
VS
121342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12137 LVM on RAID support.
12138
de1a024f
VS
121392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 Properly define WORDS_BIGENDIAN in wrapped environments.
12142
12143 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12144 definition.
12145 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12146
12147 Reported by: Manoel Rebelo Abranches.
12148 Tested by: Manoel Rebelo Abranches.
12149
bc5dd0b9
VS
121502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * util/grub-mkconfig.in: Fix quoting.
12153
58c184be
VS
121542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 Support big ext2 files.
12157
12158 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12159 (grub_ext2_read_block): Support triple indirect blocks.
12160 (grub_ext2_read_file): Use 64-bit types and read size_high.
12161 (grub_ext2_open): Read size_high.
12162 Reported by: Ximin Luo.
12163 Tested by: Manoel Rebelo Abranches.
12164
5f0c02b3
VS
121652010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * util/grub-install.in: Handle filenames containing spaces.
12168 Reported by: Jordan Uggla.
12169 Tested by: Jordan Uggla.
12170
4417aae6
VS
121712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * util/grub-mkconfig.in (grub_script_check): New variable.
12174 Use grub_script_check instead of grub-script-check.
12175 Reported by: Barry Jackson.
12176
7625a68e
VS
121772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 * docs/grub.texi (menu): Correct the order.
12180 Reported by: D. Hugh Redelmeier.
12181
10001ac5
VS
121822010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12185 jump.
12186
9c4cf53b
MRA
121872010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12188
10001ac5
VS
12189 * include/grub/elfload.h (grub_elf32_size): New parameter.
12190 All users updated.
9c4cf53b
MRA
12191 Return maximum segments alignment.
12192 (grub_elf64_size): Likewise.
12193 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12194 Return maximum segments alignment.
12195 (grub_elf64_size): Likewise.
12196 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12197 (grub_linux_claimmap_iterate): New function. Uses the
12198 "available" property in the "memory" node for memory allocation
12199 for kernel in the PowerPC loader.
9c4cf53b
MRA
12200 (grub_linux_load32): Correctly find linux entry point offset.
12201 (grub_linux_load64): Likewise.
12202
d2bf06bf
RM
122032010-11-07 Robert Millan <rmh@gnu.org>
12204
12205 On mips-yeeloong, build with -march=loongson2f when this flag is
12206 available (GCC >= 4.4).
12207 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12208 `-march=mips3'.
12209 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12210 or otherwise add -march=mips3.
12211
898c99a2
BC
122122010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12213
87220a68
BC
12214 Suppress shell expansion on echo '*' and echo "*" like cases.
12215 Reported by: Jordan Uggla.
898c99a2
BC
12216
12217 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12218 string arguments before shell expansion.
12219 * tests/grub_cmd_echo.in: New testcases.
12220
4f9b406a
RM
122212010-11-07 Robert Millan <rmh@gnu.org>
12222
12223 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12224 transition.
12225
80c6d25e
VS
122262010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/kern/emu/hostdisk.c
12229 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12230
4a1a0153
VS
122312010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12234 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12235 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12236
34706ddc
VS
122372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12240
6972dea9
VS
122412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * util/grub-install.in: Replace useless recomendation to pass
12244 --modules with a recomendation to report a bug.
12245
9c693bd6
VS
122462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 Properly register serial terminfo.
12249 Reported by: Jordan Uggla
12250
12251 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12252 const.
12253 (grub_serial_terminfo_output_template): Likewise.
12254 (grub_cmd_serial): Register "serial" with terminfo.
12255 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12256 grub_serial_terminfo_output.
12257
6c9e4c0c
RM
122582010-11-05 Robert Millan <rmh@gnu.org>
12259
12260 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12261 needed).
12262
b9b3839f
RM
122632010-11-05 Robert Millan <rmh@gnu.org>
12264
12265 On Yeeloong, pass machine type information to Linux.
12266
12267 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12268 (LOONGSON_MACHTYPE): New macro, set to
12269 "machtype=lemote-yeeloong-2f-8.9inches".
12270 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12271 additional argument to Linux.
12272
1a3aaff4
RM
122732010-11-04 Robert Millan <rmh@gnu.org>
12274
12275 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12276 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12277 (its SATA disks are detected as slaveless IDE master drives on
12278 kFreeBSD).
12279 Reported by Carsten Aulbert.
12280
a75f4f62
CW
122812010-11-02 Colin Watson <cjwatson@ubuntu.com>
12282
12283 * util/bin2h.c (main): Fix spelling error in generated output.
12284
33b4b0c6
GS
122852010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12286
12287 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12288
2b36fbf4
VS
122892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12292 vga= option is supplied.
12293
74aaf558
VS
122942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12297 * util/grub.d/10_kfreebsd.in: Likewise.
12298 * util/grub.d/10_linux.in: Likewise.
12299 * util/grub.d/20_linux_xen.in: Likewise.
12300
6428dec3
VS
123012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12304 argument as an argument to no-argument option.
12305
f8729d98
VS
123062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * util/grub.d/10_linux.in: Add missing load_video with explicit
12309 GRUB_GFXPAYLOAD_LINUX.
12310
89d68fa6
VS
123112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12314
3a1197cd
VS
123152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12318 elements with invlid index.
12319 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12320 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12321 members.
12322 * include/grub/raid.h (grub_raid_member): New struct.
12323 (grub_raid_array): Transform devices and start_sector into usage of
12324 grub_raid_member. All users updated
12325 (allocated_devs): New member.
12326
71574288
VS
123272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12330 is modified
12331
8d40ec65
BC
123322010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12333
12334 NetBSD build fix for getline function conflict from gnulib.
12335
12336 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12337 components that depend on gnulib headers.
12338 (libgrubmods.a): Renamed from earlier libgrub.a.
12339 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12340
95b9257e
VS
123412010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12344 install rather than creating a broken install.
12345
26c53dc6
VS
123462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * util/grub-setup.c (argp): Remove misleading example of installing to
12349 a partition.
12350
4171b3c5
VS
123512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub-setup.c (setup): Clarify the error message.
12354
18568d18
VS
123552010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12358
4f6a2e21
VS
123592010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/kern/emu/misc.c
12362 (grub_make_system_path_relative_to_its_root)
12363 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12364
123652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12366
12367 * grub-core/kern/emu/misc.c
12368 (grub_make_system_path_relative_to_its_root): Revert r2882.
12369
e138c458
VS
123702010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12373 useless field head. All users updated.
12374 (free_subchunk): Correct handling of IN_REGION subchunk.
12375
0cbcdf0e
CW
123762010-10-22 Colin Watson <cjwatson@ubuntu.com>
12377
12378 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12379 (Supported kernels): Likewise.
12380
b65ea155
GS
123812010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12382
12383 Make mktemp invocations portable.
12384
12385 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12386 exit if mktemp fails.
12387 * tests/grub_script_blockarg.in: Likewise.
12388 * tests/partmap_test.in: Likewise.
12389 * tests/util/grub-shell-tester.in: Likewise.
12390 * tests/util/grub-shell.in: Likewise.
12391 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12392 * Makefile.am: Likewise, and chain shell commands with `&&'
12393 instead of ';'.
12394 * util/grub-mkrescue.in: Use the same explicit template as above, and
12395 exit if mktemp fails.
12396
05f43cdd
BC
123972010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12398
12399 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12400 Linux kernel, reported by Dennis Schridde.
12401
800e6a9b
SJ
124022010-10-17 Szymon Janc <szymon@janc.net.pl>
12403
12404 * grub-core/normal/auth.c (grub_auth_check_authentication):
12405 Set-but-not-used variable removed.
12406
d82df574
VS
124072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12410 32-bit linux protocol.
12411
7bced458
VS
124122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12415 cursor shape for sanity.
12416
5b027690
VS
124172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * docs/grub.texi (Installation): Document buggy BIOS install.
12420
ba5f65cf
VS
124212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * docs/grub.texi (Installation): Indent.
12424
fdf2ec9c
VS
124252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * util/grub-setup.c (setup): New parameter allow_floppy.
12428 (arguments): New member allow_floppy.
12429 (argp_parser): Handle --allow-floppy.
12430 (main): Pass allow_floppy.
12431 * util/grub-install.in: New option --allow-floppy passed though to
12432 grub-setup.
12433
861dfd4c
VS
124342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * util/grub-install.in: Handle partitionless disks.
12437
f77a8c24
VS
124382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * util/grub-setup.c (setup): Don't clean blocklists before readability
12441 verfification.
12442
27d9ee32
VS
124432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * docs/grub.texi (Installation): Document embedding zone. Remove
12446 obsolete grub-install example.
12447
6bdda8f8
SJ
124482010-10-16 Szymon Janc <szymon@janc.net.pl>
12449
12450 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12451 Set-but-not-used variable ifdef'ed.
12452 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12453 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12454 variable removed.
12455 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12456 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12457 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12458 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12459 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12460 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12461 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12462 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12463 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12464 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12465 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12466 Likewise.
12467
e19b016b
VS
124682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12471 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12472 enum value.
12473
6c8d3002
VS
124742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12477 synonym to _S5_. Needed for some DSDTs.
12478
c32b51c9
VS
124792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 Userspace ACPI parser debugging.
12482
12483 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12484 headers and add relevant defines. Don't include standard headers.
12485 (main) [GRUB_DSDT_TEST]: New function.
12486 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12487 Don't declare functions.
12488
fbfbeb39
VS
124892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Remove dead grub_efi_mm_fini.
12492
12493 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12494 (ALLOCATED_PAGES_SIZE): Likewise.
12495 (MAX_ALLOCATED_PAGES): Likewise.
12496 (allocated_pages): Likewise.
12497 (grub_efi_allocate_pages): Don't record allocated pages.
12498 (grub_efi_free_pages): Likewise.
12499 (grub_efi_mm_init): Likewise.
12500 (grub_efi_mm_fini): Removed.
12501
65f7ed7c
VS
125022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12505 (grub_efi_mm_init): Take into account the memory map size increase.
12506
24977b44
VS
125072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12510 (serial_hw_put): Wait based on real time rather than port reads. Don't
12511 roken ports.
12512 * include/grub/serial.h (grub_serial_port): New field broken.
12513
1eb01cd2
RM
125142010-10-16 Robert Millan <rmh@gnu.org>
12515
12516 * grub-core/kern/emu/misc.c
12517 (grub_make_system_path_relative_to_its_root): Fix premature return
12518 when processing non-root ZFS filesystems.
5f8b440b 12519 Reported by Sergio Talens-Oliag.
1eb01cd2 12520
2d5fed60
RM
125212010-10-15 Robert Millan <rmh@gnu.org>
12522
12523 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12524 guarantee compressed ones are processed first.
12525
d0f4c1ea
VS
125262010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12529 grub_efiemu_autocore.
12530
d87c681f
VS
125312010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12534 rather than 0x1b.
12535 (grub_console_getkey): Use correct jae opcode rather than ja.
12536
219b3564
RM
125372010-10-12 Robert Millan <rmh@gnu.org>
12538
12539 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12540 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12541 variable. All references updated.
12542
12543 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12544
20c6bb7e
VS
125452010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Correctly distinguish mdraid flavours.
12548
12549 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12550 (insert_array): New argument raid.
12551 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12552 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12553 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12554
74baff84
VS
125552010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12558 handling of special keys.
12559
3ef068df 125602010-10-02 Aleš Nesrsta <starous@volny.cz>
12561
c7980ad9
VS
12562 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12563 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12564
a9455194 125652010-10-02 Aleš Nesrsta <starous@volny.cz>
12566
c7980ad9
VS
12567 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12568 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12569 users updated.
a9455194 12570 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12571 Use right endpoint when querying descriptor.
a9455194 12572
441cfe65
VS
125732010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 Clear out 0x80 color bit on EFI.
12576 Tested by: decoder
12577 Reported by: decoder and meta tech.
12578
12579 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12580 (grub_console_setcolorstate): Clear out 0x80 bit.
12581 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12582 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12583 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12584
bf26bcc4
VS
125852010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12588 Set to "auto".
12589
6e3c515d
VS
125902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12593 mo_file after freeing.
12594
e6d983ba
VS
125952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12598
74ccb5b5
VS
125992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12602 flags.
12603
17821956
VS
126042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12607 usage.
12608
ee74fa48
VS
126092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12612
12613 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12614 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12615 and terminfo.h when needed.
12616 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12617 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12618 (terminfo): Enable only on terminfokernel.
12619 (extcmd): Likewise.
12620 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12621 * include/grub/lib/arg.h: Likewise.
12622 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12623 incorrect usage of ->.
12624
aa438e68
VS
126252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12628 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12629
57994012
VS
126302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Fix coreboot compilation.
12633
12634 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12635 Take VBE info into account even if only text is supported.
12636 (fill_vbe_info): Take into account the case when only VGA text
12637 is supported.
12638 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12639 on coreboot, multiboot and qemu.
12640
2a406611
VS
126412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12644 debug messages.
12645 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12646
d33613fc
VS
126472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12650 parameters.
12651
44a1b432
VS
126522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12655 if they were BSD-style.
12656
edde54e6
VS
126572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/boot/i386/pc/lnxboot.S: Replace
12660 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12661 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12662
b65830fa
VS
126632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Write embedding zone using Reed-Solomon.
12666
12667 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12668 * grub-core/Makefile.am (rs_decoder.S): New target.
12669 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12670 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12671 (multiboot): Move to RS part.
12672 (post_reed_solomon): New label.
12673 (grub_boot_drive): Move to non-RS part since it's modified in memory
12674 on boot.
12675 Include rs_decoder.S.
12676 * grub-core/lib/reed_solomon.c: New file.
12677 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12678 New definition.
12679 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12680 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12681 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12682 * include/grub/partition.h (grub_partition_map): Change prototype of
12683 embed to allow returning additional sectors.
12684 * include/grub/reed_solomon.h: New file.
12685 * util/grub-setup.c (setup): Handle Reed-Solomon.
12686
0b4b227f
CW
126872010-09-28 Colin Watson <cjwatson@ubuntu.com>
12688
12689 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12690 i386 and x86-64 definedness tests.
12691
f772623b
YB
126922010-09-27 Yves Blusseau <blusseau@zetam.org>
12693
12694 Fix generation of kernel_syms.lst
12695
12696 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12697 ASM_PREFIX
12698
8e57a6ca
RM
126992010-09-26 Robert Millan <rmh@gnu.org>
12700
12701 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12702
12703 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12704 the pool is an array of devices, iterate through it and return the
12705 first device that passes a stat() test (instead of blindly returning
12706 the first one).
12707
f9130836
RM
127082010-09-26 Robert Millan <rmh@gnu.org>
12709
12710 Build fixes for GNU/kFreeBSD.
12711
12712 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12713 to programs that require ZFS conversion.
12714 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12715 kernels that don't have FLOPPY_MAJOR.
12716
96510faf
BC
127172010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12718
12719 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12720
449333eb
BC
127212010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12722
12723 Fix grub-emu build.
12724
12725 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12726 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12727 mdraid09 and mdraid1x.
12728
e1fd1939
CW
127292010-09-24 Colin Watson <cjwatson@ubuntu.com>
12730
12731 Re-enable grub-extras.
12732
12733 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12734 avoid confusing Automake. Run autogen only twice, once for the top
12735 level and once for grub-core. Add Makefile.util.def and
12736 Makefile.core.def from extra modules to the appropriate autogen
12737 invocations. If Makefile.common exists in an extra module, include
12738 it in both Makefile.util.am and grub-core/Makefile.core.am;
12739 similarly, include any Makefile.util.common file in Makefile.util.am
12740 and any Makefile.core.common file in grub-core/Makefile.core.am.
12741 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12742 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12743 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12744 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12745
12746 * gentpl.py (gvar_add): Turn GVARS into a set.
12747 (global_variable_initializers): Sort global variables on output.
12748 (vars_init): New function.
12749 (first_time): Likewise.
12750 (library): Ensure that non-global variable initialisations are
12751 emitted before the first time we emit code for a library block.
12752 Append to variables rather than setting them. Only emit
12753 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12754 each conditional path.
12755 (program): installdir() emits an Autogen macro, so must be passed to
12756 var_add rather than gvar_add.
12757 (data): Likewise.
12758 (script): Likewise.
12759 (rules): New function, centralising handling for different target
12760 types. Set up Guile association lists for first_time and vars_init,
12761 and send most output to a diversion so that variable initialisations
12762 can be emitted first.
12763 (module_rules): Use new rules function.
12764 (kernel_rules): Likewise.
12765 (image_rules): Likewise.
12766 (library_rules): Likewise.
12767 (program_rules): Likewise.
12768 (script_rules): Likewise.
12769 (data_rules): Likewise.
12770
12771 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12772
12773 * .bzrignore: Add contrib and grub-core/contrib. Remove
12774 grub-core/Makefile.gcry.am.
12775
1d12cf29
YB
127762010-09-24 Yves Blusseau <blusseau@zetam.org>
12777
12778 * grub-core/lib/LzFind.c: Add missing include.
12779 * grub-core/lib/LzmaEnc.c: Likewise.
12780 * grub-core/script/lexer.c: Likewise.
12781 * grub-core/script/yylex.l: Likewise.
12782 * util/grub-macho2img.c: Likewise.
12783 * util/grub-menulst2cfg.c: Likewise.
12784 * util/grub-mklayout.c: Likewise.
12785 * util/grub-mkpasswd-pbkdf2.c
12786 * util/grub-mkrelpath.c: Likewise.
12787 * util/resolve.c: Likewise.
12788
dd363028
BC
127892010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12790
12791 * Makefile.util.def (example_unit_test): Add
12792 grub-core/gnulib/libgnu.a.
12793
f5a109e2
GS
127942010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12795
12796 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12797
6d0fa83c
VS
127982010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Support xz compression on yeeloong.
12801
12802 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12803 * configure.ac: Check for LZMA.
12804 * grub-core/Makefile.core.def (xz_decompress): New target.
12805 (none_decompress): Likewise.
12806 * grub-core/boot/decompressor/minilib.c: New file.
12807 * grub-core/boot/decompressor/none.c: Likewise.
12808 * grub-core/boot/decompressor/xz.c: Likewise.
12809 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12810 * grub-core/kern/mips/cache_flush.S: Likewise.
12811 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12812 * grub-core/kern/mips/startup.S: Move first stage to ...
12813 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12814 nomacro.
12815 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12816 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12817 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12818 Allocate statically.
12819 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12820 Allocate statically or use scratch. Don't check CRC32.
12821 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12822 Allocate statically. Don't check CRC32.
12823 * include/grub/decompressor.h: New file.
12824 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12825 Removed.
12826 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12827 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12828 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12829 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12830 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12831 * util/grub-mkimage.c (grub_compression_t): New type.
12832 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12833 (image_target_desc): New field default_compression.
12834 (image_targets): Adjust yeeloong targets.
12835 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12836 (compress_kernel): New parameter comp.
12837 (generate_image): Likewise. Handle new compression case.
12838 (options): New option --compression
12839 (help): Likewise.
12840 (main): Handle new option.
12841
1b655af6
GS
128422010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12843
12844 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12845
8f03f0b5
CW
128462010-09-22 Colin Watson <cjwatson@ubuntu.com>
12847
12848 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12849 typo in __i386__ conditional.
12850
7835dfd3
VS
128512010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12854 include.
12855
e255597e
VS
128562010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12857
6d0fa83c 12858 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12859
12860 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12861 new tags as supported.
12862 (acpiv2_size): New function.
12863 (grub_multiboot_get_mbi_size): Take new tags into account.
12864 (grub_multiboot_make_mbi): Add new tags.
12865 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12866
6cc14051 128672010-09-21 Aleš Nesrsta <starous@volny.cz>
12868
12869 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12870 Added missing configuration of USB device.
12871
df7769d8
CW
128722010-09-21 Colin Watson <cjwatson@ubuntu.com>
12873
12874 * grub-core/normal/menu_entry.c (run): Make sure we always return
12875 a value.
12876
b031012d
CW
128772010-09-21 Colin Watson <cjwatson@ubuntu.com>
12878
12879 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12880 NumberOfPages is UINT64 according to the UEFI specification, not
12881 UINTN. Fix printf format.
12882
174de8f3
CW
128832010-09-21 Colin Watson <cjwatson@ubuntu.com>
12884
12885 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12886 `err' to grub_usb_err_t.
12887 Reported and tested by: KESHAV P.R.
12888
d7dbe923
CW
128892010-09-21 Colin Watson <cjwatson@ubuntu.com>
12890
12891 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12892 tpart non-const, so that we can assign to it. (Since this is a
12893 typedef, the constness refers to the pointer rather than what it
12894 points to.)
12895
8d5e2af3
CW
128962010-09-21 Colin Watson <cjwatson@ubuntu.com>
12897
12898 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12899 $(top_srcdir)/grub-core/gnulib as well as
12900 $(top_builddir)/grub-core/gnulib.
12901 Reported by: KESHAV P.R.
12902
5c527783
CW
129032010-09-21 Colin Watson <cjwatson@ubuntu.com>
12904
12905 * util/grub-install.in: Fix the bootloader ID option to be
12906 consistently --bootloader-id, not --bootloader_id.
12907 Reported by: KESHAV P.R.
12908
d309a16e
CW
129092010-09-21 Colin Watson <cjwatson@ubuntu.com>
12910
12911 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12912 check hash checksum." consistently translatable.
12913
b830cd16
YB
129142010-09-21 Yves Blusseau <blusseau@zetam.org>
12915
12916 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12917 $(top_builddir).
12918
c4fe27a8
CW
129192010-09-21 Colin Watson <cjwatson@ubuntu.com>
12920
12921 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12922 (GRUB_MOD_INIT): Register sha1sum command.
12923 (GRUB_MOD_FINI): Unregister sha1sum command.
12924
a4c1d277
YB
129252010-09-21 Yves Blusseau <blusseau@zetam.org>
12926
12927 Keep boot and grub directory names in sync with utils scripts
12928
12929 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12930 * config.h.in: Add previous macros.
12931 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12932 * util/grub-install.in: Use $bootdir and $grubdir variables.
12933
4eff79d2
CW
129342010-09-21 Colin Watson <cjwatson@ubuntu.com>
12935
12936 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12937 convert partition names to disk names if the new `convert' parameter
12938 is set.
12939 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12940 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12941 disk in its own right. This can happen with Xen disk images.
12942
934d7e44
YB
129432010-09-21 Yves Blusseau <blusseau@zetam.org>
12944
12945 * util/grub-editenv.c: Update strings to avoid warnings when generating
12946 grub.pot file.
12947 * util/grub-setup.c: Likewise.
934d7e44 12948
df3367cc
VS
129492010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * configure.ac: Change version to 1.99~beta0.
12952
77a94e98
VS
129532010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12956 Add BADRAM.
12957 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12958 Likewise.
12959 * include/multiboot.h: Resynced with specification.
12960 * include/multiboot2.h: Likewise.
12961
269004c1
CW
129622010-09-21 Colin Watson <cjwatson@ubuntu.com>
12963
12964 Fix po directory handling.
12965
12966 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12967 * grub-core/gnulib/Makefile.am: Import gettext module.
12968 * m4/gnulib-cache.m4: Likewise.
12969 * m4/gnulib-comp.m4: Likewise.
12970 * m4/gettext.m4: New file, from gnulib.
12971 * m4/glibc2.m4: Likewise.
12972 * m4/iconv.m4: Likewise.
12973 * m4/intdiv0.m4: Likewise.
12974 * m4/intl.m4: Likewise.
12975 * m4/intldir.m4: Likewise.
12976 * m4/intlmacosx.m4: Likewise.
12977 * m4/intmax.m4: Likewise.
12978 * m4/inttypes-pri.m4: Likewise.
12979 * m4/lcmessage.m4: Likewise.
12980 * m4/lib-ld.m4: Likewise.
12981 * m4/lib-link.m4: Likewise.
12982 * m4/lib-prefix.m4: Likewise.
12983 * m4/lock.m4: Likewise.
12984 * m4/nls.m4: Likewise.
12985 * m4/po.m4: Likewise.
12986 * m4/printf-posix.m4: Likewise.
12987 * m4/progtest.m4: Likewise.
12988 * m4/threadlib.m4: Likewise.
12989 * m4/uintmax_t.m4: Likewise.
12990 * m4/visibility.m4: Likewise.
12991 * po/Makefile.am: Remove.
12992 * po/Makefile.in.in: New file, from gettext.
12993 ($(DOMAIN).pot-update): Support POTFILES-shell.
12994 * po/Makevars: New file.
12995 * po/POTFILES-shell: Rename to ...
12996 * po/POTFILES-shell.in: ... this. Update.
12997 * po/POTFILES: Rename to ...
12998 * po/POTFILES.in: ... this. Update.
12999 * po/Rules-quot: New file, from gettext.
13000 * po/boldquot.sed: Likewise.
13001 * po/en@boldquot.header: Likewise.
13002 * po/en@quot.header: Likewise.
13003 * po/insert-header.sin: Likewise.
13004 * po/quot.sed: Likewise.
13005 * po/remove-potcdate.sin: Likewise.
13006
3e0fa5d0
VS
130072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13010
ade9bd66
VS
130112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * util/grub.d/20_linux_xen.in: Use submenus.
13014
fc55cc4c
VS
130152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 Support submenus.
13018
13019 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13020 parameter submenu. All users updated.
13021 * grub-core/normal/main.c (free_menu): Rename to ...
13022 (grub_normal_free_menu): ... this. Made global.
13023 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13024 if requested.
13025 * grub-core/normal/menu_entry.c (screen): New field submenu.
13026 (make_screen): Set submenu.
13027 (run): Open new context if requested.
13028 * include/grub/menu.h (grub_menu_entry): New field submenu.
13029 * include/grub/normal.h (grub_normal_free_menu): New proto.
13030
600cedf7
VS
130312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 Menu entries extractor.
13034
13035 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13036 variants.
13037 (GRUB_MOD_INIT): Register new variants.
13038 (GRUB_MOD_FINI): Unregister new variants.
13039 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13040 into grub_cmd_legacy_source.
13041 (grub_cmd_legacy_source): Implement extractor variants.
13042 (GRUB_MOD_INIT): Register new variants.
13043 (GRUB_MOD_FINI): Unregister new variants.
13044 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13045 as an extractor.
13046 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13047 search as an extractor.
13048 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13049 test as an extractor.
13050 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13051 as an extractor.
13052 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13053 (grub_env_new_context): New function.
13054 (grub_env_context_open): Likewise.
13055 (grub_env_extractor_open): Likewise.
13056 (grub_env_extractor_close): Likewise.
13057 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13058 grub_extractor_level.
13059 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13060 * include/grub/env.h (grub_env_extractor_open): New proto.
13061 (grub_env_extractor_close): Likewise.
13062 * include/grub/normal.h (grub_extractor_level): New external variable.
13063
7bda3a87
VS
130642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 Make cutmem accept a region specification.
13067 Suggested by: Samuel Thibault
13068
13069 * grub-core/mmap/mmap.c (parsemem): New function.
13070 (grub_cmd_cutmem): Handle new arguments.
13071
2ea57f88
VS
130722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 New command cutmem.
13075
13076 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13077 (GRUB_MOD_INIT): Register new command.
13078 (GRUB_MOD_FINI): Unregister new command.
13079
74342e31
VS
130802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 Support some annoying BSD and Minix subpartitions.
13083
13084 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13085 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13086 Properly handle concatenation.
13087 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13088 * grub-core/normal/completion.c (iterate_partition): Likewise.
13089 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13090 contain partition. All users updated.
13091 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13092 struct.
13093 (grub_openbsdlabel_partition_map): Likewise.
13094 (bsdlabel_partition_map_iterate): Rename to ..
13095 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13096 (bsdlabel_partition_map_iterate): New function.
13097 (netopenbsdlabel_partition_map_iterate): Likewise.
13098 (netbsdlabel_partition_map_iterate): Likewise.
13099 (openbsdlabel_partition_map_iterate): Likewise.
13100 (GRUB_MOD_INIT): Register new partmaps.
13101 (GRUB_MOD_FINI): Unregister new partmaps.
13102 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13103 (grub_partition_msdos_iterate): ... this. All users updated.
13104 Don't support embedding other than in a minix partition.
13105 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13106 proto.
13107 * include/grub/partition.h (grub_partition): New field msdostype.
13108 * util/grub-install.in: Handle openbsd and netbsd types being in
13109 part_bsd module.
13110
1e8d555b
VS
131112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13114
13115 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13116 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13117 (mdraid09): ... this.
13118 (mdraid1x): New module.
13119 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13120 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13121
899d8af4
VS
131222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13125 vsprintf.
13126
40901acd
CW
131272010-09-20 Colin Watson <cjwatson@ubuntu.com>
13128
13129 * grub-core/commands/efi/lsefimmap.c: Correct header.
13130 * NEWS: Update.
13131
dfe3b247
CW
131322010-09-20 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13135 as printf format strings; the translations might contain '%' which
13136 could cause a crash.
13137 (main): Likewise.
13138 * util/grub-fstest.c (argp_parser): Likewise.
13139 * util/grub-setup.c (argp_parser): Likewise.
13140 (main): Likewise.
13141
3286a4b4
VS
131422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Use argp in grub-fstest.
13145
13146 * util/grub-fstest.c: Don't include getopt.h.
13147 Include argp.h.
13148 (root): New variable.
13149 (args_count): Likewise.
13150 (nparm): Likewise.
13151 (num_disks): Likewise.
13152 (images): Likewise.
13153 (cmd): Likewise.
13154 (debug_str): Likewise.
13155 (args): Likewise.
13156 (options): Transformed to argp.
13157 (usage): Removed.
13158 (main): Split argument parsing into ...
13159 (argp_parser): ... this. Changed to argp format.
13160 (argp): New variable.
13161 (main): Use argp_parse.
13162
3dccbe4b
TG
131632010-09-20 Tristan Gingold <gingold@free.fr>
131642010-09-20 Robert Millan <rmh.grub@aybabtu.com>
131652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 * grub-core/commands/efi/lsefimmap.c: New file.
13168 * grub-core/Makefile.core.def (lsefimmap): New module.
13169 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13170
38c259a7
VS
131712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 Pause the execution (10s max) if any errors are displayed so the user
13174 has a chance to see them.
13175
13176 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13177 (grub_print_error): Increment grub_err_printed_errors.
13178 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13179 execution if any errors were displayed.
13180 (show_menu): Remove old code for pause.
13181 * grub-core/normal/menu_entry.c (run): Likewise.
13182 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13183 users updated.
13184 (grub_normal_get_char_counter): Likewise.
13185 * include/grub/err.h (grub_err_printed_errors): New external variable.
13186 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13187
f218b09c
VS
131882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Support multiboot VBE info.
13191
13192 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13193 Take VBE info into account.
13194 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13195 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13196 Call fill_vbe_info when appropriate.
13197 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13198 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13199 as supported.
13200 (grub_multiboot_get_mbi_size): Take new tags into account.
13201 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13202 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13203 Call fill_vbe_tag when appropriate.
13204 (grub_multiboot_make_mbi): Properly align tags.
13205 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13206 function.
13207 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13208 proto.
13209 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13210
a9cc5438
VS
132112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 Suport manual terminal geometry specification.
13214
13215 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13216 Save state in grub_ofconsole_terminfo_output.
13217 (grub_ofconsole_term): Use grub_terminfo_getwh.
13218 (grub_ofconsole_getwh): Removed.
13219 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13220 (grub_serial_term): Use grub_terminfo_getwh.
13221 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13222 (options): New struct.
13223 (OPTION_*): New enum.
13224 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13225 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13226 width and height.
13227 (grub_terminfo_getwh): New proto.
13228 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13229
1a8fed20
VS
132302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 Handle legacy "terminal" command.
13233
13234 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13235 and FLAG_TERMINAL.
13236 (legacy_commands): Add terminal and title.
13237 (grub_legacy_parse): Handle terminal. Simplify title handling.
13238
41e9c57d
VS
132392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13242 parameters overflow.
13243
61c874c5
CW
132442010-09-20 Colin Watson <cjwatson@ubuntu.com>
13245
13246 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13247 widthspec.h.
13248
13249 * docs/grub.texi (Shell-like scripting): Document `!'.
13250 (Network): Simplify using new i386-pc-pxe format. Mention
13251 grub-mknetdir.
13252
13253 * NEWS: Update.
13254
943682b4
CW
132552010-09-20 Colin Watson <cjwatson@ubuntu.com>
13256
13257 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13258 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13259 when needed.
13260
6d3d698d
CW
132612010-09-20 Colin Watson <cjwatson@ubuntu.com>
13262
13263 * grub-core/commands/efi/lsefisystab.c: Correct header.
13264 * grub-core/commands/efi/lssal.c: Likewise.
13265 * grub-core/commands/testload.c: Likewise.
13266
c982589f
CW
132672010-09-20 Colin Watson <cjwatson@ubuntu.com>
13268
13269 * util/grub-mkrescue.in: Add explicit root argument to --set to
13270 prevent the UUID being interpreted as an argument to --set (matches
13271 previous change to prepare_grub_to_access_device).
13272
a63c31b6
CW
132732010-09-20 Colin Watson <cjwatson@ubuntu.com>
13274
13275 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13276 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13277 the verbosity of later #ifs.
13278 (find_partition_start): Define this function on FreeBSD too.
13279 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13280 function.
13281 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13282 on FreeBSD.
13283
6439b8ee
YB
132842010-09-20 Yves Blusseau <blusseau@zetam.org>
13285
13286 * util/grub-editenv.c: Use argp instead of getopt.
13287
c5930ec8
YB
132882010-09-20 Yves Blusseau <blusseau@zetam.org>
13289
13290 * util/grub-setup.c: Use argp instead of getopt.
13291
15c69261
YB
132922010-09-20 Yves Blusseau <blusseau@zetam.org>
13293
13294 Use gnulib-tool to create gnulib source files.
13295
13296 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13297 grub-core/gnulib directories
13298 * .bzignore: Add **/.deps and autogenerated gnulib files
13299 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13300 of gnulib macros, add grub-core/gnulib/Makefile
13301 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13302 include m4 directory to aclocal.
13303 * Makefile.util.def: Remove direct compilation of gnulib source files
13304 and use the new grub-core/gnulib/libgnu.a.
13305 * build-aux/config.rpath: move config.rpath from top directory to
13306 build-aux
13307 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13308 in gnulib headers
13309 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13310 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13311 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13312 header.
13313 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13314 string.
13315
e511c9f5
YB
133162010-09-20 Yves Blusseau <blusseau@zetam.org>
13317
13318 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13319 grub-core/genmod.sh and grub-core/gensyminfo.sh
13320
c2dede05
BC
133212010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13322
13323 Add a test for echo command options.
13324
13325 * tests/grub_cmd_echo.in: New test.
13326 * Makefile.util.def: Rules for new test.
13327
c55f5018
SJ
133282010-09-20 Szymon Janc <szymon@janc.net.pl>
13329
13330 Remove crc.mod and move crc command to hashsum.mod.
13331 Remove lib/crc.c - users updated to use gcrypt implementation.
13332
13333 * grub-core/commands/crc.c: Removed.
13334 * grub-core/Makefile.core.def (crc): Module removed.
13335 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13336 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13337 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13338 * grub-core/lib/crc.c: Removed.
13339 * include/grub/lib/crc.h: Removed.
13340 * Makefile.util.def (crc): Remove lib/crc.c
13341 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13342 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13343 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13344 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13345 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13346 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13347
e0337366
VS
133482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13351
742f9232
VS
133522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 Split config.h for util and core.
13355
13356 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13357 (ADDR32): Likewise.
13358 (DATA32): Likewise.
13359 (BSS_START_SYMBOL): Likewise.
13360 (END_SYMBOL): Likewise.
13361 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13362 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13363 * config.h.in: New file.
13364 * configure.ac: Use config-util.h as config define file.
13365 Rename MACHINE into GRUB_MACHINE. All users updated.
13366 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13367 updated.
13368 (NESTED_FUNC_ATTR): Likewise.
13369 Substitue new variables.
13370 (COND_HAVE_ASM_USCORE): New conditional.
13371 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13372 (kernel_syms.lst): Use ASM_PREFIX.
13373 * grub-core/kern/emu/console.c: Include config-util.h.
13374 * grub-core/kern/emu/misc.c: Likewise.
13375 * grub-core/kern/emu/mm.c: Likewise.
13376 * include/grub/emu/misc.h: Likewise.
13377 * include/grub/libgcc.h: Likewise.
13378
39feb0e8
VS
133792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13382 constants usage.
13383 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13384 Fix GRUB_TERM_KEY_* constants usage.
13385 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13386
9af6dac3
VS
133872010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13390 print pointer.
13391 * grub-core/bus/usb/uhci.c: Remove empty define.
13392 (grub_uhci_check_transfer): Add missing cast.
13393 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13394 print pointer.
13395 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13396 PRIuGRUB_SIZE.
13397 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13398
d6d94820
VS
133992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/Makefile.core.def (legacycfg): Add
13402 lib/i386/pc/vesa_modes_table.c on emu.
13403
3572f2b6
BC
134042010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13405
13406 Reduce number of temporary files generated by build system.
13407
13408 * grub-core/gencmdlist.sh: Removed.
13409 * grub-core/genfslist.sh: Removed.
13410 * grub-core/genhandlerlist.sh: Removed.
13411 * grub-core/genmodsrc.sh: Removed.
13412 * grub-core/genpartmaplist.sh: Removed.
13413 * grub-core/genparttoollist.sh: Removed.
13414 * grub-core/gentermiinallist.sh: Removed.
13415 * grub-core/genvideolist.sh: Removed.
13416
13417 * grub-core/genmod.sh.in: New file.
13418 * grub-core/gensyminfo.sh.in: New file.
13419
13420 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13421 * conf/Makefile.extra-dist: Update with new files.
13422 * gentpl.py: Remove rules related to unnecessary temporary files.
13423 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13424 and und-* files.
13425 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13426 genmod.sh scripts.
13427 * grub-core/bus/usb/uhci.c: Remove empty #define.
13428 * grub-core/genmoddep.awk: Updated with new syminfo format.
13429 * util/bash-completion.d/Makefile.am: Add config.log to
13430 CLEANFILES.
13431
c836b030
YB
134322010-09-19 Yves Blusseau <blusseau@zetam.org>
13433
13434 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13435
2f4e8053
BC
134362010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13437
13438 * util/grub-mkconfig.in: Check the config script for syntax errors
13439 before saving.
13440
75831c34
CW
134412010-09-19 Colin Watson <cjwatson@ubuntu.com>
134422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13445 platforms.
13446 * util/grub-install.in: Add EFI and IEEE1275 support.
13447 * util/i386/efi/grub-install.in: Removed.
13448 * util/ieee1275/grub-install.in: Likewise.
13449
eaf41b25
VS
134502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13453 (grub_cmd_cmosclean): Likewise.
13454 (GRUB_MOD_INIT): Register command cmosclean.
13455 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13456 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13457
1a9130dd
CPE
134582010-09-18 Carles Pina i Estany <carles@pina.cat>
134592010-09-18 Aleš Nesrsta <starous@volny.cz>
134602010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 Add keyboard layouts support.
13463
13464 * Makefile.util.def (grub-mklayout): New file.
13465 (grub-kbdcomp): New script.
13466 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13467 Add keyboard_layouts.h.
13468 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13469 commands/boot.c on yeeloong.
13470 (keylayouts): New module.
13471 * grub-core/bus/usb/ohci.c
13472 * grub-core/bus/usb/uhci.c
13473 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13474 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13475 (attach_root_port): Likewise.
13476 (poll_nonroot_hub): Likewise.
13477 (grub_usb_poll_devices): Likewise.
13478 (detach_device): Close transfer.
13479 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13480 function.
13481 (grub_usb_bulk_setup_readwrite): Likewise.
13482 (grub_usb_bulk_finish_readwrite): Likewise.
13483 * grub-core/commands/keylayouts.c: New file.
13484 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13485 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13486 aliases.
13487 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13488 support scancode 2.
13489 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13490 * include/grub/keyboard_layouts.h: New file.
13491 * util/grub-mklayout.c: New file.
13492 * util/grub-kbdcomp.in: Likewise.
13493
a1d84a5e
VS
134942010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Unify memory types.
13497
13498 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13499 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13500 types.
13501 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13502 (grub_upper_mem): Likewise.
13503 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13504 * include/grub/memory.h (grub_memory_type_t): New enum.
13505 All users updated.
13506
9696382e
VS
135072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * grub-core/Makefile.core.def (lsapm): New module.
13510 * grub-core/commands/i386/pc/lsapm.c: New file.
13511 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13512 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13513 Likewise.
13514 * include/grub/i386/pc/apm.h: New file.
13515 * include/multiboot.h (multiboot_apm_info): New struct.
13516
135172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 GRUB-legacy configuration file support.
13520
13521 * Makefile.util.def (grub-menulst2cfg): New util.
13522 * docs/man/grub-menulst2cfg.h2m: New file.
13523 * grub-core/Makefile.core.def (legacycfg): New module.
13524 * grub-core/commands/legacycfg.c: New file.
13525 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13526 (grub_normal_add_menu_entry): ... this.
13527 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13528 (grub_normal_set_password): ...this.
13529 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13530 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13531 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13532 * grub-core/lib/legacy_parse.c: New file.
13533 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13534 * include/grub/i386/pc/vesa_modes_table.h: New file.
13535 * include/grub/legacy_parse.h: Likewise.
13536 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13537 * util/grub-menulst2cfg.c: New file.
13538
bf8d1338
CW
135392010-09-17 Colin Watson <cjwatson@ubuntu.com>
13540
13541 * grub-core/kern/emu/hostdisk.c
13542 (convert_system_partition_to_system_disk): Initialise node.
13543
9c0bad2e
CW
135442010-09-17 Colin Watson <cjwatson@ubuntu.com>
13545
13546 * grub-core/kern/emu/hostdisk.c
13547 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13548 leak.
13549 Reported and based on patch by: Modestas Vainius.
13550
a939d135
CW
135512010-09-17 Colin Watson <cjwatson@ubuntu.com>
13552
13553 Fix DM-RAID probing with recent versions of device-mapper udev
13554 rules.
13555
13556 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13557 canonicalise device paths under /dev/mapper/.
13558 (convert_system_partition_to_system_disk): Compare the
13559 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13560 path, since device nodes under /dev/mapper/ are often symlinks.
13561
0f7ee3c9
YB
135622010-09-17 Yves Blusseau <blusseau@zetam.org>
13563
13564 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13565
10854d0d
YB
135662010-09-16 Yves Blusseau <blusseau@zetam.org>
13567
13568 * configure.ac: Avoid some annoying error messages if freetype-config
13569 program is not found.
13570
108538d8
CW
135712010-09-16 Colin Watson <cjwatson@ubuntu.com>
13572
13573 Support RAID on virtio devices, and others.
13574
13575 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13576 Rename to ...
13577 [__MINGW32__] (grub_find_device): ... this.
13578 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13579 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13580 reasonable default if dir is NULL.
13581 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13582 ...
13583 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13584 (grub_guess_root_device): Update callers.
13585 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13586
13587 * util/raid.c (grub_util_getdiskname): Remove.
13588 (grub_util_raid_getmembers): Use grub_find_device rather than
13589 grub_util_getdiskname.
13590
e5bfc130
CW
135912010-09-16 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13594 needing to be compiled with serial support.
13595 (ls): Indicate that multiple files are accepted.
13596 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13597 indicate that multiple files are accepted.
13598
be458ae2
CW
135992010-09-16 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13602 libgrub_a_init.c, and util/bash-completion.d/grub.
13603
cb731b5e
VS
136042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * util/grub-setup.c (setup): Fix incorrect container semantics.
13607
35139e8a
VS
136082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13611 misusage.
13612 Reported by: J. Nick Terry
13613
e50fca4a
VS
136142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 Move embedding routines to partmap sources files.
13617
13618 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13619 [GRUB_UTIL]: New variable.
13620 (gpt_partition_map_iterate): Set part.parent.
13621 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13622 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13623 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13624 New function.
13625 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13626 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13627 (grub_partition_map) [GRUB_UTIL]: New field embed.
13628 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13629 (setup): Use ->embed.
13630
f00478b7
VS
136312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13634 function.
13635 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13636 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13637
2b94e3ff
YB
136382010-09-15 Yves Blusseau <blusseau@zetam.org>
13639
13640 Add function to get completions from usage.
13641
13642 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13643 completions from usage. Use LC_ALL=C to get options properly.
13644
2e04a006
VS
136452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * grub-core/gnulib/basename-lgpl.c: Imported.
13648 * grub-core/gnulib/basename.c: Likewise.
13649 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13650 * grub-core/gnulib/dirname.c: Likewise.
13651 * grub-core/gnulib/dirname.h: Likewise.
13652 * grub-core/gnulib/stripslash.c: Likewise.
13653
5dcdf93a
VS
136542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/gnulib/error.c: Resynced.
13657 * grub-core/gnulib/getopt.c: Likewise.
13658 * grub-core/gnulib/getopt_int.h: Likewise.
13659 * grub-core/gnulib/regex.h: Likewise.
13660 * grub-core/gnulib/regex_internal.c: Likewise.
13661 * grub-core/gnulib/regex_internal.h: Likewise.
13662
014f47b7
SJ
136632010-09-15 Szymon Janc <szymon@janc.net.pl>
13664
13665 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13666 CRC calculations and validity checks.
13667 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13668 calculations.
13669
dd521a4a
SJ
136702010-09-15 Szymon Janc <szymon@janc.net.pl>
13671
13672 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13673
79c4eeb9
VS
136742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Fix incorrect echo options handling.
13677 Reported by: Yves Blusseau.
13678
13679 * include/grub/command.h (grub_command_flags_t): New flags
13680 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13681 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13682 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13683
ed80f7d5
VS
136842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13687 users updated.
13688 (GRUB_COMMAND_FLAG_MENU): Likewise.
13689 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13690 (GRUB_COMMAND_FLAG_TITLE): Removed.
13691 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13692 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13693 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13694 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13695 (grub_command_flags_t): New enum. All users updated.
13696
5fe7620a
SG
136972010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13698
13699 Fix solaris compilation.
13700
13701 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13702 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13703 (grub-emu-list): Likewise.
13704
545b752f
VS
137052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 Remove deprecated root command.
13708
13709 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13710 updated.
13711
6c1a338c
VS
137122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * util/i386/pc/grub-setup.c: Merge this ...
13715 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13716 * util/grub-setup.c: ... into this.
13717 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13718 New struct.
13719
137202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13723 possible.
13724
d2ea4551
VS
137252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13728 allocate p.
13729
3c3b5040
VS
137302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13733 explicit root argument to set to prevent UUID to be interpreted as
13734 argument to set.
13735
b71c3fae
VS
137362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13739
275433e6
VS
137402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Don't export grub_gate_a20.
13743
13744 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13745 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13746 to ...
13747 (grub_gate_a20): ... this. All users updated.
13748 * include/grub/i386/pc/init.h: Removed. All users updated.
13749
a5dbb1f1
VS
137502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Create euro.pf2 which supports most European languages.
13753
13754 * Makefile.am (grubdata_DATA): Add euro.pf2.
13755 (euro.pf2): New target.
13756 (CLEANFILES): Add euro.pf2.
13757
62a747cb
VS
137582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * configure.ac: Disable emu-usb by default to prevent inadvertent
13761 device takeover.
13762
608e43b1
VS
137632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Disable usbserial on grub-emu since our libusb code isn't good enough
13766 yet.
13767
13768 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13769 (usbserial_pl2303): Likewise.
13770 (usbserial_ftdi): Likewise.
13771
94564f81
VS
137722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 * include/grub/disk.h (grub_disk): Remove has_partitions.
13775 All users updated.
13776 * disk/loopback.c (grub_loopback): Remove has_partitions.
13777 All users updated.
13778 (options): Remove partitions. All users updated.
13779 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13780 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13781 actual partition table is found.
13782
3352800b
VS
137832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Remove readability checks (too many false negatives).
13786
13787 * util/grub-install.in: Remove readability checks.
13788 * util/grub-mkconfig.in: Likewise.
13789 * util/grub.d/10_hurd.in: Likewise.
13790 * util/grub.d/10_kfreebsd.in: Likewise.
13791 * util/grub.d/10_linux.in: Likewise.
13792 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13793 way.
13794
2419f17a
VS
137952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Enable acpi shutdown on all ACPI platforms.
13798
13799 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13800 on coreboo, multiboot and EFI.
13801 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13802 (grub_acpi_halt): Likewise.
13803 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13804 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13805 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13806 * grub-core/lib/i386/halt.c (grub_halt)
13807 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13808
0575c7c3
VS
138092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13812 context.
13813
54ac3cd1
VS
138142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13817 * grub-core/video/efi_uga.c: Likewise.
13818
b2a30ac5
VS
138192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 Filter devaliases and never open same device twice.
13822
13823 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13824 (last_ihandle): Likewise.
13825 (ofdisk_hash_ent): New member shortest.
13826 (ofdisk_hash_add): Add canonical path too.
13827 (scan): New function.
13828 (grub_ofdisk_iterate): Iterate over hashed entries.
13829 (compute_dev_path): Don't add :0.
13830 (grub_ofdisk_open): Don't really open the disk.
13831 (grub_ofdisk_close): Avoid closing unrelated disk.
13832 (grub_ofdisk_read): Implement reopen logic.
13833 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13834 New function.
13835 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13836 New proto.
13837
fb53b340
VS
138382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 Fix sparc64.
13841
13842 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13843 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13844 right address. Add sparc64_ieee1275_ldflags.
13845 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13846 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13847 to grub_host_to_target_addr
13848 (load_image): Likewise.
13849
f452b040
VS
138502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * grub-core/normal/completion.c (complete_file): Handle device
13853 containing slash.
13854 Fix based on patch by Doug Nazar.
13855
9b5b2541
VS
138562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 grub-mknetdir script.
13859
13860 * Makefile.util.def (grub-mknetdir): New module.
13861 * tests/util/grub-shell.in: Support boot=net
13862 * util/grub-mknetdir.in: New file.
13863
9d2be652
VS
138642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 videoinfo on non-vbe.
13867
13868 * grub-core/Makefile.core.def (vbeinfo): Removed.
13869 (vbetest): Removed.
13870 (videoinfo): New module.
13871 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13872 * grub-core/commands/i386/pc/vbetest.c: Removed.
13873 * grub-core/commands/videoinfo.c: New file.
13874 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13875 specification.
13876 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13877 as vbetest.
13878 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13879 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13880 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13881 mode_number. New parameter mode. All users updated.
13882 (grub_video_gop_iterate): New function.
13883 (grub_video_efi_gop): New member iterate.
13884 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13885 (grub_vbe_set_video_mode): Remove setting useless fields.
13886 (vbe2videoinfo): New function.
13887 (grub_video_vbe_iterate): Likewise.
13888 (grub_video_vbe_setup): Use vbe2videoinfo.
13889 (grub_video_vbe_print_adapter_specific_info): New function.
13890 (grub_video_vbe_adapter): New fields iterate and
13891 print_adapter_specific_info.
13892 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13893 All users updated.
13894 (grub_video_mode_info): New field mode_number.
13895 (grub_video_adapter): New fields iterate and
13896 print_adapter_specific_info.
13897
179503f5
TG
138982010-09-13 Tristan Gingold <gingold@free.fr>
138992010-09-13 Robert Millan <rmh.grub@aybabtu.com>
139002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/commands/efi/lsefisystab.c: New file.
13903 * grub-core/commands/efi/lssal.c: Likewise.
13904 * grub-core/Makefile.core.def (lsacpi): New module.
13905 (lsefisystab): Likewise.
13906 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13907 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13908 (grub_efi_sal_system_table): New struct.
13909 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13910 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13911 (grub_efi_sal_system_table_platform_features): Likewise.
13912 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13913 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13914 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13915 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13916
cf9827de
VS
139172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 Support explicit user claim that a device is BIOS-visible.
13920
13921 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13922 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13923 * grub-core/kern/emu/hostdisk.c
13924 (convert_system_partition_to_system_disk): Support mdX.
13925 (find_system_device): New parameter add. All users updated.
13926 (grub_util_biosdisk_is_present): New function.
13927 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13928 proto.
13929
53f0eb1f
VS
139302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 Search hints support.
13933
13934 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13935 All users updated.
13936
b23ffd70
YB
139372010-09-13 Yves Blusseau <blusseau@zetam.org>
13938
13939 Bash completion script for util commands
13940
13941 * Makefile.am: Add util/bash-completion.d directory
13942 * configure.ac: Likewise.
13943 * util/bash-completion.d/Makefile.am: New file.
13944 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13945
d547dc28
VS
139462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13949 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13950 Reported by: Yves Blusseau.
13951
2fc8ccb9
VS
139522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13955 partition size and offset.
13956
d8a84076
VS
139572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13960
84fb3b3d
VS
139612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13964
768ec2e2
VS
139652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13968 (grub_xvasprintf): Likewise.
13969
4870900f
VS
139702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13973
faca6bec
VS
139742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13977 args ending with NULL.
13978
139792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13980
13981 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13982 pointer.
13983
3c70f225
SJ
139842010-09-11 Szymon Janc <szymon@janc.net.pl>
13985
13986 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13987
4df7996d
VS
139882010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 Shutdown using ACPI.
13991
13992 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13993 * grub-core/commands/acpihalt.c: New file.
13994 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13995 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13996 (grub_acpi_halt): New proto.
13997 (GRUB_ACPI_SLP_EN): New const.
13998 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13999 (GRUB_ACPI_OPCODE_*): New enum.
14000 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14001
126b4c32
TG
140022010-09-11 Tristan Gingold <gingold@free.fr>
140032010-09-11 Robert Millan <rmh.grub@aybabtu.com>
140042010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 * commands/lsacpi.c: New file.
14007 * grub-core/Makefile.core.def (lsacpi): New module.
14008 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14009 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14010 (grub_acpi_madt_entry_header): New struct.
14011 (grub_acpi_madt): Likewise.
14012 (grub_acpi_madt_entry_interrupt_override): Likewise.
14013 (grub_acpi_madt_entry_sapic): Likewise.
14014 (grub_acpi_madt_entry_lsapic): Likewise.
14015 (grub_acpi_madt_entry_platform_int_source): Likewise.
14016 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14017 (PRIuGRUB_UINT32_T): Likewise.
14018 (PRIxGRUB_UINT64_T): Likewise.
14019
1aa4fe88
VS
140202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 Implement loading palette on ieee1275_fb.
14023
14024 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14025 (have_setcolors): Likewise.
14026 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14027 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14028 (grub_video_ieee1275_set_palette): Implement.
14029
25761e13
VS
140302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
140312010-09-11 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * util/grub-install.in (grub_partition): New variable.
14034 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14035 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14036 Fixes a bug reported by Yves Blusseau.
14037
050abaea
VS
140382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 Fix emu on mipsel.
14041
14042 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14043 =grub_cpu_flush_cache on all mips and not only yeeloong.
14044 * configure.ac (COND_mips): New conditional.
14045 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14046 platforms.
14047 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14048 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14049 [GRUB_LINKER_HAVE_INIT]: New function.
14050 (grub_emu_post_init): Likewise.
14051 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14052 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14053 * include/grub/cache.h (_mips): Include mips/cache.h.
14054 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14055 LVM and RAID prototypes.
14056 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14057 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14058 function.
14059
5ed7d816
CW
140602010-09-10 Colin Watson <cjwatson@ubuntu.com>
14061
14062 * util/grub-install.in: Don't try to verify core.img until after
14063 running grub-mkimage to create it.
14064
90367e04
RM
140652010-09-10 Robert Millan <rmh@gnu.org>
14066
14067 * util/grub.d/10_hurd.in: Add misc readability checks.
14068 * util/grub.d/10_kfreebsd.in: Likewise.
14069 * util/grub.d/10_linux.in: Likewise.
14070
c452fa66
CW
140712010-09-10 Colin Watson <cjwatson@ubuntu.com>
14072
14073 * util/grub-install.in: ${imgext} won't be defined here until the
14074 install branch is merged. For the meantime, only verify core.img on
14075 i386-pc and sparc64-ieee1275 platforms.
14076
c38fe9f4
RM
140772010-09-10 Robert Millan <rmh@gnu.org>
14078
14079 Solaris support in grub_find_zpool_from_dir(). Thanks
14080 Seth Goldberg for referring to getextmntent() facility.
14081
14082 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14083 `sys/mkdev.h'.
14084 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14085 `<sys/mnttab.h>'.
14086 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14087 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14088 method for finding zpool name.
14089
905f7773
CW
140902010-09-10 Colin Watson <cjwatson@ubuntu.com>
14091
14092 grub-fstest needs the host and hostfs modules while other utilities
14093 actively require those modules to be absent, so grub-fstest needs
14094 its own initialisation and finalisation code.
14095
14096 * Makefile.am (grub_fstest.pp): New target.
14097 (grub_fstest_init.lst): Likewise.
14098 (grub_fstest_init.c): Likewise.
14099 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14100
fb90b546
RM
141012010-09-10 Robert Millan <rmh@gnu.org>
14102
14103 * configure.ac: Check for `struct statfs.f_fstypename' and
14104 `struct statfs.f_mntfromname'.
14105
14106 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14107 kFreeBSD-specific code.
14108
66d4bea5
RM
141092010-09-10 Robert Millan <rmh@gnu.org>
14110
14111 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14112 on ZFS. Now non-main filesystems are supported as / too.
14113
b6a690ee
CW
141142010-09-09 Colin Watson <cjwatson@ubuntu.com>
14115
14116 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14117 and grub-core/disk/host.c to ...
14118 (grub-fstest): ... here. Having the host disk implementation
14119 present confuses grub-probe and other utility programs.
14120
14121 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14122 when writing to a file, not when writing to stdout.
14123
8901b00c 141242010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14125
14126 * tests/partmap_test.in: New test for partitions.
14127 * Makefile.util.def: Rules for new test.
14128
7bf45fdd
RM
141292010-09-09 Robert Millan <rmh@gnu.org>
14130
14131 * util/grub-probe.c (probe): Fix a pair of unhandled error
14132 conditions.
14133
4dfbc574
RM
141342010-09-09 Robert Millan <rmh@gnu.org>
14135
14136 Basic Btrfs support (detection and UUID).
14137
14138 * grub-core/fs/btrfs.c: New file.
14139 * Makefile.util.def (library): Register btrfs.c.
14140 * grub-core/Makefile.core.def: Likewise.
14141
6b8e78ae
RM
141422010-09-08 Robert Millan <rmh@gnu.org>
14143
14144 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14145 with (optional) parameters to specify device and relative path.
14146 * util/grub-install.in: Use is_path_readable_by_grub() to
14147 verify readability of a few critical files.
14148 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14149 verify readability of grub.cfg.new.
14150
27f21a8b
VS
141512010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 Split minix.mod into minix.mod and minix2.mod.
14154
14155 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14156 * grub-core/Makefile.core.def (minix2): New module.
14157 * grub-core/fs/minix.c: Use definitions instead of runtime version
14158 checking.
14159 * grub-core/fs/minix2.c: New file.
14160
c0e53ea5
YB
141612010-09-08 Yves Blusseau <blusseau@zetam.org>
14162
14163 Add new --boot-directory option to replace --root-directory
14164
14165 * util/grub-install.in: Add new --boot-directory option
14166 * util/grub-reboot.in: Likewise.
14167 * util/grub-set-default.in: Likewise.
14168
b9fe6ea2
YB
141692010-09-08 Yves Blusseau <blusseau@zetam.org>
14170
14171 * util/grub-mkconfig.in: Use new variable.
14172
d87aedff
YB
141732010-09-08 Yves Blusseau <blusseau@zetam.org>
14174
14175 * configure.ac: Define some useful variables.
14176
e55e8495
VS
141772010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14180 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14181 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14182 Use terminfo and don't use cursor-on/cursor-off unless it's known
14183 to work.
14184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14185 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14186
6fa6d675
CW
141872010-09-08 Colin Watson <cjwatson@ubuntu.com>
14188
14189 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14190 starts with "(,", fill the drive containing the loaded image in
14191 between those two characters, but expect that a full partition
14192 specification including partition map names will follow.
14193
92f2aef0
RM
141942010-09-08 Robert Millan <rmh@gnu.org>
14195
14196 * configure.ac: Remove `--enable-grub-fstest' option.
14197 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14198
14199 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14200 `grub-fstest' instead of `grub-probe' for readability verification.
14201 * util/grub-probe.c (probe): Remove readability verification kludge.
14202
99fd620d
RM
142032010-09-08 Robert Millan <rmh@gnu.org>
14204
14205 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14206 initializing `GRUB_FS'.
14207
058e30ac 142082010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14209
14210 Not command (!) support to GRUB script.
14211
14212 * tests/grub_script_not.in: New test.
14213 * Makefile.util.def: Rules for new test.
14214
14215 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14216 ! command as a special case.
14217 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14218
b61d05ed 142192010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14220
058e30ac 14221 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14222 grub_free.
b61d05ed 14223
4d69c786 142242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14225
14226 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14227
aa3119c4 142282010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14229
14230 * docs/grub.texi (Shell-like scripting): Documentation for break,
14231 continue, shift and return commands.
14232
db0f7e3d
VS
142332010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 Rename CD-ROM to cd on BIOS.
14236
14237 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14238 "cd".
14239 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14240
88b87c93
VS
142412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14244 * util/grub-probe.c (main): Likewise.
14245 * util/i386/pc/grub-setup.c (main): Likewise.
14246 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14247 Reported and debugged by: alexxy
14248
294f324d
VS
142492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14252 diagnostic info.
14253
d7ee3441
JS
142542010-09-05 Jo Shields <directhex@apebox.org>
14255
14256 * util/grub.d/30_os-prober.in: Add missing classes.
14257
d7e06c1f
VS
142582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * docs/grub.texi (Theme file format): Document new position format.
14261
fc157e53
VS
142622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14265 a table. Use @code instead of @verbatim.
14266
506e9a1c
CB
142672010-09-05 Colin D Bennett <colin@gibibit.com>
14268
14269 Gfxmenu documentation.
14270
14271 * docs/grub.texi (Theme file format): New chapter.
14272
f0aff67c
SJ
142732010-09-05 Szymon Janc <szymon@janc.net.pl>
14274
14275 * grub-core/Makefile.core.def (xzio): New module.
14276 * grub-core/io/xzio.c: New file.
14277 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14278 * grub-core/lib/xzembed/xz_config.h: Likewise.
14279 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14280 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14281 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14282 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14283 * grub-core/lib/xzembed/xz_private.h: Likewise.
14284 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14285 * include/grub/file.h (grub_file_filter_id): New compression filter
14286 GRUB_FILE_FILTER_XZIO.
14287
82a85062
VS
142882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14291 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14292 size.
14293
3579415d
VS
142942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14297 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14298
5124ae6d
VS
142992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 Uncompressed checksum support.
14302
14303 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14304 (check_list): New parameter uncompress.
14305 (grub_cmd_hashsum): Handle --uncompress.
14306
9aadb3d1
VS
143072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 Reintroduce testload.
14310
14311 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14312 from here ...
14313 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14314 (GRUB_MOD_INIT): New function.
14315 (GRUB_MOD_FINI): Likewise.
14316 * grub-core/Makefile.core.def (testload): New module.
14317
a17792c3
SJ
143182010-09-05 Szymon Janc <szymon@janc.net.pl>
14319
14320 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14321 (uint8_t): New type.
14322 (uint16_t): Likewise.
14323 (uint32_t): Likewise.
14324 (uint64_t): Likewise.
14325
b81e40a3
SJ
143262010-09-05 Szymon Janc <szymon@janc.net.pl>
14327
14328 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14329
fc2ef117
VS
143302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14333 Made static.
14334 (grub_gzfile_open): Removed. All users updated.
14335 (GRUB_MOD_INIT): New function.
14336 (GRUB_MOD_FINI): Likewise.
14337 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14338 (grub_file_filters_enabled): Likewise.
14339 (grub_file_open): Handle filters.
14340 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14341 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14342 * include/grub/file.h (grub_file_filter_id_t): New type.
14343 (grub_file_filter_t): Likewise.
14344 (grub_file_filters_all): New extern variable.
14345 (grub_file_filters_enabled): Likewise.
14346 (grub_file_filter_register): New inline function.
14347 (grub_file_filter_unregister): Likewise.
14348 (grub_file_filter_disable): Likewise.
14349 (grub_file_filter_disable_compression): Likewise.
14350 * include/grub/gzio.h: Removed.
14351
35ee15e0
BC
143522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14353
14354 Filename expansion support for wildcards in GRUB script.
14355
14356 * tests/grub_script_expansion.in: New test.
14357 * Makefile.util.def: Rule for new test.
14358
14359 * grub-core/commands/wildcard.c: New file, implements filename
14360 expansion support for GRUB script.
14361 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14362 * grub-core/script/argv.c: Cosmetic changes.
14363 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14364 Refactored to perform wildcard expansion on arguments.
14365 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14366 struct.
14367
14368 * tests/util/grub-shell.in: Fix quoting for read input.
14369
5f0c4aca
BC
143702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14371
14372 Support for updating environment variables with matched substrings
14373 of regexp.
14374
14375 * tests/grub_cmd_regexp.in: New test.
14376 * Makefile.util.def: Rule for new test.
14377
14378 * grub-core/commands/regexp.c: New option -s to update environment
14379 variables with regexp matches.
14380
3759a35f
SJ
143812010-09-04 Szymon Janc <szymon@janc.net.pl>
14382
14383 * include/grub/file.h (grub_file): New member not_easly_seekable.
14384 (grub_file_seekable): New inline function.
14385 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14386 easily seekable.
14387 (grub_gzio_open): Set not_easly_seekable.
14388 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14389 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14390
ed8c6dec
BC
143912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14392
14393 Support for options to appear multiple times on cmdline.
14394
14395 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14396 * grub-core/commands/extcmd.c: Support for repeatable option.
14397 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14398 repeatable option support.
14399
14400 Refactor menuentry into a regular command.
14401
14402 * grub-core/commands/menuentry.c: New file, menuentry command
14403 implementation.
14404 * grub-core/Makefile.core.def: Rule update for normal.mod.
14405 * grub-core/normal/main.c: Moved menuentry creation to
14406 grub-core/commands/menuentry.c.
14407 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14408 (grub_menu_execute_entry_real): Removed.
14409 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14410 function.
14411 (grub_script_execute_menuentry): Removed.
14412 * grub-core/script/parser.y (menuentry): Removed.
14413 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14414 * grub-core/script/yylex.l (menuentry): Removed.
14415 * include/grub/menu.h (grub_menu_init): New prototype.
14416 (grub_menu_fini): New prototype.
14417 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14418 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14419 (grub_script_execute_sourcecode): New prototype.
14420
dacd0cf0
BC
144212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14422
14423 "return" command for GRUB script functions.
14424
14425 * tests/grub_script_return.in: New test.
14426 * Makefile.util.def: Rules for new test.
14427
14428 * grub-core/script/execute.c (grub_script_return): New function.
14429 * grub-core/script/main.c: Register/unregister return commaond.
14430 * include/grub/script_sh.h (grub_script_return): New prototype.
14431
52e72f9d
BC
144322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14433
14434 "setparams" command to update positional parameters.
14435
14436 * tests/grub_script_setparams.in: New test.
14437 * Makefile.util.def: Rules for new test.
14438
14439 * grub-core/script/argv.c (grub_script_argv_make): New function.
14440 * grub-core/script/execute.c (replace_scope): New function.
14441 (grub_script_setparams): New function.
14442 * grub-core/script/lexer.c: Remove unused variables.
14443 * grub-core/script/main.c: Register/unregister setparams command.
14444 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14445 (grub_script_setparams): New prototype.
14446
25b60c91
BC
144472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14448
14449 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14450 grub_free order.
14451
37e7bf68
BC
144522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14453
14454 Support for passing block of commands as an argument to extcmds.
14455
14456 * Makefile.util.def: Rules for new test.
14457 * tests/grub_script_blockarg.in: New test.
14458 * grub-core/tests/test_blockarg.c: New file, block argument
14459 command used in the test.
14460
14461 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14462 (grub_register_extcmd_prio): New function prototype.
14463 (grub_extcmd_dispatcher): New function prototype.
14464 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14465 type.
14466 * include/grub/script_sh.h (struct grub_script): New members
14467 `children', `next_siblings' and `refcnt' for block arguments and
14468 reference counting.
14469 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14470 (grub_script_arg): New member `script' for block argument.
14471 (grub_script_argv): New member `script' for block argument.
14472 (grub_parser_param): New member `scripts' for block argument.
14473 (grub_script_mem_free): New extern function prototype.
14474 (grub_script_ref): New function prototype.
14475 (grub_script_unref): New function prototype.
14476
14477 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14478 extcmd form to support block arguments.
14479 * grub-core/script/argv.c: Block arguments support.
14480 * grub-core/script/execute.c: Likewise.
14481 * grub-core/script/lexer.c: Likewise.
14482 * grub-core/script/main.c: Likewise.
14483 * grub-core/script/script.c: Likewise.
14484 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14485 non-terminals.
14486
14487 * grub-core/commands/acpi.c: Update extcmd implementations with
14488 grub_extcmd_context_t.
14489 * grub-core/commands/cat.c: Likewise.
14490 * grub-core/commands/echo.c: Likewise.
14491 * grub-core/commands/extcmd.c: Likewise.
14492 * grub-core/commands/hashsum.c: Likewise.
14493 * grub-core/commands/hdparm.c: Likewise.
14494 * grub-core/commands/help.c: Likewise.
14495 * grub-core/commands/hexdump.c: Likewise.
14496 * grub-core/commands/i386/cpuid.c: Likewise.
14497 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14498 * grub-core/commands/i386/pc/halt.c: Likewise.
14499 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14500 * grub-core/commands/iorw.c: Likewise.
14501 * grub-core/commands/keystatus.c: Likewise.
14502 * grub-core/commands/loadenv.c: Likewise.
14503 * grub-core/commands/ls.c: Likewise.
14504 * grub-core/commands/lspci.c: Likewise.
14505 * grub-core/commands/memrw.c: Likewise.
14506 * grub-core/commands/probe.c: Likewise.
14507 * grub-core/commands/search_wrap.c: Likewise.
14508 * grub-core/commands/setpci.c: Likewise.
14509 * grub-core/commands/sleep.c: Likewise.
14510 * grub-core/disk/loopback.c: Likewise.
14511 * grub-core/hello/hello.c: Likewise.
14512 * grub-core/loader/i386/bsd.c: Likewise.
14513 * grub-core/loader/xnu.c: Likewise.
14514 * grub-core/term/gfxterm.c: Likewise.
14515 * grub-core/term/serial.c: Likewise.
14516 * grub-core/tests/lib/functional_test.c: Likewise.
14517
888d1500
BC
145182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14519
14520 Multi-line quoted strings support.
14521
14522 * grub-core/script/lexer.c (append_newline): Removed.
14523 (grub_script_lexer_yywrap): Refactored.
14524 (grub_script_lexer_init): Refactored.
14525 * grub-core/script/yylex.l (yywrap): New function.
14526 (grub_lexer_resplit): New function.
14527 (grub_lexer_unput): New function.
14528 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14529 and resplit.
14530 * tests/grub_script_echo1.in: Added few more testcases.
14531
dda060dd
VS
145322010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/kern/misc.c: Don't add abort alias in utils.
14535 Reported by: echoline.
14536
6556eba9
BC
145372010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14538
14539 Add missing files into "make dist" tarball for other platforms.
14540
14541 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14542 * conf/Makefile.common (dist_noinst_DATA): New variable.
14543 * conf/Makefile.extra-dist: Added missing make dist files.
14544 * grub-core/Makefile.core.def: Likewise.
14545
c8e7bf5f
VS
145462010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 Compress grub_prefix.
14549
14550 * grub-core/boot/i386/pc/lnxboot.S: Use
14551 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14552 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14553 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14554 GRUB_MACHINE_PREFIX_END. All users updated.
14555 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14556 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14557 + 0x40.
14558 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14559 * util/grub-mkimage.c (image_target_desc): Change data_end to
14560 prefix_end. All users updated.
14561
a7c00cdb
VS
145622010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14565 value.
14566 (grub_openbsd_boot): Likewise.
14567 (grub_netbsd_boot): Likewise.
14568 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14569 (grub_xnu_boot): Likewise.
14570
9f915872
VS
145712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 * configure.ac: Clean LIBS variable after tests.
14574
efa1bee7
CW
145752010-09-02 Colin Watson <cjwatson@ubuntu.com>
14576
14577 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14578
61d720e5
VS
145792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14582 echo if libdevmapper will be used.
14583
ef8e0ec8
IT
145842010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14585
14586 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14587 constant for the same file.
14588
03e261d8
VS
145892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14592
c2a4eba6
CW
145932010-09-02 Colin Watson <cjwatson@ubuntu.com>
14594
14595 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14596 grub-core/*.pp.
14597
9056cbf3
CW
145982010-09-02 Colin Watson <cjwatson@ubuntu.com>
14599
14600 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14601 required by the boot protocol.
14602
14603 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14604 ebp and edi members.
14605 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14606 state.ebp and state.edi.
14607 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14608 %ebp and %edi according to grub_relocator32_ebp and
14609 grub_relocator32_edi respectively.
14610 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14611 and state.edi.
14612
529cc99a
VS
146132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Add i386-pc-pxe image target.
14616
14617 * util/grub-mkimage.c (image_target_desc): New enum value
14618 IMAGE_I386_PC_PXE.
14619 (image_targets): New target i386-pc-pxe.
14620 (generate_image): Handle i386-pc-pxe image.
14621
9a093920
VS
146222010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 Fix grub_pxe_scan.
14625
14626 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14627 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14628 All users updated.
14629 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14630 (grub_pxe_pxenv): Correct type.
14631
f9cefc4e
CW
146322010-09-01 Colin Watson <cjwatson@ubuntu.com>
14633
14634 * NEWS: Document most of the important changes since 1.98.
14635
4066f57f
CW
146362010-09-01 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14639 generated manual page) a little.
14640
da2891f9
CW
146412010-09-01 Colin Watson <cjwatson@ubuntu.com>
14642
14643 * docs/grub.texi: Add myself as an author.
14644
ad717fae
VS
146452010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * Makefile.util.def (libgrub.a): Add missing sunpc.
14648 Reported by: Seth Goldberg.
14649
eefe8abd
VS
146502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 Interrupt wrapping and code simplifications.
14653
9494ef9a
VS
14654 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14655 x86_noieee1275 which are functionaly equivalent in this case.
14656 (grub-install): Make source on each platform explicit. Enable on
14657 all noemu.
14658 * gentpl.py (x86_efi_pc): Removed group.
14659 (x86_noefi): Likewise.
14660 (i386_noefi): Likewise.
14661 (x86_noieee1275): Likewise.
14662 (i386_noieee1275): Likewise.
14663 (i386_noefi_noieee1275): Likewise.
14664 (i386_pc_qemu_coreboot): Likewise.
14665 (i386_coreboot_multiboot): Likewise.
14666 (i386_pc_coreboot_multiboot_qemu): Likewise.
14667 (x86_noefi_mips): Likewise.
14668 (noieee1275): Likewise.
14669 (ieee1275_mips): Likewise.
14670 (noemu_noieee1275): Likewise.
14671 (cmos): New group.
14672 (usb): Likewise.
14673 (videoinkernel): Likewise.
14674 (videomodules): Likewise.
eefe8abd 14675 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14676 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14677 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14678 include/grub/loader.h, include/grub/msdos_partition.h,
14679 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14680 include/grub/machine/console.h, include/grub/machine/vga.h,
14681 include/grub/machine/vbe.h, include/grub/machine/init.h,
14682 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14683 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14684 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14685 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14686 * grub-core/Makefile.core.def (kernel): Explicit the source for
14687 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14688 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14689 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14690 Use videoinkernel tag.
14691 (usb): Enable on all usb.
14692 (usbserial_common): Likewise.
14693 (usbserial_pl2303): Likewise.
14694 (usbserial_ftdi): Likewise.
14695 (uhci): Enable on all x86.
14696 (ohci): Enable on all pci.
14697 (cmostest): Enable on all CMOS.
14698 (acpi): Include commands/acpi.c on all platforms.
14699 (halt): Add relevant lib/*/halt.c.
14700 (hdparm): Enable on all pci.
14701 (lspci): Likewise.
14702 (usbtest): Enable on all usb.
14703 (ata): Enable on all pci.
14704 (ata_pthru): Likewise.
14705 (usbms): Enable on all usb.
14706 (usb_keyboard): Likewise.
14707 (font): Use tag videomodules.
14708 (bufio): Likewise.
14709 (datetime): Use tag cmos. Enable on all noemu.
14710 (mmap): Use tags common and x86.
14711 (gfxterm): Use tag videomodules.
14712 (bitmap): Likewise.
14713 (bitmap_scale): Likewise.
14714 (video_fb): Likewise.
14715 (video): Likewise.
14716 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14717 adjust padding accordingly. All users updated.
14718 (grub_ohci_transaction): Fix bad format specification.
14719 (GRUB_MOD_INIT): Add asserts for struct size.
14720 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14721 (grub_alloc_td): Likewise.
14722 (grub_free_queue): Likewise.
14723 (grub_uhci_transfer): Likewise.
14724 (grub_uhci_transaction): Fix bad format specification.
14725 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14726 (grub_usb_bulk_readwrite): Likewise.
14727 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14728 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14729 Made static.
14730 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14731 Made static.
14732 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14733 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14734 Transformed into C.
14735 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14736 Moved from here ...
14737 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14738 ... here. Transformed into C. Made static.
14739 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14740 Moved from here ...
14741 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14742 ... here. Transformed into C. Made static.
14743 * grub-core/kern/i386/pc/startup.S
14744 (grub_biosdisk_check_int13_extensions): Moved from here ...
14745 * grub-core/disk/i386/pc/biosdisk.c
14746 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14747 Made static.
14748 * grub-core/kern/i386/pc/startup.S
14749 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14750 * grub-core/disk/i386/pc/biosdisk.c
14751 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14752 Transformed into C. Made static.
14753 * grub-core/kern/i386/pc/startup.S
14754 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14755 * grub-core/disk/i386/pc/biosdisk.c
14756 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14757 Transformed into C. Made static.
14758 * grub-core/kern/i386/pc/startup.S
14759 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14760 * grub-core/disk/i386/pc/biosdisk.c
14761 (grub_biosdisk_get_diskinfo_standard): ... here.
14762 Transformed into C. Made static.
14763 * grub-core/kern/i386/pc/startup.S
14764 (grub_biosdisk_get_num_floppies): Moved from here ...
14765 * grub-core/disk/i386/pc/biosdisk.c
14766 (grub_biosdisk_get_num_floppies): ... here.
14767 Transformed into C. Made static.
14768 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14769 New function.
14770 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14771 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14772 Transformed into C. Made static.
14773 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14774 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14775 Transformed into C. Made static.
14776 * grub-core/kern/i386/ieee1275/init.c: Removed.
14777 * grub-core/kern/i386/misc.S: Likewise.
14778 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14779 Splitted from here ...
14780 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14781 Transformed into C. Made static. All users updated.
14782 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14783 Transformed into C. Made static. All users updated.
14784 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14785 Moved from here...
14786 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14787 Transformed into C. Made static. All users updated.
14788 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14789 Moved from here...
14790 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14791 Transformed into C. Made static. All users updated.
14792 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14793 Removed (replaced by C version).
14794 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14795 Moved from here...
14796 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14797 Transformed into C. Made static.
14798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14799 Moved from here...
14800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14801 ... here. Transformed into C.
14802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14803 Moved from here...
14804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14805 ... here. Transformed into C.
14806 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14807 Moved from here...
14808 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14809 ... here. Transformed into C. Made static.
14810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14811 Moved from here...
14812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14813 ... here. Transformed into C.
21ed554b
VS
14814 * grub-core/kern/i386/pc/startup.S
14815 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14816 * grub-core/video/i386/pc/vbe.c
14817 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14818 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14819 Moved from here...
14820 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14821 ... here. Transformed into C.
14822 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14823 Moved from here...
14824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14825 ... here. Transformed into C.
14826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14827 Moved from here...
14828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14829 ... here. Transformed into C.
14830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14831 Moved from here...
14832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14833 ... here. Transformed into C.
14834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14835 Moved from here...
14836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14837 ... here. Transformed into C. Made static.
14838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14839 Moved from here...
14840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14841 ... here. Transformed into C. Made static.
14842 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14843 Moved from here...
14844 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14845 ... here. Transformed into C. Made static.
14846 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14847 pxe_rm_entry as third argument.
14848 (grub_bios_interrupt): New function.
14849 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14850 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14851 of calling grub_stop.
14852 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14853 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14854 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14855 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14856 * grub-core/lib/i386/halt.c: Moved from here ...
14857 * grub-core/lib/i386/halt.c: ... here.
14858 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14859 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14860 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14861 grub_stop_floppy.
14862 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14863 * include/grub/i386/coreboot/init.h: Removed.
14864 * include/grub/i386/multiboot/init.h: Likewise.
14865 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14866 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14867 * include/grub/i386/pc/int.h: New file.
14868 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14869 (grub_pxe_scan): Removed.
14870 (grub_pxe_call): Update prototype.
14871 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14872 prototypes.
14873 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14874 * include/grub/i386/qemu/init.h: Removed.
14875 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14876 noreturn.
14877 (grub_halt): Likewise.
14878 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14879 (grub_reboot): Likewise.
14880 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14881 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14882 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14883
215dd471
RM
148842010-08-30 Robert Millan <rmh@gnu.org>
14885
14886 * NEWS: Document addition of ZFS support in `grub-install' and
14887 `grub-mkconfig'.
14888
ebd65b82
BC
148892010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14890
14891 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14892 dprintf output.
14893
11721d19
VS
148942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 Remove leftover embedding of font objects.
14897
14898 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14899 * util/grub-install.in (font): Removed.
14900 * util/grub-mkimage.c (generate_image): Remove font support. All users
14901 updated.
14902
37837d4e
VS
149032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 Remove leftover embedding of font objects.
14906
14907 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14908 * util/grub-install.in (font): Removed.
14909 * util/grub-mkimage.c (generate_image): Remove font support. All users
14910 updated.
14911
b4c1aae0
VS
149122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14915 Reported by: Ian Turner
b4c1aae0 14916
8920a08d
VS
149172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14920 timeout to avoid indefinite boot stalling.
14921
f21db033
VS
149222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14925 (grub_env_write_color_highlight): Likewise.
14926
9a9de209
VS
149272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * grub-core/normal/term.c (print_more): Return to normal and not
14930 to standard state after printing "---MORE---".
14931
3dca01d7
VS
149322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14935 Mask out the bit 0x80 since it has other meaning that specifiing color.
14936
0b986c40
VS
149372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 New relocator. Allows for more kernel support and more straightforward
14940 loader writing.
14941
14942 * Makefile.am (BOOTTARGET): New variable.
14943 (QEMU32): Likewise.
14944 (linux.init.x86_64): New target.
14945 (linux.init.i386): Likewise.
14946 (multiboot.elf): Likewise.
14947 (kfreebsd.elf): Likewise.
14948 (kfreebsd.aout): Likewise.
14949 (pc-chainloader.elf): Likewise.
14950 (pc-chainloader.bin): Likewise.
14951 (ntldr.elf): Likewise.
14952 (ntldr.bin): Likewise.
14953 (multiboot2.elf): Likewise.
14954 (kfreebsd.init.x86_64): Likewise.
14955 (kfreebsd.init.i386): Likewise.
14956 (knetbsd.init.i386): Likewise.
14957 (kopenbsd.init.i386): Likewise.
14958 (knetbsd.init.x86_64): Likewise.
14959 (kopenbsd.init.x86_64): Likewise.
14960 (linux-initramfs.i386): Likewise.
14961 (linux-initramfs.x86_64): Likewise.
14962 (kfreebsd-mfsroot.i386.img): Likewise.
14963 (knetbsd.image.i386): Likewise.
14964 (kopenbsd.image.i386): Likewise.
14965 (kopenbsd.image.x86_64): Likewise.
14966 (knetbsd.miniroot-image.i386.img): Likewise.
14967 (kfreebsd-mfsroot.x86_64.img): Likewise.
14968 (knetbsd.image.x86_64): Likewise.
14969 (knetbsd.miniroot-image.x86_64.img): Likewise.
14970 (kfreebsd-mfsroot.i386.gz): Likewise.
14971 (bootcheck-kfreebsd-i386): Likewise.
14972 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14973 (bootcheck-kfreebsd-x86_64): Likewise.
14974 (knetbsd.miniroot-image.i386.gz): Likewise.
14975 (bootcheck-knetbsd-i386): Likewise.
14976 (bootcheck-kopenbsd-i386): Likewise.
14977 (bootcheck-kopenbsd-x86_64): Likewise.
14978 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14979 (bootcheck-knetbsd-x86_64): Likewise.
14980 (bootcheck-linux-i386): Likewise.
14981 (bootcheck-linux-x86_64): Likewise.
14982 (bootcheck-linux16-i386): Likewise.
14983 (bootcheck-linux16-x86_64): Likewise.
14984 (bootcheck-multiboot): Likewise.
14985 (bootcheck-multiboot2): Likewise.
14986 (bootcheck-kfreebsd-aout): Likewise.
14987 (bootcheck-pc-chainloader): Likewise.
14988 (bootcheck-ntldr): Likewise.
14989 (CLEANFILES): Add new targets.
14990 (BOOTCHECKS): New variable.
14991 (.PHONY): Add bootchecks.
14992 (SUCCESSFUL_BOOT_STRING): New variable.
14993 (BOOTCHECK_TIMEOUT): Likewise.
14994 (bootcheck): New target
14995 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14996 * configure.ac: Correct efiemu excuse.
14997 * docs/grub.texi (Supported kernels): New chapter.
14998 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14999 include/grub/mm_private.h. Simplify inclusion of
15000 include/grub/boot.h, include/grub/loader.h
15001 and include/grub/msdos_partition.h
15002 (KERNEL_HEADER_FILES) [i386_coreboot]:
15003 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15004 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15005 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15006 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15007 include/grub/machine/loader.h.
15008 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15009 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15010 extra_dist.
15011 (pci.mod): Enable on i386-multiboot.
15012 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15013 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15014 i386-qemu.
15015 (relocator.mod): Rewritten.
15016 (aout.mod): Enable on all x86.
15017 (bsd.mod): Likewise.
15018 (ntldr.mod): New module.
15019 (linux.mod): Use loader/i386/linux.c on all x86.
15020 (xnu.mod): Enable on all x86.
15021 (vga_text.mod): disable on EFI and QEMU.
15022 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15023 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15024 * grub-core/efiemu/loadcore.c: Likewise.
15025 * grub-core/efiemu/main.c: Likewise.
15026 (grub_efiemu_exit_boot_services): Removed.
15027 (grub_efiemu_finish_boot_services): Likewise.
15028 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15029 function.
15030 * grub-core/efiemu/i386/nocfgtables.c: New file.
15031 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15032 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15033 (grub_efi_finish_boot_services): Moved from here ...
15034 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15035 Fille finish memory map and related data.
15036 (finish_mmap_buf): New variable.
15037 (grub_efi_uintn_t finish_mmap_size): Likewise.
15038 (grub_efi_uintn_t finish_key): Likewise.
15039 (grub_efi_uintn_t finish_desc_size): Likewise.
15040 (grub_efi_uint32_t finish_desc_version): Likewise.
15041 (grub_efi_is_finished): Likewise.
15042 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15043 finished.
15044 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15045 (grub_elf64_phdr_iterate): Likewise.
15046 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15047 (grub_os_area_size): Likewise.
15048 (grub_machine_init): Don't reserve os area.
15049 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15050 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15051 * grub-core/kern/i386/loader.S: Removed.
15052 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15053 (grub_os_area_size): Likewise.
15054 (grub_machine_init): Don't reserve os area.
15055 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15056 Don't call grub_dl_unload_all.
15057 Don't include loader.S.
15058 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15059 Declare the memory after _end as available.
15060 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15061 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15062 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15063 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15064 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15065 * include/grub/mm_private.h (grub_mm_header): ... here.
15066 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15067 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15068 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15069 (grub_mm_region): ..here. Removed addr. Added pre_size.
15070 All users updated.
15071 * grub-core/kern/mm.c (base): Renamed to ...
15072 (grub_mm_base): ... this. Made global.
15073 (grub_real_malloc): Alloc from end of region.
15074 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15075 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15076 * grub-core/kern/powerpc/cache_flush.S: ... here.
15077 * grub-core/lib/efi/relocator.c: New file.
15078 * grub-core/lib/i386/relocator.c: Rewritten.
15079 * grub-core/lib/i386/relocator16.S: New file.
15080 * grub-core/lib/i386/relocator32.S: Likewise.
15081 * grub-core/lib/i386/relocator64.S: Likewise.
15082 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15083 * grub-core/lib/i386/relocator_common.S: New file.
15084 * grub-core/lib/ieee1275/relocator.c: Likewise.
15085 * grub-core/lib/mips/relocator.c: Rewritten.
15086 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15087 stylistic adjustments.
15088 * grub-core/lib/powerpc/relocator.c: New file.
15089 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15090 * grub-core/lib/relocator.c: Rewritten.
15091 * grub-core/lib/x86_64/relocator_asm.S: New file.
15092 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15093 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15094 (bsd_tag): New struct.
15095 (tags): New variable.
15096 (tags_last): Likewise.
15097 (netbsd_module): New struct.
15098 (netbsd_mods): New variable.
15099 (netbsd_mods_last): Likewise.
15100 (openbsd_opts): New parameter "serial".
15101 (OPENBSD_SERIAL_ARG): New definition.
15102 (netbsd_opts): New parameter "serial".
15103 (NETBSD_SERIAL_ARG): New definition.
15104 (grub_freebsd_add_meta): Reorganised into ...
15105 (grub_bsd_add_meta): ...this. All users updated.
15106 (grub_freebsd_add_mmap): Reorganised into ...
15107 (generate_e820_mmap): ...this...
15108 (grub_bsd_add_mmap): ...and this. All users updated.
15109 (grub_freebsd_list_modules): Use tags.
15110 (grub_netbsd_add_meta_module): New function.
15111 (grub_netbsd_list_modules): Likewise.
15112 (grub_freebsd_boot): Use relocator and finish EFI.
15113 (grub_openbsd_boot): Likewise.
15114 (grub_netbsd_setup_video): New function.
15115 (grub_netbsd_add_modules): Likewise.
15116 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15117 and finish EFI.
15118 (grub_bsd_unload): Unload tags.
15119 (grub_bsd_load_aout): Use relocator.
15120 (grub_bsd_elf32_size_hook): New function.
15121 (grub_bsd_elf32_hook): Use relocator.
15122 (grub_bsd_elf64_size_hook): New function.
15123 (grub_bsd_elf64_hook): Use relocator.
15124 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15125 (grub_bsd_load): Zero-out openbsd_ramdisk.
15126 (grub_bsd_load): Use relocator.
15127 (grub_cmd_openbsd): Support serial.
15128 (grub_cmd_netbsd): Support modules.
15129 (grub_cmd_freebsd_module): Use relocator.
15130 (grub_netbsd_module_load): New function.
15131 (grub_cmd_netbsd_module): Likewise.
15132 (grub_cmd_openbsd_ramdisk): Likewise.
15133 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15134 kopenbsd_ramdisk.
15135 (GRUB_MOD_FINI): Unregister new commands.
15136 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15137 (grub_freebsd_load_elfmodule_obj): Use relocator.
15138 (grub_freebsd_load_elfmodule): Likewise.
15139 (grub_freebsd_load_elf_meta): Likewise.
15140 (grub_netbsd_load_elf_meta): New function.
15141 (grub_openbsd_find_ramdisk): Likewise.
15142 * grub-core/loader/i386/bsd_helper.S: Removed.
15143 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15144 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15145 * grub-core/loader/i386/efi/linux.c: Likewise.
15146 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15147 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15148 (DEFAULT_VIDEO_MODE): Likewise.
15149 (real_mode_target): New variable.
15150 (prot_mode_target): Likewise.
15151 (initrd_mem_target): Likewise.
15152 (relocator): Likewise.
15153 (efi_mmap_buf): Likewise.
15154 (efi_mmap_size): Likewise.
15155 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15156 (free_pages): Use relocator.
15157 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15158 (grub_linux_setup_video): Return error.
15159 (grub_linux_trampoline_start): Removed.
15160 (grub_linux_trampoline_end): Likewise.
15161 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15162 andd video parameters depending on firmware.
15163 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15164 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15165 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15166 (grub_cmd_initrd): Use relocator.
15167 * grub-core/loader/i386/linux_trampoline.S: Removed.
15168 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15169 (elf_sec_entsize): Likewise.
15170 (elf_sec_shstrndx): Likewise.
15171 (elf_sections): Likewise.
15172 (grub_multiboot_load): Use relocator.
15173 (grub_multiboot_get_mbi_size): Account for sections.
15174 (grub_multiboot_make_mbi): Use relocator and support sections.
15175 (grub_multiboot_add_elfsyms): New function.
15176 (grub_multiboot_free_mbi): Free sections.
15177 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15178 (grub_linux_real_target): Likewise.
15179 (grub_linux_real_chunk): Likewise.
15180 (grub_linux16_prot_size): Likewise.
15181 (grub_linux16_boot): Use relocator.
15182 (grub_linux_unload): Unload relocator.
15183 (grub_cmd_linux): Use relocator.
15184 (grub_cmd_initrd): Likewise.
15185 * grub-core/loader/i386/pc/ntldr.c: New file.
15186 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15187 Don't try to guess CPU frequency.
15188 (grub_xnu_set_video): Stretch bitmap.
15189 (grub_xnu_boot): Use relocator.
15190 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15191 (grub_linux_unload): Free relocator.
15192 (grub_linux_load32): Use relocator.
15193 (grub_linux_load64): Likewise.
15194 (grub_cmd_initrd): Likewise.
15195 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15196 (grub_multiboot_unload): Unload relocator.
15197 (grub_cmd_multiboot): Use relocator.
15198 (grub_cmd_module): Likewise.
15199 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15200 Use relocator and support sections.
15201 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15202 (elf_sec_entsize): Likewise.
15203 (elf_sec_shstrndx): Likewise.
15204 (elf_sections): Likewise.
15205 (grub_multiboot_load): Use relocator.
15206 (grub_multiboot_get_mbi_size): Account for sections.
15207 (grub_multiboot_make_mbi): Use relocator and support sections.
15208 (grub_multiboot_add_elfsyms): New function.
15209 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15210 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15211 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15212 Prototype changed. All users updated.
15213 (grub_xnu_align_heap): Simplified.
15214 (grub_xnu_writetree_toheap): Likewise.
15215 (grub_xnu_unload): Unload relocator.
15216 (grub_cmd_xnu_kernel): Use relocator.
15217 (grub_cmd_xnu_kernel64): Likewise.
15218 (grub_xnu_register_memory): Simplified.
15219 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15220 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15221 EFI is finished.
15222 (grub_console_checkkey): Likewise.
15223 (grub_console_getkey): Likewise.
15224 (grub_console_getwh): Likewise.
15225 (grub_console_getxy): Likewise.
15226 (grub_console_gotoxy): Likewise.
15227 (grub_console_cls): Likewise.
15228 (grub_console_setcolorstate): Likewise.
15229 (grub_console_setcursor): Likewise.
15230 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15231 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15232 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15233 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15234 * grub-core/tests/boot/kernel-8086.S: Likewise.
15235 * grub-core/tests/boot/kernel-i386.S: Likewise.
15236 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15237 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15238 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15239 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15240 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15241 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15242 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15243 * grub-core/tests/boot/linux.cfg: Likewise.
15244 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15245 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15246 * grub-core/tests/boot/linux16.cfg: Likewise.
15247 * grub-core/tests/boot/multiboot.cfg: Likewise.
15248 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15249 * grub-core/tests/boot/ntldr.cfg: Likewise.
15250 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15251 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15252 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15253 New definition.
15254 * include/grub/dl.h (grub_dl_unload_all): Removed.
15255 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15256 (grub_efi_finish_boot_services): Change prototype.
15257 (grub_efi_is_finished): New variable.
15258 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15259 Changed prototype.
15260 (grub_efiemu_finish_boot_services): Removed.
15261 (grub_machine_efiemu_init_tables): New prototype.
15262 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15263 (grub_elf64_phdr_iterate): Likewise.
15264 * include/grub/i386/bsd.h: Include relocator.h.
15265 (freebsd_tag_header): New struct.
15266 (grub_openbsd_bios_mmap): Removed.
15267 (grub_unix_real_boot): Removed.
15268 (grub_freebsd_load_elfmodule32): Changed prototype.
15269 (grub_freebsd_load_elfmodule_obj64): Likewise.
15270 (grub_freebsd_load_elf_meta32): Likewise.
15271 (grub_freebsd_load_elf_meta64): Likewise.
15272 (grub_freebsd_add_meta): Removed.
15273 (grub_netbsd_load_elf_meta32): New prototype.
15274 (grub_netbsd_load_elf_meta64): Likewise.
15275 (grub_bsd_add_meta): Likewise.
15276 (grub_openbsd_ramdisk_descriptor): New struct.
15277 (grub_openbsd_find_ramdisk32): New prototype.
15278 (grub_openbsd_find_ramdisk64): Likewise.
15279 * include/grub/i386/coreboot/loader.h: Removed.
15280 * include/grub/i386/efi/loader.h: Likewise.
15281 * include/grub/i386/ieee1275/loader.h: Likewise.
15282 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15283 to grub_uint32_t.
15284 * include/grub/i386/loader.h: Removed.
15285 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15286 value.
15287 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15288 (grub_phys_addr_t): New type.
15289 (grub_vtop): New inline function.
15290 (grub_map_memory): Likewise.
15291 (grub_unmap_memory): Likewise.
15292 * include/grub/i386/multiboot/loader.h: Removed.
15293 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15294 (NETBSD_BTINFO_CONSOLE): New definition.
15295 (NETBSD_BTINFO_SYMTAB): Likewise.
15296 (NETBSD_BTINFO_MODULES): Likewise.
15297 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15298 (grub_netbsd_bootinfo): New struct.
15299 (grub_netbsd_btinfo_common): Use explicit bitsize.
15300 (grub_netbsd_btinfo_mmap_entry): Removed.
15301 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15302 (grub_netbsd_btinfo_bootdisk): New struct.
15303 (grub_netbsd_btinfo_symtab): Likewise.
15304 (grub_netbsd_btinfo_serial): Likewise.
15305 (grub_netbsd_btinfo_modules): Likewise.
15306 (grub_netbsd_btinfo_framebuf): Likewise.
15307 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15308 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15309 Likewise.
15310 (grub_openbsd_bootargs): Use explicit bitsize.
15311 (grub_openbsd_bootarg_console): New struct.
15312 (GRUB_OPENBSD_COM_MAJOR): New definition.
15313 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15314 * include/grub/i386/pc/efiemu.h: Removed.
15315 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15316 * include/grub/i386/qemu/loader.h: Removed.
15317 * include/grub/i386/relocator.h: Rewritten.
15318 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15319 * include/grub/mips/memory.h: New file.
15320 * include/grub/mips/multiboot.h: Rewritten.
15321 * include/grub/mips/relocator.h: Rewritten.
15322 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15323 (grub_vtop): New function.
15324 (grub_map_memory): Likewise.
15325 (grub_unmap_memory): Likewise.
15326 * include/grub/misc.h (ALIGN_DOWN): New definition.
15327 * include/grub/mm.h (grub_mm_check_real): New proto.
15328 (GRUB_MM_CHECK): New definition.
15329 * include/grub/mm_private.h: New file.
15330 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15331 (grub_multiboot_get_mbi_size): Removed.
15332 (grub_multiboot_make_mbi): Change prottype.
15333 (grub_multiboot_set_accepts_video): New proto.
15334 (grub_multiboot_add_elfsyms): Likewise.
15335 (grub_multiboot_payload_eip): New variable.
15336 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15337 New prototype.
15338 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15339 New definition.
15340 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15341 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15342 * include/grub/powerpc/ieee1275/loader.h: Removed.
15343 * include/grub/powerpc/memory.h: New file.
15344 * include/grub/powerpc/relocator.h: Likewise.
15345 * include/grub/relocator.h: Likewise.
15346 * include/grub/relocator_private.h: Likewise.
15347 * include/grub/sparc64/ieee1275/loader.h: Removed.
15348 * include/grub/x86_64/memory.h: New file.
15349 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15350 (grub_xnu_heap_malloc): Likewise.
15351 (grub_xnu_heap_real_start): Removed.
15352 (grub_xnu_heap_start): Likewise.
15353 (grub_xnu_relocator): New variable.
15354 (grub_xnu_heap_target_start): Likewise.
15355 * tests/util/grub-shell.in: Support non-pc.
15356 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15357
5303b85d
VS
153582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15361 on malloc error.
15362 (grub_bidi_logical_to_visual): Check that malloc succeded.
15363 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15364 puts.
15365 (grub_xputs_normal): Likewise.
15366
d768d159
VS
153672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15370 extra_dist.
15371
153722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15375
5bf84df4
VS
153762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15379
3626810e
VS
153802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15383 dprintf.
15384
a7363f53
BC
153852010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15386
15387 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15388
902f75f6
VS
153892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/normal/term.c (print_more): Fix a memory leak.
15392 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15393 (grub_xputs_normal): Likewise.
15394
3c707967
VS
153952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15398 the begining of the string
15399
2053cc07
VS
154002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * grub-core/script/script.c (grub_script_parse): Free parsed on
15403 failure.
15404
46422ebf
VS
154052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15408 on failure.
15409
9e0fa3f6
VS
154102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15413 return.
15414
3393cf16
VS
154152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15418 (scroll_up): Fix a memory leak.
15419
b17540cb
VS
154202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15423 errors.
15424
67140446
VS
154252010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 Handle USB pendrives exposed as floppies.
15428
15429 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15430 floppy.
15431 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15432 Check for partitions on all devices.
15433
e35e46fc
VS
154342010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15437 (readkey): Likewise.
15438
d24c6190
BC
154392010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15440
15441 Multiple variable names support to "export" command.
15442
15443 * normal/context.c (grub_cmd_export): "export" command supports
15444 multiple variable names.
15445
04ddcc6a
ST
154462010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15447
15448 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15449 --target=drive output to Mach device name.
15450
0c8b61d8
BC
154512010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15452
15453 New Automake based build system for GRUB.
15454
15455 * ABOUT-NLS: New file.
15456 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15457 in Makefile.util.def file.
15458 * Makefile.util.def: New file. Autogen build definitions file for
15459 GRUB host utils.
15460 * conf/Makefile.common: New file. Common variables for GRUB host
15461 utils and target modules.
15462 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15463 * docs/Makefile.am: New file. Automake file for docs.
15464 * gentpl.py: New file. Python script to generate Autogen
15465 template.
15466 * grub-core/Makefile.am: New file. GRUB target modules' rules
15467 that doesn't fit in Makefile.core.def file.
15468 * grub-core/Makefile.core.def: New file. Autogen build
15469 definitions file for GRUB target modules.
15470 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15471 specific setjmp.S file.
15472 * po/Makefile.am: New file.
15473
15474 * .bzrignore: New ignores.
15475 * INSTALL: New requirements, without Ruby.
15476 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15477 * autogen.sh: Updated to invoke autogen as necessary.
15478 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15479 and defines for Automake conditionals.
15480 * geninit.sh: Refactoring.
15481
15482 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15483 necessary.
15484 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15485 New prototype.
15486
15487 * include/grub/test.h: Fix functional test modules' naming.
15488 * grub-core/tests/example_functional_test.c: Fix test module name.
15489
15490 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15491 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15492 * util/grub-editenv.c: Likewise.
15493 * util/grub-fstest.c: Likewise.
15494 * util/grub-mkdevicemap.c: Likewise.
15495 * util/grub-mkfont.c: Likewise.
15496 * util/grub-mkimage.c: Likewise.
15497 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15498 * util/grub-probe.c: Likewise.
15499 * util/grub-script-check.c: Likewise.
15500 * util/i386/pc/grub-setup.c: Likewise.
15501 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15502
15503 * tests/util/grub-shell.in: Fix override directory path.
15504 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15505 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15506
15507 * util/lvm.c: Update #includes.
15508 * util/raid.c: Likewise.
15509 * util/resolve.c: Likewise.
15510 * grub-core/bus/emu/pci.c: Likewise.
15511 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15512 * grub-core/lib/posix_wrap/string.h: Likewise.
15513 * grub-core/kern/emu/main.c: Likewise.
15514
15515 * grub-core/gensymlist.sh: New file. Script for generating kernel
15516 symbols file.
15517 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15518
15519 * grub-core/gentrigtables.c: Fix unused variable warnings.
15520
15521 * Makefile.in: Removed.
15522 * conf/any-emu.rmk: Removed.
15523 * conf/common.rmk: Removed.
15524 * conf/i386-coreboot.rmk: Removed.
15525 * conf/i386-efi.rmk: Removed.
15526 * conf/i386-ieee1275.rmk: Removed.
15527 * conf/i386-multiboot.rmk: Removed.
15528 * conf/i386-pc.rmk: Removed.
15529 * conf/i386-qemu.rmk: Removed.
15530 * conf/i386.rmk: Removed.
15531 * conf/mips-yeeloong.rmk: Removed.
15532 * conf/mips.rmk: Removed.
15533 * conf/powerpc-ieee1275.rmk: Removed.
15534 * conf/sparc64-ieee1275.rmk: Removed.
15535 * conf/tests.rmk: Removed.
15536 * conf/x86-efi.rmk: Removed.
15537 * conf/x86_64-efi.rmk: Removed.
15538 * gendistlist.sh: Removed.
15539 * geninitheader.sh: Removed.
15540 * genkernsyms.sh.in: Removed.
15541 * genmk.rb: Removed.
15542 * gensymlist.sh.in: Removed.
15543 * mkinstalldirs: Removed.
15544 * boot: Moved ...
15545 * grub-core/boot: ... to here.
15546 * bus: Moved ...
15547 * grub-core/bus: ... to here.
15548 * commands: Moved ...
15549 * grub-core/commands: ... to here.
15550 * disk: Moved ...
15551 * grub-core/disk: ... to here.
15552 * efiemu: Moved ...
15553 * grub-core/efiemu: ... to here.
15554 * font: Moved ...
15555 * grub-core/font: ... to here.
15556 * fs: Moved ...
15557 * grub-core/fs: ... to here.
15558 * gencmdlist.sh: Moved ...
15559 * grub-core/gencmdlist.sh: ... to here.
15560 * genemuinit.sh: Moved ...
15561 * grub-core/genemuinit.sh: ... to here.
15562 * genemuinitheader.sh: Moved ...
15563 * grub-core/genemuinitheader.sh: ... to here.
15564 * genfslist.sh: Moved ...
15565 * grub-core/genfslist.sh: ... to here.
15566 * genhandlerlist.sh: Moved ...
15567 * grub-core/genhandlerlist.sh: ... to here.
15568 * genmoddep.awk: Moved ...
15569 * grub-core/genmoddep.awk: ... to here.
15570 * genmodsrc.sh: Moved ...
15571 * grub-core/genmodsrc.sh: ... to here.
15572 * genpartmaplist.sh: Moved ...
15573 * grub-core/genpartmaplist.sh: ... to here.
15574 * genparttoollist.sh: Moved ...
15575 * grub-core/genparttoollist.sh: ... to here.
15576 * genterminallist.sh: Moved ...
15577 * grub-core/genterminallist.sh: ... to here.
15578 * gentrigtables.c: Moved ...
15579 * grub-core/gentrigtables.c: ... to here.
15580 * genvideolist.sh: Moved ...
15581 * grub-core/genvideolist.sh: ... to here.
15582 * gettext: Moved ...
15583 * grub-core/gettext: ... to here.
15584 * gfxmenu: Moved ...
15585 * grub-core/gfxmenu: ... to here.
15586 * gnulib: Moved ...
15587 * grub-core/gnulib: ... to here.
15588 * hello: Moved ...
15589 * grub-core/hello: ... to here.
15590 * hook: Moved ...
15591 * grub-core/hook: ... to here.
15592 * io: Moved ...
15593 * grub-core/io: ... to here.
15594 * kern: Moved ...
15595 * grub-core/kern: ... to here.
15596 * lib: Moved ...
15597 * grub-core/lib: ... to here.
15598 * loader: Moved ...
15599 * grub-core/loader: ... to here.
15600 * mmap: Moved ...
15601 * grub-core/mmap: ... to here.
15602 * normal: Moved ...
15603 * grub-core/normal: ... to here.
15604 * partmap: Moved ...
15605 * grub-core/partmap: ... to here.
15606 * parttool: Moved ...
15607 * grub-core/parttool: ... to here.
15608 * script: Moved ...
15609 * grub-core/script: ... to here.
15610 * term: Moved ...
15611 * grub-core/term: ... to here
15612 * tests/example_functional_test.c: Moved ...
15613 * grub-core/tests/example_functional_test.c: ... to here.
15614 * tests/lib/functional_test.c: Moved ...
15615 * grub-core/tests/lib/functional_test.c: ... to here.
15616 * tests/lib/test.c: Moved ...
15617 * grub-core/tests/lib/test.c: ... to here.
15618 * video: Moved ...
15619 * grub-core/video: ... to here.
15620
645586e6
BC
156212010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15622
15623 Replace --enable-grub-emu-modules with grub-emu-lite.
15624
15625 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15626 cache.S.
15627
15628 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15629 * kern/emu/full.c: New file. For grub-emu specific initialization.
15630 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15631 * kern/emu/main.c: Call initialization function grub_emu_init.
15632
15633 * Makefile.in: Include grub-emu-lite in install.
15634 * commands/parttool.c: Use grub_no_autoload to differentiate
15635 between grub-emu and grub-emu-lite.
15636 * include/grub/misc.h: New variable grub_no_autoload.
15637
15638 * conf/any-emu.rmk: New rules for grub-emu-lite.
15639 * configure.ac: Remove --enable-grub-emu-modules.
15640 * genmk.rb: Cleanup unnecessary rules.
15641 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15642
15643 * normal/main.c: Don't load list files on grub-emu-lite.
15644 * util/misc.c (grub_arch_sync_caches): Removed.
15645
f86a4030
CW
156462010-08-23 Colin Watson <cjwatson@ubuntu.com>
15647
15648 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15649 grub-mkimage rather than grub-mkelfimage.
15650 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15651
06776944
VS
156522010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15655 a key after CapsLock or NumLock. It's just a qemu bug.
15656
df262419
VS
156572010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15660 needed by libusb wrapper.
15661
b40ea81b
ST
156622010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15663
15664 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15665
dee50575
VS
156662010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15669 --nounzip is passed.
15670
fb1d7b79
VS
156712010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 USB hotunplugging and USB serial support.
15674
15675 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15676 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15677 (grub_uhci_transfer): Respect timeout and set *actual.
15678 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15679 non-standard length.
15680 (grub_usb_device_attach): Autoload modules.
15681 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15682 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15683 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15684 users updated.
15685 (grub_usb_add_hub): Fill nports and children.
15686 (attach_root_port): Receive hub instead of controller.
15687 All users updated. Fill hub->devices.
15688 (grub_usb_root_hub): Allocate hub->devices.
15689 (detach_device): New function.
15690 (poll_nonroot_hub): Fill children and detach devices.
15691 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15692 actual arguments. All users updated.
15693 (grub_usb_bulk_read_extended): New function.
15694 * bus/usb/serial/common.c: New file.
15695 * bus/usb/serial/ftdi.c: Likewise.
15696 * bus/usb/serial/pl2303.c: Likewise.
15697 * commands/terminal.c (handle_command): Support wildcard.
15698 * commands/usbtest.c: Output "Unknown" instead of empty string.
15699 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15700 (usbserial_common_mod_SOURCES): New variable.
15701 (usbserial_common_mod_CFLAGS): Likewise.
15702 (usbserial_common_mod_LDFLAGS): Likewise.
15703 (pkglib_MODULES): Add usbserial_pl2303.mod.
15704 (usbserial_pl2303_mod_SOURCES): New variable.
15705 (usbserial_pl2303_mod_CFLAGS): Likewise.
15706 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15707 (pkglib_MODULES): Add usbserial_ftdi.mod.
15708 (usbserial_ftdi_mod_SOURCES): New variable.
15709 (usbserial_ftdi_mod_CFLAGS): Likewise.
15710 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15711 (pkglib_MODULES): Add serial.mod.
15712 (serial_mod_SOURCES): New variable.
15713 (serial_mod_CFLAGS): Likewise.
15714 (serial_mod_LDFLAGS): Likewise.
15715 * conf/i386-pc.rmk: Likewise.
15716 * conf/mips-yeeloong.rmk: Likewise.
15717 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15718 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15719 * disk/usbms.c (first_available_slot): New variable.
15720 (grub_usbms_attach): Don't reuse free slots due to potential cache
15721 problems.
15722 * include/grub/serial.h: Moved to ..
15723 * include/grub/ns8250.h: ...this.
15724 * include/grub/serial.h: New file.
15725 * include/grub/term.h (grub_term_poll_usb): New variable.
15726 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15727 readkey. All users updated.
15728 (grub_terminfo_output_state): Pass term to put.
15729 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15730 (grub_usb_controller_dev): Add timeout and actual arguments to
15731 transfer. All users updated.
15732 (grub_usb_interface): New field detach_data.
15733 (grub_usb_device): New fields children and nports.
15734 (grub_usb_ep_type_t): New type.
15735 (grub_usb_get_ep_type): New function.
15736 (grub_usb_bulk_read_extended): Likewise.
15737 * include/grub/usbdesc.h (grub_usb_desc): New type.
15738 * include/grub/usbserial.h: New file.
15739 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15740 * kern/term.c (grub_term_poll_usb): New variable.
15741 (grub_getkey): Call grub_term_poll_usb if set.
15742 (grub_checkkey): Likewise.
15743 (grub_getkeystatus): Likewise.
15744 * term/serial.c: Moved controller-specific parts to ...
15745 * term/ns8250.c: ... here.
15746 * term/serial.c: Mostly rewritten.
15747 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15748 according to spec.
15749
21a313de
RM
157502010-08-20 Robert Millan <rmh@gnu.org>
15751
15752 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15753 a separate module and maybe other interesting combinations.
15754
15755 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15756 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15757 (kfreebsd_entry): Add generic filesystem module load routine.
15758 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15759
63c734a6
CW
157602010-08-20 Colin Watson <cjwatson@ubuntu.com>
15761
15762 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15763 "numcenter" (I misunderstood the purpose of this entry).
15764 * docs/grub.texi (sendkey): Likewise.
15765
c4d16542
CW
157662010-08-20 Colin Watson <cjwatson@ubuntu.com>
15767
15768 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15769 status flag options; simply omitting the option is equivalent and
15770 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15771 (keysym_table): Rename "num5numlock" to "numlock".
15772 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15773 can uniformly say that only the last of multiple `sendkey'
15774 invocations has any effect.
15775 * docs/grub.texi (sendkey): New section.
15776
93541d66
CW
157772010-08-19 Colin Watson <cjwatson@ubuntu.com>
15778
15779 * commands/i386/pc/sendkey.c (options): Fix three typos.
15780
b4ece5e1
VS
157812010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 Implement sendkey support.
15784
15785 * commands/i386/pc/sendkey.c: New file.
15786 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15787 (sendkey_mod_SOURCES): New variable.
15788 (sendkey_mod_CFLAGS): Likewise.
15789 (sendkey_mod_LDFLAGS): Likewise.
15790
51f1f5af
CW
157912010-08-18 Colin Watson <cjwatson@ubuntu.com>
15792
15793 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15794 fix warnings from Autoconf.
15795
9da94e05
CW
157962010-08-18 Colin Watson <cjwatson@ubuntu.com>
15797
15798 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15799 to avoid false positives with some assemblers that output things
15800 like "someprefix_func" as part of their output.
15801
729a0f2e
RM
158022010-08-15 Robert Millan <rmh@gnu.org>
15803
15804 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15805 errors.
15806 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15807 grub_get_libzfs_handle() errors.
15808
f3710e08
RM
158092010-08-14 Robert Millan <rmh@gnu.org>
15810
15811 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15812 filesystem is not ZFS.
15813
7a3c13de
BC
158142010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15815
15816 Fix for misspelled color names defaulting to black/black (bug
15817 reported by Doug Nazar)
15818
15819 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15820 status to prototype.
15821 * normal/color.c (grub_parse_color_name_pair): Return failure
15822 status.
15823 (grub_env_write_color_normal): Ignore bad color names.
15824 (grub_env_write_color_highlight): Likewise.
15825 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15826
ab8ba50d
BC
158272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15828
15829 "shift" command support to GRUB script.
15830
15831 * include/grub/script_sh.h (grub_script_shift): New prototype.
15832 * script/execute.c (grub_script_shift): New function.
15833 * script/main.c (grub_script_init): Register shift command.
15834 (grub_script_fini): Unregister shift command.
15835 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15836
15837 * tests/grub_script_shift.in: New testcase.
15838 * conf/tests.rmk: Rules for new testcase.
15839
4d61999e
BC
158402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15841
15842 "continue" command support to GRUB script.
15843
15844 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15845 (grub_script_break): Continue support.
15846 * script/main.c (grub_script_init): Register continue command.
15847 (grub_script_fini): Unregister continue command.
15848
15849 * tests/grub_script_continue.in: New testcase.
15850 * conf/tests.rmk: Rules for new testcase.
15851
4df51e00
BC
158522010-08-12 BVK Chaitanya <bvk@dbook>
15853
15854 "break" command support to GRUB script.
15855
15856 * conf/common.rmk: Rule updates to grub-script-check.
15857 * include/grub/misc.h (grub_min): New function.
15858 * include/grub/script_sh.h (grub_script_init): New prototype.
15859 (grub_script_fini): New prototype.
15860 (grub_script_break): New prototype.
15861 * script/main.c (grub_script_init): New function.
15862 (grub_script_fini): New function.
15863 * script/execute.c (grub_script_break): New function.
15864 * normal/main.c: Calls to grub_script_{init,fini}.
15865 * util/grub-script-check.c (grub_script_break): New function.
15866
15867 * tests/grub_script_break.in: New testcase.
15868 * conf/tests.rmk: Rules for new test case.
15869
f12c8420
BC
158702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15871
15872 Function parameters support to GRUB script.
15873
15874 * script/yylex.l (VARIABLE): Regular expression update.
15875 * script/function.c (grub_script_function_call): Moved ...
15876 * script/execute.c (grub_script_function_call): ... to here.
15877 (grub_script_execute_arglist_to_argv): Removed.
15878 (grub_script_arglist_to_argv): New function.
15879 * script/argv.c: New file.
15880 (grub_script_argv_free): New function.
15881 (grub_script_argv_next): Likewise.
15882 (grub_script_argv_append): Likewise.
15883 (grub_script_argv_split_append): Likewise.
15884 * include/grub/script_sh.h (grub_script_argv): New struct.
15885 (grub_script_argv_free): New function.
15886 (grub_script_argv_next): Likewise.
15887 (grub_script_argv_append): Likewise.
15888 (grub_script_argv_split_append): Likewise.
15889
15890 * conf/common.rmk (normal.mod): New source script/argv.c.
15891
15892 * tests/grub_script_echo1.in: More tests.
15893 * tests/grub_script_vars1.in: Likewise.
15894 * tests/grub_script_functions.in: New test case.
15895 * conf/tests.rmk: Rules for new testcase.
15896
8022b748
BC
158972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15898
15899 Remove grub_script_cmdblock struct.
15900
15901 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15902 * script/parser.y: Likewise.
15903 * script/execute.c: Rename cmdblock suffix to cmdlist.
15904 * script/script.c: Likewise.
15905 * util/grub-script-check.c: Likewise.
15906
79a6ba61
YB
159072010-08-11 Yves Blusseau <blusseau@zetam.org>
15908
15909 * .bzrignore: add grub-macho2img
15910
d04b9414
VS
159112010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15914
f947ab49
VS
159152010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 Remove the dump of sm712 initialisation sequence.
15918
15919 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15920 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15921 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15922 (GRUB_VGA_CR_*): Added many registers.
15923 (GRUB_VGA_SR_*): Likewise.
15924 (GRUB_VGA_GR_*): Likewise.
15925 (grub_vga_write_arx): New function.
15926 (grub_video_hw_config): New struct.
15927 (grub_vga_set_geometry): New function.
15928 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15929 GRUB_PCI_CLASS_SUBCLASS_VGA.
15930 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15931 * video/sm712.c (grub_sm712_write_reg): New function
15932 (grub_sm712_read_reg): Likewise.
15933 (grub_sm712_sr_write): Likewise.
15934 (grub_sm712_gr_write): Likewise.
15935 (grub_sm712_cr_write): Likewise.
15936 (grub_sm712_write_arx): Likewise.
15937 (grub_sm712_cr_shadow_write): Likewise.
15938 (grub_sm712_write_dda_lookup): Likewise.
15939 (grub_video_sm712_setup): Initialise the video rather then
15940 blindly replay the dump.
15941 (main) [TEST]: Add a routine to be able to compile as standalone for
15942 tests.
15943 * video/sm712_init.c (sm712_init): Removed.
15944 (sm712_sr_seq1): New array.
15945 (sm712_sr_seq2): Likewise.
15946
f0206638
VS
159472010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * include/grub/vga.h: Add missing grub/pci.h include.
15950
2764da3b
YB
159512010-08-10 Yves Blusseau <blusseau@zetam.org>
15952
15953 * util/grub-macho2img.c (main): fix typo
15954
cf0c775e
VS
159552010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15958 (grub_vga_gr_read): Likewise.
15959 (grub_vga_cr_write): Likewise.
15960 (grub_vga_cr_read): Likewise.
15961 (grub_vga_sr_write): Likewise.
15962 (grub_vga_sr_read): Likewise.
15963 (grub_vga_palette_read): Likewise.
15964 (grub_vga_palette_write): Likewise.
15965 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15966 (grub_sm712_sr_read): New function.
15967 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15968 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15969
07f360e9
RM
159702010-08-09 Robert Millan <rmh@gnu.org>
15971
15972 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15973 out unused variables on non-ZFS build.
15974
346c2072
RM
159752010-08-08 Robert Millan <rmh@gnu.org>
15976
15977 Fix path generation for sub-filesystems in ZFS.
15978
15979 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15980 missing slash.
15981
71175420
RM
159822010-08-08 Robert Millan <rmh@gnu.org>
15983
15984 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15985
0d8286f3
RM
159862010-08-08 Robert Millan <rmh@gnu.org>
15987
15988 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15989 exist, issue a proper error message (rely on `ls' for translated
15990 strings).
15991
55dd2924
RM
159922010-08-08 Robert Millan <rmh@gnu.org>
15993
15994 Fix grub-probe invocation.
15995
15996 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15997
d3dd9e80
RM
159982010-08-04 Robert Millan <rmh@gnu.org>
15999
16000 * configure.ac: Remove checks for getfsstat() and getmntany().
16001 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16002 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16003 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16004 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16005 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16006 function.
16007 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16008 via find_mount_point_from_dir() and getfsstat() / getmntany().
16009
0de22aa9
RM
160102010-08-04 Robert Millan <rmh@gnu.org>
16011
16012 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16013 (grub_find_zpool_from_mount_point): Merge into ...
16014 (grub_find_zpool_from_dir): ... this.
16015 * kern/emu/misc.c: Likewise.
16016
16017 * kern/emu/misc.c
16018 (grub_make_system_path_relative_to_its_root): Replace
16019 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16020 with grub_find_zpool_from_dir().
16021 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16022
62858144
RM
160232010-08-04 Robert Millan <rmh@gnu.org>
16024
16025 Support OpenSolaris in ZFS device resolution.
16026
16027 * configure.ac: Check for getmntany().
16028 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16029 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16030 support.
16031
9dd6fd50
RM
160322010-08-03 Robert Millan <rmh@gnu.org>
16033
16034 Fix grub-emu build.
16035
16036 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16037 * include/grub/emu/misc.h: ... here.
16038
16039 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16040 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16041
16042 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16043 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16044 (grub_get_libzfs_handle): Move to ...
16045 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16046 (grub_get_libzfs_handle): ... here.
16047
c9f7ff97
BC
160482010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16049
16050 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16051 as command name case.
16052
a870a783
CW
160532010-08-02 Colin Watson <cjwatson@ubuntu.com>
16054
16055 * disk/raid.c (insert_array): Select unique numbers for named arrays
16056 as well, for use as keys in the disk cache.
16057
c7db243b
RM
160582010-08-01 Robert Millan <rmh@gnu.org>
16059
16060 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16061 kFreeBSD device name, except on ZFS where the filesystem label is
16062 used.
16063 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16064 `/boot/zfs/zpool.cache'.
16065 Set mountfrom kernel variable using ${kfreebsd_device}.
16066
f7abdefb
RM
160672010-08-01 Robert Millan <rmh@gnu.org>
16068
16069 Make it even harder to use uninitialized `libzfs_handle' (and
16070 make the interface a bit simpler).
16071
16072 * include/grub/util/misc.h (grub_util_init_libzfs)
16073 (libzfs_handle): Remove.
16074 (grub_get_libzfs_handle): New prototype.
16075
16076 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16077 attribute.
16078 (grub_util_init_libzfs): Remove.
16079 (grub_get_libzfs_handle): New function.
16080
16081 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16082 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16083 accessing `libzfs_handle' directly.
16084
c882acc0
RM
160852010-08-01 Robert Millan <rmh@gnu.org>
16086
16087 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16088 (grub_find_zpool_from_mount_point): New function prototypes.
16089
16090 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16091 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16092
16093 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16094 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16095 `static' attribute.
16096
16097 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16098 finding zpool from mount point into ...
16099 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16100
16101 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16102 requested path is part of a ZFS pool, use
16103 grub_find_zpool_from_mount_point() to detect its filesystem name,
16104 and generate a path with `/fsname@path' syntax.
16105
8bfe31d8
CW
161062010-08-01 Colin Watson <cjwatson@ubuntu.com>
16107
16108 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16109 (void) rather than () so that this is a proper prototype.
16110
553df63d
VS
161112010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16114
8687cf07
VS
161152010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16118 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16119
ea9be8ea
CW
161202010-08-01 Colin Watson <cjwatson@ubuntu.com>
16121
16122 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16123
6eea041a
CW
161242010-08-01 Colin Watson <cjwatson@ubuntu.com>
16125
16126 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16127
2cfb45df
CW
161282010-08-01 Colin Watson <cjwatson@ubuntu.com>
16129
16130 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16131 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16132 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16133 disable gfxpayload.
16134 (Shell-like scripting): Add real content.
16135 (Serial terminal): Suggest `terminal_input serial; terminal_output
16136 serial' rather than putting the two commands on separate lines,
16137 since console input will be inoperative after the first command.
16138 (menuentry): Document --class, --users, and --hotkey options.
16139 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16140 Vladimir Serbinenko).
16141
7decd202
VS
161422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
161432010-08-01 Colin Watson <cjwatson@ubuntu.com>
16144
16145 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16146
c882acc0
RM
161472010-08-01 Robert Millan <rmh@gnu.org>
16148
16149 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16150 (grub_find_zpool_from_mount_point): New function prototypes.
16151
16152 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16153 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16154
16155 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16156 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16157 `static' attribute.
16158
16159 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16160 finding zpool from mount point into ...
16161 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16162
16163 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16164 requested path is part of a ZFS pool, use
16165 grub_find_zpool_from_mount_point() to detect its filesystem name,
16166 and generate a path with `/fsname@path' syntax.
16167
deb0caa3
RM
161682010-08-01 Robert Millan <rmh@gnu.org>
16169
16170 Prevent accidental use of uninitialized libzfs_handle.
16171
16172 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16173 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16174 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16175
ce04ef47
CW
161762010-08-01 Colin Watson <cjwatson@ubuntu.com>
16177
16178 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16179 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16180
ebf53056
RM
161812010-08-01 Robert Millan <rmh@gnu.org>
16182
16183 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16184
3710bb6b
RM
161852010-07-31 Robert Millan <rmh@gnu.org>
16186
16187 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16188
8072efeb
RM
161892010-07-31 Robert Millan <rmh@gnu.org>
16190
16191 * kern/emu/misc.c: Add missing license header.
16192
3169f4c7
RM
161932010-07-31 Robert Millan <rmh@gnu.org>
16194
16195 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16196
16197 * include/grub/util/libnvpair.h: Include `<config.h>'.
16198 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16199 declaring libnvpair prototypes ourselves.
16200 * include/grub/util/libzfs.h: Include `<config.h>'.
16201 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16202 declaring libzfs prototypes ourselves.
16203
16204 (libzfs_handle): Moved to ...
16205 * include/grub/util/misc.h (libzfs_handle): ... here.
16206 Include `<grub/util/libzfs.h>'.
16207
c9a00aee
RM
162082010-07-30 Robert Millan <rmh@gnu.org>
16209
16210 * include/grub/emu/misc.h: Add missing license header.
16211
a184f9c8
RM
162122010-07-30 Robert Millan <rmh@gnu.org>
16213
16214 Enable `grub-probe -t device' resolution on ZFS.
16215
16216 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16217 * include/grub/util/libnvpair.h: New file.
16218 * include/grub/util/libzfs.h: New file.
16219
16220 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16221 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16222 `<grub/util/libnvpair.h>'.
16223 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16224
16225 (find_mount_point_from_dir): New static function.
16226 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16227 function.
16228 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16229 find_root_device_from_libzfs() before ressorting to find_root_device().
16230
16231 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16232 prototype.
16233 * util/misc.c: Include `<grub/util/libzfs.h>'.
16234 (grub_util_init_libzfs): New function.
16235 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16236 [HAVE_LIBZFS] (fini_libzfs): New static function.
16237 (grub_util_init_libzfs): New function.
16238 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16239
f7790cdd
RM
162402010-07-30 Robert Millan <rmh@gnu.org>
16241
16242 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16243 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16244 `warn_unused_result' attribute.
16245 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16246 (grub_xasprintf, grub_xvasprintf): Likewise.
16247 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16248
0806b63c
RM
162492010-07-29 Robert Millan <rmh@gnu.org>
16250
16251 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16252 (probe): Handle `PRINT_FS_LABEL'.
16253 (main): Handle `-t fs_label'.
16254
9f841f5c
RM
162552010-07-29 Robert Millan <rmh@gnu.org>
16256
16257 * configure.ac: Remove grub-mkisofs checks.
16258
46371121
VS
162592010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16260
16261 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16262 Reported by: Lennart Sorensen.
16263
162642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16267 prior to terminal_input/terminal_output separation. It's been over 1.5
16268 years and those versions weren't widely deployed.
16269
a9600892
CW
162702010-07-22 Colin Watson <cjwatson@ubuntu.com>
16271
16272 * disk/raid.c (insert_array): Don't count named arrays when looking
16273 for unused array numbers.
697e053c 16274 Reported and tested by: Michael Guntsche.
a9600892 16275
c03507df
CW
162762010-07-20 Colin Watson <cjwatson@ubuntu.com>
16277
16278 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16279 implementation of this so that grub-emu links again, with a note
16280 that this should support hotplugging in the future.
16281
b26f1c11
CW
162822010-07-20 Colin Watson <cjwatson@ubuntu.com>
16283
16284 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16285
efc9d7f1
CW
162862010-07-20 Colin Watson <cjwatson@ubuntu.com>
16287
16288 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16289 handle on failure.
16290 (grub_loopback_close): Remove empty function.
16291 (grub_loopback_dev): Remove close method.
16292
dd8ff5c9
CW
162932010-07-20 Colin Watson <cjwatson@ubuntu.com>
16294
16295 Disable EFI cursor when the EFI console becomes inactive.
16296
16297 * term/efi/console.c (grub_efi_console_init): New function.
16298 (grub_efi_console_fini): New function.
16299 (grub_console_term_output): Register init and fini methods.
16300
5e3bec67
VS
163012010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16304 sh script.
16305
afaec079
VS
163062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * disk/loopback.c (grub_loopback): Replace filename with file.
16309 (delete_loopback): Handle new semantics.
16310 (grub_cmd_loopback): Likewise.
16311 (grub_loopback_iterate): Likewise.
16312 (grub_loopback_close): Likewise.
16313
a6a11f3c
VS
163142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16317 with -p "".
16318 Reported by: Tito Keitel.
16319
64a638b0
VS
163202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * docs/grub.texi (Naming convention): Document new naming convention.
16323
ab8ba957
VS
163242010-07-20 Vadim Solomin <vadic052@gmail.com>
163252010-07-20 Colin Watson <cjwatson@ubuntu.com>
16326
16327 Generate device.map in something closer to the old ordering.
16328
16329 * util/deviceiter.c (struct device): New declaration.
16330 (compare_file_names): Rename to ...
16331 (compare_devices): ... this. Sort by kernel name in preference to
16332 the stable by-id name, but keep the latter as a fallback comparison.
16333 Update header comment.
16334 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16335 of `struct device' rather than of plain file names.
16336
a29d6a4b
TF
163372010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16338
16339 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16340 on i386.
16341
39d824e8
VS
163422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16345 hardcoding size.
16346 (setv1table): Likewise.
16347
f058276b
FZ
163482010-07-20 Colin Watson <cjwatson@ubuntu.com>
16349
16350 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16351 removing the homehost if present.
16352 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16353 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16354 removing the homehost if present.
16355 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16356 if possible.
16357 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16358
16359 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16360 parameter. Set its pointer target to 0.
16361 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16362 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16363 `data_offset' value from the superblock for 1.x metadata.
16364 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16365 data on the device.
16366 (insert_array): Record the start sector of data on the device.
16367 (grub_raid_register): Pass start_sector parameters to
16368 grub_raid_list->detect and insert_array.
16369 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16370 member.
16371 (struct grub_raid): Add start_sector parameter to `detect'.
16372
16373 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16374 __attribute__ ((packed)), leaving a comment.
16375 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16376 (grub_mdraid_detect_09): ... here and ...
16377 (grub_mdraid_detect_1x): ... here.
16378
163792010-07-20 Peter Henn <peter.henn@web.de>
16380
16381 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16382 chunk size and disk size, which are already given as sector counts
16383 as distinct from the 0.90 units. Fetch the correct device number
16384 from the role table instead of using the table index.
16385
163862010-07-20 Felix Zielcke <fzielcke@z-51.de>
16387
16388 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16389 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16390 (WriteMostly1): New macro.
16391 Set array->name to NULL for metadata format 0.90. Add support for
16392 metadata 1.x. Fix some comments.
16393 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16394 few comments.
16395 * util/getroot.c (grub_util_get_grub_dev): Add support for
16396 /dev/md/name style devices.
16397
4b761da9
CW
163982010-07-20 Colin Watson <cjwatson@ubuntu.com>
16399
16400 * .bzrignore: Ignore 20_linux_xen.
16401
5771289a
CW
164022010-07-17 Colin Watson <cjwatson@ubuntu.com>
16403
16404 * util/import_unicode.py: Remove unnecessary imports.
16405
5dab68df
AN
164062010-07-17 Aleš Nesrsta <starous@volny.cz>
16407
16408 Hotplugging and USB hub support.
16409
16410 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16411 (grub_ohci): Likewise.
16412 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16413 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16414 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16415 (GRUB_OHCI_CTRL_EDS): Likewise.
16416 (GRUB_OHCI_BULK_EDS): Likewise.
16417 (GRUB_OHCI_TDS): Likewise.
16418 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16419 (grub_ohci_ed_phys2virt): New function.
16420 (grub_ohci_virt_to_phys): Likewise.
16421 (grub_ohci_td_phys2virt): Likewise.
16422 (grub_ohci_td_virt2phys): Likewise.
16423 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16424 attachment.
16425 (grub_ohci_find_ed): New function.
16426 (grub_ohci_alloc_td): Likewise.
16427 (grub_ohci_free_td): Likewise.
16428 (grub_ohci_free_tds): Likewise.
16429 (grub_ohci_transfer): Use previously allocated memory.
16430 (grub_ohci_portstatus): Reset status changed bit.
16431 (grub_ohci_detect_dev): Supply status changed.
16432 (grub_ohci_fini_hw): Free memory.
16433 (grub_ohci_restore_hw): Reallocate memory.
16434 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16435 Reset status change.
16436 (grub_uhci_detect_dev): Supply status_change.
16437 * bus/usb/usb.c (attach_hooks): New var.
16438 (grub_usb_device_attach): New function.
16439 (grub_usb_register_attach_hook_class): Likewise.
16440 (grub_usb_unregister_attach_hook_class): Likewise.
16441 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16442 (grub_usb_add_hub): Reset connection changed bit.
16443 (attach_root_port): New function.
16444 (grub_usb_root_hub): Likewise.
16445 (poll_nonroot_hub): Likewise.
16446 (grub_usb_poll_devices): Likewise.
16447 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16448 * disk/usbms.c (grub_usbms_open): Use device hooks.
16449 (grub_usbms_iterate) :Poll devices.
16450 (grub_usbms_finddevs): Split into ...
16451 (grub_usbms_attach): ... this ...
16452 (grub_usbms_attach): ... and this.
16453 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16454 in detect_dev.
16455 (grub_usb_interface): New fields attached and detach_hook.
16456 (grub_usb_attach_hook_class): New type.
16457 (grub_usb_attach_desc): New struct.
16458 (grub_usb_register_attach_hook_class): New function.
16459 (grub_usb_unregister_attach_hook_class): Likewise.
16460 (grub_usb_poll_devices): Likewise.
16461 (grub_usb_device_attach): Likewise.
16462 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16463 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16464
3222efaf
VS
164652010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16468 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16469 delta determination style. Works with most NetBSD partitions too.
16470
139b714a
VS
164712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16474 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16475
986aad56
VS
164762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16479
99be513c
AB
164802010-07-14 Anton Blanchard <anton@samba.org>
16481
16482 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16483 ET_DYN files.
16484
18075f62
GS
164852010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16486
16487 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16488
8d9a5b15
GS
164892010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16490
16491 * kern/partition.c (grub_partition_check_containment): New function to
16492 check that a partition is physically contained in a parent. Since
16493 offsets are relative (and non-negative), this reduces to checking that
16494 the partition ends before its parent.
16495 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16496 (grub_partition_iterate): Likewise.
16497 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16498 comments.
16499 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16500 partitions that start before their parent, and add debug printfs.
16501
19563c25
CW
165022010-07-13 Colin Watson <cjwatson@ubuntu.com>
16503
16504 * Makefile.in (.SUFFIX): Spell correctly, as ...
16505 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16506 bare module name without `.mod', e.g. `test') tried to invoke a
16507 Modula-2 compiler.
16508
1a1f1e67
CW
165092010-07-13 Colin Watson <cjwatson@ubuntu.com>
16510
16511 * README: Point to the Info manual.
16512
811b0dca
JS
165132010-07-13 Jiro SEKIBA <jir@unicus.jp>
16514
16515 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16516 2nd superblock position from partition size.
16517
e4f4eafc
CW
165182010-07-10 Colin Watson <cjwatson@ubuntu.com>
16519
16520 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16521 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16522 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16523 outputs.
16524
4274c30f
VS
165252010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 Restructure SCSI .id handling.
16528 Reported and tested by: Aleš Nesrsta.
16529
16530 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16531 (grub_atapi_dev): Changed .name to "ata". New field .id.
16532 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16533 (grub_usbms_dev): New field .id.
16534 * disk/scsi.c (grub_scsi_iterate): Generate name.
16535 (grub_scsi_open): Parse name.
16536 * include/grub/scsi.h (grub_make_scsi_id): New function.
16537 (grub_scsi_dev): Change iterate and open to number instead of naming
16538 busses. All users updated.
16539 (grub_scsi): Remove name. Add .bus.
16540
5bc24388
VS
165412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 * commands/help.c (grub_cmd_help): Fix a typo.
16544
249975ba
VS
165452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16548 Reported and tested by: Colin Watson.
16549
3eaac1a1
VS
165502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16553 in this context.
16554
becce1b1
VS
165552010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16558
f7bf0918
CW
165592010-07-07 Colin Watson <cjwatson@ubuntu.com>
16560
16561 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16562 indentation.
16563
0b0f9620
CW
165642010-07-06 Colin Watson <cjwatson@ubuntu.com>
16565
16566 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16567 and disk/raid6_recover.c.
16568 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16569 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16570
1e545469
CW
165712010-07-06 Colin Watson <cjwatson@ubuntu.com>
16572
16573 * term/gfxterm.c (repaint_schedulded): Rename to ...
16574 (repaint_scheduled): ... this. Update all callers.
16575 (repaint_was_schedulded): Rename to ...
16576 (repaint_was_scheduled): ... this. Update all callers.
16577
5357687a
CW
165782010-07-06 Colin Watson <cjwatson@ubuntu.com>
16579
16580 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16581 which we expect to be handled by upper layers.
16582
29d7e783
BC
165832010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16584
16585 * bus/usb/usbhub.c: #include time.h header.
16586
37582066
CW
165872010-07-06 Colin Watson <cjwatson@ubuntu.com>
16588
16589 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16590 entry_name also for entries without stat blocks (e.g. ".."); fixes
16591 corruption of the first entry in a directory.
16592
c8c06953
CW
165932010-07-06 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16596 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16597 doesn't work otherwise.
16598
e75056f1
CW
165992010-07-05 Colin Watson <cjwatson@ubuntu.com>
16600
16601 * docs/grub.texi (Features): Update list of supported file systems.
16602 (GNU/Linux): Update for GRUB 2.
16603 (Serial terminal): Remove mention of --disable-serial, which was a
16604 GRUB Legacy configure option. Update instructions to use
16605 `terminal_input' and `terminal_output' rather than `terminal'.
16606 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16607 configuration' and `Installing GRUB using grub-install'.
16608 (Menu entry editor): Update for GRUB 2.
16609 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16610 Document new -a, -u, and -v options.
16611 (initrd): New section.
16612 (initrd16): New section.
16613 (linux): New section.
16614 (linux16): New section.
16615 (search): The `var' argument to `--set' is optional.
16616 (GRUB only offers a rescue shell): Go into a little more detail on
16617 drive ordering.
16618
5cf69151
CW
166192010-07-05 Colin Watson <cjwatson@ubuntu.com>
16620
16621 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16622
e3f90044
CW
166232010-07-05 Colin Watson <cjwatson@ubuntu.com>
16624
16625 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16626 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16627
38d8f4f3
CW
166282010-07-05 Colin Watson <cjwatson@ubuntu.com>
16629
16630 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16631 install_prefix, in line with install_dos_part and install_bsd_part.
16632 Add new prefix variable, which is copied to install_prefix after
16633 comparing core.img in memory with the one read from disk in the
16634 no-embedding case, and use that rather than overwriting
16635 install_prefix immediately when installing to a partition.
16636 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16637 Bicakci.
16638
57ebd41e
GS
166392010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16640
16641 * configure.ac: Avoid == in test command, it's not portable.
16642 * util/grub.d/30_os-prober.in: Likewise.
16643
cb7f64b2
CW
166442010-07-04 Colin Watson <cjwatson@ubuntu.com>
16645
16646 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16647
6b654bb0
GS
166482010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16649
16650 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16651 multiple (top-level) partmaps.
16652
72a2026d
VS
166532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16656 Reported by: Tino Keitel.
72a2026d 16657
df3eb88f
VS
166582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 Bidi and diacritics support.
16661
16662 * Makefile.in (widthspec.bin): New target.
16663 (widthspec.h): Likewise.
16664 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16665 * autogen.sh: Generate unidata.c.
16666 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16667 * commands/ls.c (grub_ls_list_devices): Likewise.
16668 (grub_ls_list_files): Likewise.
16669 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16670 (grub_mini_cmd_lsmod): Likewise.
16671 * commands/read.c: Likewise.
16672 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16673 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16674 * lib/arg.c (grub_arg_show_help): Likewise.
16675 * lib/crypto.c (grub_password_get): Likewise.
16676 * normal/auth.c (grub_username_get): Likewise.
16677 * normal/misc.c (grub_normal_print_device_info): Likewise.
16678 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16679 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16680 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16681 (normal/charset.c_DEPENDENCIES): New variable.
16682 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16683 (pkglib_MODULES): Remove charset.mod.
16684 (charset_mod_SOURCES): Removed.
16685 (charset_mod_CFLAGS): Likewise.
16686 (charset_mod_LDFLAGS): Likewise.
16687 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16688 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16689 and term/tparm.c.
16690 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16691 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16692 (kernel_img_HEADERS): Add terminfo.h.
16693 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16694 Fill ->font. Reverse ascii bitmaps.
16695 (grub_font_get_xheight): New function.
16696 * font/font.c (grub_font_get_string_width): Moved from here ...
16697 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16698 * font/font.c (grub_font_draw_string): Moved from here ...
16699 * gfxmenu/font.c (grub_font_draw_string): ... here.
16700 * font/font.c (grub_font_dup_glyph): New function.
16701 (grub_font_blit_glyph): Likewise.
16702 (grub_font_blit_glyph_mirror): Likewise.
16703 (blit_comb): Likewise.
16704 (grub_font_construct_dry_run): Likewise.
16705 (grub_font_get_constructed_device_width): Likewise.
16706 (grub_font_construct_glyph): Likewise.
16707 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16708 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16709 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16710 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16711 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16712 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16713 (grub_font_get_xheight): New proto.
16714 (grub_font_get_constructed_device_width): Likewise.
16715 (grub_font_construct_glyph): Likewise.
16716 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16717 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16718 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16719 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16720 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16721 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16722 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16723 (grub_console_getcharwidth): Likewise.
16724 * include/grub/misc.h (grub_xputs): New proto.
16725 (grub_puts): Inlined.
16726 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16727 (grub_normal_get_line_counter): Removed.
16728 (grub_install_newline_hook): Likewise.
16729 (grub_normal_get_char_counter): New proto.
16730 (grub_normal_reset_more): Likewise.
16731 (grub_xputs_normal): Likewise.
16732 * include/grub/powerpc/ieee1275/console.h: Removed.
16733 * include/grub/sparc64/ieee1275/console.h: Likewise.
16734 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16735 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16736 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16737 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16738 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16739 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16740 (grub_term_input): Pass reference to self. All users updated.
16741 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16742 Pass reference to self. New fields normal_color, highlight_color and
16743 data. All users updated.
16744 (grub_putchar): Removed.
16745 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16746 (grub_unicode_estimate_width): New function.
16747 (grub_term_getcharwidth): Add defaults.
16748 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16749 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16750 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16751 (grub_cls): Remove EXPORT_FUNC.
16752 (grub_setcolorstate): Inline.
16753 (grub_newline_hook): Removed.
16754 * include/grub/terminfo.h: Rewritten. All users updated.
16755 * include/grub/unicode.h: New file.
16756 * include/grub/video.h (grub_video_signed_rect): New type.
16757 * kern/emu/console.c (grub_console_highlight_color): Removed.
16758 (grub_console_normal_color): Likewise.
16759 (grub_console_standard_color): Made static.
16760 (grub_ncurses_putchar): Remove mapping.
16761 (grub_ncurses_getcharwidth): Removed.
16762 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16763 (grub_ncurses_setcolor): Removed.
16764 (grub_ncurses_getcolor): Likewise.
16765 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16766 (grub_console_putchar): ... this.
16767 (grub_console_putchar): Handle argument difference.
16768 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16769 console_init_early and console_init_lately.
16770 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16771 * kern/misc.c (grub_puts): Removed.
16772 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16773 (grub_vsnprintf_real): Remove str = NULL support.
16774 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16775 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16776 * kern/term.c (grub_putcode): Renamed to ...
16777 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16778 (grub_putchar): Removed.
16779 (grub_xputs_dumb): New function.
16780 (grub_xputs): New variable.
16781 * lib/charset.c: Move from here ...
16782 * normal/charset.c: ... to here.
16783 (grub_ucs4_to_utf8): New function.
16784 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16785 (join_types): New variable.
16786 (unpack_join): New function.
16787 (bidi_types): New variable.
16788 (unpack_bidi): New function.
16789 (get_bidi_type): Likewise.
16790 (get_join_type): Likewise.
16791 (is_mirrored): Likewise.
16792 (grub_unicode_get_comb_type): Likewise.
16793 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16794 (is_type_after): Likewise.
16795 (grub_unicode_aglomerate_comb): Likewise.
16796 (bidi_line_wrap): Likewise.
16797 (grub_bidi_line_logical_to_visual): Likewise.
16798 (grub_bidi_logical_to_visual): Likewise.
16799 (grub_unicode_mirror_code): Likewise.
16800 (grub_unicode_shape_code): Likewise.
16801 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16802 Don't use grub_putchar.
16803 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16804 (grub_normal_reader_init): Likewise.
16805 (grub_xputs_saved): New variable.
16806 (GRUB_MOD_INIT): Set grub_xputs.
16807 (GRUB_MOD_FINI): Restore grub_xputs.
16808 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16809 (menu_init): Avoid printing gfxmenu error.
16810 (show_menu): Use grub_normal_get_char_counter.
16811 * normal/menu_entry.c (update_screen): Fix out-of-array.
16812 (complete): Avoid NULL dereferencing.
16813 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16814 * normal/menu_text.c (print_spaces): Removed.
16815 (grub_print_ucs4): Likewise.
16816 (grub_print_message_indented): Use grub_print_ucs4.
16817 (print_message): Use grub_putcode.
16818 (print_entry): Hanlde diacritics.
16819 * normal/term.c (term_state): New type.
16820 (grub_more_lines): Removed.
16821 (term_states): New variable.
16822 (grub_normal_line_counter): Renamed to ..
16823 (grub_normal_char_counter): ...this. All users updated.
16824 (grub_normal_get_line_counter): Renamed to ...
16825 (grub_normal_get_char_counter): ... this.
16826 (grub_normal_reset_more): New function.
16827 (process_newline): Removed.
16828 (print_more): New function.
16829 (grub_install_newline_hook): Removed.
16830 (map_code): New function.
16831 (grub_puts_terminal): Use grub_print_ucs4.
16832 (putglyph): New function.
16833 (putcode_real): Likewise.
16834 (grub_putcode): Use putcode_real.
16835 (get_maxwidth): New function.
16836 (get_startwidth): Likewise.
16837 (print_ucs4_terminal): Likewise.
16838 (find_term_state): Likewise.
16839 (put_glyphs_terminal): Likewise.
16840 (print_backlog): Likewise.
16841 (print_ucs4_real): Likewise.
16842 (grub_print_ucs4): Likewise.
16843 (grub_xputs_normal): Likewise.
16844 * term/efi/console.c (grub_console_putchar): Output diacritics.
16845 (grub_console_getcharwidth): Removed.
16846 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16847 * term/gfxterm.c (clear_char): Free chars.
16848 (scroll_up): Avoid leaking memory.
16849 (grub_gfxterm_putchar): Support diacritics.
16850 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16851 * term/i386/pc/console.c (grub_console_term_output): Declare as
16852 GRUB_TERM_CODE_TYPE_VGA.
16853 * term/i386/pc/vga.c (grub_vga_term): Declare as
16854 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16855 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16856 GRUB_TERM_CODE_TYPE_VGA.
16857 * term/i386/vga_common.c (map_char): Removed.
16858 (grub_console_putchar): Likewise.
16859 (grub_console_getcharwidth): Likewise.
16860 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16861 (colors): Reordered to match terminfo.
16862 (grub_ofconsole_normal_color): Removed.
16863 (grub_ofconsole_writeesc): Likewise.
16864 (grub_ofconsole_highlight_color): Likewise.
16865 (grub_ofconsole_getcharwidth): Likewise.
16866 (grub_ofconsole_setcolorstate): Likewise.
16867 (grub_ofconsole_setcolor): Likewise.
16868 (grub_ofconsole_getcolor): Likewise.
16869 (grub_ofconsole_readkey): Renamed to ...
16870 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16871 key.
16872 (grub_ofconsole_checkkey): Removed.
16873 (grub_ofconsole_getkey): Likewise.
16874 (grub_ofconsole_getxy): Likewise.
16875 (grub_ofconsole_gotoxy): Likewise.
16876 (grub_ofconsole_cls): Likewise.
16877 (grub_ofconsole_refresh): Likewise.
16878 (grub_ofconsole_terminfo_input): New struct.
16879 (grub_ofconsole_terminfo_output): Likewise.
16880 (grub_ofconsole_term_input): Use terminfo.
16881 (grub_ofconsole_term_output): Likewise.
16882 (grub_console_init): Split into ...
16883 (grub_console_init_early): ...this and ...
16884 (grub_console_init_lately): ...this. Use terminfo.
16885 (grub_ofconsole_putchar): Renamed to ...
16886 (put): ... this. Remove mapping.
16887 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16888 * term/serial.c: Simplify using terminfo.
16889 (xpos): Removed.
16890 (ypos): Likewise.
16891 (keep_track): Likewise.
16892 (registered): Likewise.
16893 (input_buf): Likewise.
16894 (npending): Likewise.
16895 (serial_translate_key_sequence): Likewise.
16896 (fill_input_buf): Likewise.
16897 (grub_serial_checkkey): Likewise.
16898 (grub_serial_getkey): Likewise.
16899 (grub_serial_getxy): Likewise.
16900 (grub_serial_gotoxy): Likewise.
16901 (grub_serial_putchar): Likewise.
16902 (grub_serial_cls): Likewise.
16903 (grub_serial_setcolorstate): Likewise.
16904 (grub_serial_setcursor): Likewise.
16905 (serial_hw_init): Use serial_hw_fetch.
16906 (grub_serial_terminfo_input): New variable.
16907 (grub_serial_terminfo_output): Likewise.
16908 (grub_serial_term_input): Use terminfo.
16909 (grub_serial_term_output): Likewise.
16910 * term/terminfo.c (putstr): Use put.
16911 (grub_terminfo_all_free): New function
16912 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16913 (grub_terminfo_output_register): New function.
16914 (grub_terminfo_output_unregister): Likewise.
16915 (grub_terminfo_getxy): Likewise.
16916 (grub_terminfo_readkey): Likewise.
16917 (grub_terminfo_checkkey): Likewise.
16918 (grub_terminfo_getkey): Likewise.
16919 (grub_terminfo_input_init): Likewise.
16920 (print_terminfo): Likewise.
16921 (grub_cmd_terminfo): Handle encoding.
16922 (grub_terminfo_gotoxy): Track position.
16923 (grub_terminfo_cls): Likewise.
16924 (grub_terminfo_putchar): Likewise.
16925 (grub_terminfo_setcolorstate): Handle colors
16926 (grub_terminfo_cursor_on): This ...
16927 (grub_terminfo_cursor_off): ... and this merged into ...
16928 (grub_terminfo_setcursor): ... this.
16929 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16930 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16931 * unicode/BidiMirroring.txt: Likewise.
16932 * unicode/UnicodeData.txt: Likewise.
16933 * unicode/COPYING: Likewise.
16934 * util/grub-editenv.c (grub_putchar): Removed.
16935 (grub_xputs_real): New function.
16936 (grub_xputs): New variable.
16937 * util/grub-fstest.c (grub_putchar): Removed.
16938 (grub_xputs_real): New function.
16939 (grub_xputs): New variable.
16940 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16941 (grub_xputs_real): New function.
16942 (grub_xputs): New variable.
16943 * util/grub-probe.c (grub_putchar): Removed.
16944 (grub_xputs_real): New function.
16945 (grub_xputs): New variable.
16946 * util/grub-script-check.c (grub_putchar): Removed.
16947 (grub_xputs_real): New function.
16948 (grub_xputs): New variable.
16949 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16950 (grub_xputs_real): New function.
16951 (grub_xputs): New variable.
16952 * util/import_unicode.py: New file.
16953 * util/grub-mkfont.c (ft_errmsgs): New array.
16954 (grub_glyph_info): Make bitmap a pointer.
16955 (file_formats): New type WIDTH_SPEC.
16956 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16957 (options): Add width-spec.
16958 (help): Likewise.
16959 (add_char): Renamed to ...
16960 (add_glyph): ... this.
16961 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16962 (glyph_replace): New type.
16963 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16964 (add_char): New function.
16965 (add_subst): Likewise.
16966 (process_cursive): Likewise.
16967 (add_font): Handle GSUB.
16968 (write_font_width_spec): New function.
16969 (main): Sort glyphs.
16970 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16971 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16972 * kern/term.c (grub_cls): Moved from here...
16973 * normal/term.c (grub_cls): ... here.
16974
50f0bcda
CW
169752010-07-02 Colin Watson <cjwatson@ubuntu.com>
16976
16977 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16978 suitable for using within the format argument of printf when
16979 converting grub_size_t.
16980 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16981 "x" to convert grub_size_t arguments.
16982
40372103
VS
169832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16984
16985 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16986 too long captions.
16987 (list_get_minimal_size): Take selection box into account.
16988
942a10c7
VS
169892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16992 NULL font.
16993
2bdb2892
CW
169942010-07-02 Colin Watson <cjwatson@ubuntu.com>
16995
16996 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16997 devices when iterating over /dev/disk/by-id; they will be handled
16998 later if appropriate, which they aren't always (e.g. LVM).
16999
e03ed6c1
CW
170002010-07-02 Colin Watson <cjwatson@ubuntu.com>
17001
17002 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17003 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17004 fails.
17005 (grub_halt): Likewise.
17006 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17007 reset-all fails.
17008 (grub_halt): Don't return, even if all of shut-down, power-off, and
17009 poweroff fail.
17010
47695765
CW
170112010-07-02 Colin Watson <cjwatson@ubuntu.com>
17012
17013 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17014 arguments, not three.
17015
507736c8
CW
170162010-07-02 Colin Watson <cjwatson@ubuntu.com>
17017
17018 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17019 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17020 LVM-on-RAID is handled correctly.
17021
e3c8cd37
CW
170222010-07-02 Colin Watson <cjwatson@ubuntu.com>
17023
17024 * docs/grub.texi (Changes from GRUB Legacy): New section.
17025 (Future): Fix typo.
17026
8d4a2fec
CW
170272010-07-02 Colin Watson <cjwatson@ubuntu.com>
17028
17029 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17030 grub.d/README accidentally ends up executable for one reason or
17031 another. Ignore it.
17032
1c4827be
VS
170332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17036 (gpt_partition_map_iterate): Support non-512B sectors.
17037
d9a0c941
VS
170382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17041 Tested by: Seth Goldberg.
17042
48f27e87
VS
170432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17046 Properly align mbi.
17047 Reported by: Seth Goldberg.
17048
b0c4f956
VS
170492010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 * util/grub-mkrescue.in: Avoid module duplication.
17052
105a2e8c
SF
170532010-07-01 Sean Finney <seanius@seanius.net>
17054
17055 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17056
5944958c
SF
170572010-07-01 Sean Finney <seanius@seanius.net>
17058
17059 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17060
170612010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * disk/lvm.c (grub_lvm_checkvalue): New function.
17064 (grub_lvm_check_flag): Likewise.
17065
b79889ba
RM
170662010-07-01 Robert Millan <rmh@gnu.org>
17067
17068 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17069 Support 'p' as partition separator on kernel of FreeBSD (used
17070 with GPT labels).
17071 (grub_util_biosdisk_get_grub_dev): Likewise.
17072
ec1d04f1
VS
170732010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 Yeeloong firmware port.
17076
17077 * boot/mips/yeeloong/fwstart.S: New file.
17078 * bus/cs5536.c (gpiodump): New const.
17079 (set_io_space): New function.
17080 (set_iod): Likewise.
17081 (set_p2d): Likewise.
17082 (grub_cs5536_init_geode): Likewise.
17083 * commands/mips/yeeloong/lsspd.c: New file.
17084 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17085 (serial_mod_SOURCES): New variable.
17086 (serial_mod_CFLAGS): Likewise.
17087 (serial_mod_LDFLAGS): Likewise.
17088 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17089 term/terminfo.c and term/tparm.c.
17090 (pkglib_IMAGES): Add fwstart.img.
17091 (fwstart_img_SOURCES): New variable.
17092 (fwstart_img_CFLAGS): Likewise.
17093 (fwstart_img_ASFLAGS): Likewise.
17094 (fwstart_img_LDFLAGS): Likewise.
17095 (fwstart_img_FORMAT): Likewise.
17096 (pkglib_MODULES): Add lsspd.mod.
17097 (lsspd_mod_SOURCES): New variable.
17098 (lsspd_mod_CFLAGS): Likewise.
17099 (lsspd_mod_LDFLAGS): Likewise.
17100 (pkglib_MODULES): Add halt.mod.
17101 (halt_mod_SOURCES): New variable.
17102 (halt_mod_CFLAGS): Likewise.
17103 (halt_mod_LDFLAGS): Likewise.
17104 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17105 (serial_mod_SOURCES): Removed.
17106 (serial_mod_CFLAGS): Likewise.
17107 (serial_mod_LDFLAGS): Likewise.
17108 * disk/ata.c (check_device): New function.
17109 (grub_ata_device_initialize): Use check_device.
17110 (grub_ata_iterate): Recheck devices.
17111 (grub_ata_open): Likewise.
17112 (grub_atapi_iterate): Likewise.
17113 (grub_atapi_open): Likewise.
17114 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17115 (GRUB_ATA_CH1_PORT1): Likewise.
17116 (GRUB_ATA_CH0_PORT2): Likewise.
17117 (GRUB_ATA_CH1_PORT2): Likewise.
17118 * include/grub/mips/loongson.h: New file.
17119 * include/grub/mips/yeeloong/ec.h: Likewise.
17120 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17121 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17122 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17123 * include/grub/misc.h (grub_halt): Declare as noreturn.
17124 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17125 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17126 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17127 (UART_ENABLE_DTRRTS): Likewise.
17128 (UART_ENABLE_MODEM): Removed.
17129 (UART_ENABLE_OUT2): New const.
17130 * include/grub/term.h (grub_term_register_input_active): New function.
17131 (grub_term_register_output_active): Likewise.
17132 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17133 argument.
17134 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17135 (init_pci): New function.
17136 (grub_machine_init): Execute platform init when firmware. Init serial.
17137 (grub_halt): Implement.
17138 (grub_exit): Likewise.
17139 (grub_reboot): Likewise.
17140 * term/serial.c (serial_hw_init): Update macros.
17141 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17142 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17143 (image_targets): New target mipsel-yeeloong-flash.
17144 (generate_image): Support IMAGE_YEELOONG_FLASH.
17145 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17146 (grub_video_sm712_setup): Init card.
17147 (grub_video_sm712_set_palette): Removed.
17148 * video/sm712_init.c: New file.
17149
ff4a70d2
CW
171502010-06-30 Colin Watson <cjwatson@ubuntu.com>
17151
17152 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17153 PATH when running help2man and then run it on the unadorned
17154 executable names, rather than passing $(builddir)/* paths to
17155 help2man. This avoids the build directory ending up in generated
17156 manual pages.
17157
1246efeb
CW
171582010-06-29 Colin Watson <cjwatson@ubuntu.com>
17159
17160 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17161 to avoid accidents when debugging with 'sh -x'.
17162 * util/grub-mkrescue.in: Likewise.
17163 * util/grub.d/00_header.in: Likewise.
17164 * util/grub.d/10_hurd.in: Likewise.
17165 * util/grub.d/10_kfreebsd.in: Likewise.
17166 * util/grub.d/10_linux.in: Likewise.
17167 * util/grub.d/10_netbsd.in: Likewise.
17168 * util/grub.d/10_windows.in: Likewise.
17169 * util/grub.d/20_linux_xen.in: Likewise.
17170 * util/grub.d/30_os-prober.in: Likewise.
17171 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17172
1ba9b889
CW
171732010-06-29 Colin Watson <cjwatson@ubuntu.com>
17174
17175 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17176 last character in the buffer.
17177 Reported by: Vladimir Serbinenko.
17178
dccaf99d
RM
171792010-06-29 Robert Millan <rmh@gnu.org>
17180
17181 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17182 (Command-line and menu entry commands): Document `badram' command.
17183
d500ed12
RM
171842010-06-28 Robert Millan <rmh@gnu.org>
17185
17186 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17187 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17188 command using ${GRUB_BADRAM} as parameter.
17189
20bc84a6
CW
171902010-06-28 Colin Watson <cjwatson@ubuntu.com>
17191
17192 * docs/grub.texi (Device map): New section.
17193 (Themes): New section (stub).
17194 * Makefile.in (docs/grub.info): The info documentation now builds
17195 without errors. Make sure it stays that way.
17196
4045dee1
VS
171972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 Use normal parser for menu entries.
17200 Reported by: Thomas Frauendorfer
17201
17202 * include/grub/parser.h (grub_parser_execute): Don't export.
17203 * normal/menu.c (grub_menu_execute_entry_real): New function.
17204 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17205
bca58c7b
CW
172062010-06-28 Colin Watson <cjwatson@ubuntu.com>
17207
17208 * docs/grub.texi (Embedded configuration): New section (replacing
17209 old "Preset Menu" stub).
17210 (Images): New section.
17211 (configfile): Note that any menu entries defined in `file' are shown
17212 immediately.
17213
dec53e63
JT
172142010-06-28 Josh Triplett <josh@joshtriplett.org>
17215
17216 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17217
c06e40f7
CW
172182010-06-28 Colin Watson <cjwatson@ubuntu.com>
17219
17220 * util/grub-install.in: Add --debug-image= option.
17221
cb88052b
CW
172222010-06-28 Colin Watson <cjwatson@ubuntu.com>
17223
17224 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17225 possible on Linux.
17226
17227 * util/deviceiter.c (check_device): Rename to ...
17228 (check_device_readable_unique): ... this. Update all callers.
17229 Maintain and check a list of which devices (by canonicalized name)
17230 have already been seen.
17231 (clear_seen_devices): New function.
17232 (compare_file_names) [__linux__]: New function.
17233 (grub_util_iterate_devices): Clear the list of seen devices on exit
17234 and (just in case) on entry.
17235 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17236 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17237 seen-devices list, superseded by general code in check_device.
17238
bbe34652
CW
172392010-06-28 Colin Watson <cjwatson@ubuntu.com>
17240
17241 * commands/cat.c (options): New variable.
17242 (grub_cmd_cat): Parse options. If the --dos option is given, print
17243 DOS-style "\r\n" line endings as simple newlines (Debian bug
17244 #586358).
17245 (GRUB_MOD_INIT): Use extcmd.
17246 (GRUB_MOD_FINI): Likewise.
17247 * docs/grub.texi (cat): Document --dos.
17248
412e09f3
VS
172492010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 XEN with Linux grub-mkconfig support.
17252
17253 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17254 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17255 GRUB_CMDLINE_XEN_DEFAULT.
17256 * util/grub.d/20_linux_xen.in: New file.
17257
53f3ef38 172582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17259
17260 Initialise VGA video on qemu ourselves.
17261
17262 * boot/i386/qemu/boot.S: Don't call 0xc000.
17263 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17264 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17265 (kernel_img_HEADERS): Add pci.h.
17266 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17267 * configure.ac: Force unifont on qemu and yeeloong.
17268 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17269 (grub_vga_palette_write): Use correct register.
17270 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17271 Call grub_qemu_init_cirrus.
17272 * kern/i386/qemu/init.c: New file.
17273 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17274
17275 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17276
c75be4fb
PR
172772010-06-26 Pavel Roskin <proski@gnu.org>
17278
17279 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17280 13.
17281
d8034603
CW
172822010-06-26 Colin Watson <cjwatson@ubuntu.com>
17283
17284 * docs/grub.texi (Simple configuration): Explain that
17285 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17286 set to `true' to disable their respective recovery entries, not
17287 merely set.
17288
3fa06487
CW
172892010-06-26 Colin Watson <cjwatson@ubuntu.com>
17290
17291 Make the `source' command slightly faster.
17292
17293 * normal/main.c (grub_normal_execute): Don't re-read list files when
17294 nested.
17295
e9b29642
CW
172962010-06-23 Colin Watson <cjwatson@ubuntu.com>
17297
17298 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17299 field position and mask size to red fields from mode_info, not
17300 green.
17301 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17302 Remove redundant tag->common.framebuffer_type assignment.
17303 Reported by: Seth Goldberg.
17304
e726542f
CW
173052010-06-23 Colin Watson <cjwatson@ubuntu.com>
17306
17307 Sync up other versions of the Linux loader with Robert Millan's
17308 change of 2010-01-09, "Make loader output a bit more user-friendly".
17309
17310 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17311 grub_dprintf().
17312 (grub_cmd_linux): Likewise.
17313 (grub_cmd_initrd): Likewise.
17314 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17315 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17316
d6e98a17
CW
173172010-06-21 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17320 larger than MEMORY_MAP_SIZE.
17321
14d3f08e
BC
173222010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17323
17324 Fix parallel build.
17325
17326 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17327 dependency.
17328 * script/parser.y: #include grub_script.tab.h header.
17329
4f9613a3
VS
173302010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 Support >3GiB and <16MiB RAM in i386-qemu.
17333
17334 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17335 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17336 (grub_lower_mem): Removed.
17337 (grub_upper_mem): Likewise.
17338 (mem_size): Made static.
17339 (above_4g): New variable.
17340 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17341 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17342 support.
17343
05e51879
VS
173442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 Cirrus 5446 and Bochs video cards support.
17347
17348 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17349 video_bochs.mod
17350 (video_cirrus_mod_SOURCES): New variable.
17351 (video_cirrus_mod_CFLAGS): Likewise.
17352 (video_cirrus_mod_LDFLAGS): Likewise.
17353 (video_bochs_mod_SOURCES): Likewise.
17354 (video_bochs_mod_CFLAGS): Likewise.
17355 (video_bochs_mod_LDFLAGS): Likewise.
17356 * include/grub/vga.h: New file.
17357 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17358 (grub_video_fb_set_page_t): New type.
17359 (grub_video_fb_setup): New prototype.
17360 (grub_video_fb_swap_buffers): Likewise.
17361 (grub_video_fb_get_info_and_fini): Likewise.
17362 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17363 (CRTC_DATA_PORT): Likewise.
17364 (CRTC_CURSOR): Likewise.
17365 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17366 (CRTC_CURSOR_ADDR_LOW): Likewise.
17367 (CRTC_CURSOR_DISABLE): Likewise.
17368 (update_cursor): Use grub_vga_cr_write.
17369 (grub_vga_text_setcursor): Likewise.
17370 * video/bochs.c: New file.
17371 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17372 (palette): Likewise.
17373 (palette_size): Likewise.
17374 (framebuffer): New variable.
17375 (grub_video_fb_init): Use 'framebuffer'.
17376 (grub_video_fb_fini): Likewise.
17377 (grub_video_fb_get_info): Likewise.
17378 (grub_video_fb_get_palette): Likewise.
17379 (grub_video_fb_set_palette): Likewise.
17380 (grub_video_fb_set_viewport): Likewise.
17381 (grub_video_fb_get_viewport): Likewise.
17382 (grub_video_fb_map_color): Likewise.
17383 (grub_video_fb_map_rgb): Likewise.
17384 (grub_video_fb_map_rgba): Likewise.
17385 (grub_video_fb_unmap_color): Likewise.
17386 (grub_video_fb_unmap_color_int): Likewise.
17387 (grub_video_fb_fill_rect): Likewise.
17388 (grub_video_fb_blit_bitmap): Likewise.
17389 (grub_video_fb_blit_render_target): Likewise.
17390 (grub_video_fb_scroll): Likewise.
17391 (grub_video_fb_create_render_target): Likewise.
17392 (grub_video_fb_doublebuf_blit_init): Likewise.
17393 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17394 (doublebuf_pageflipping_update_screen): New function.
17395 (doublebuf_pageflipping_init): Likewise.
17396 (grub_video_fb_setup): Likewise.
17397 (grub_video_fb_swap_buffers): Likewise.
17398 (grub_video_fb_get_info_and_fini): Likewise.
17399 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17400 All users updated.
17401 (doublebuf_pageflipping_commit): Restructured into ...
17402 (doublebuf_pageflipping_set_page): ... this.
17403 (doublebuf_pageflipping_update_screen): Removed.
17404 (doublebuf_pageflipping_init): Likewise.
17405 (double_buffering_init): Likewise.
17406 (grub_video_vbe_setup): Use grub_video_fb_setup.
17407 (grub_video_vbe_swap_buffers): Removed.
17408 (grub_video_vbe_set_active_render_target): Likewise.
17409 (grub_video_vbe_get_active_render_target): Likewise.
17410 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17411 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17412 grub_video_fb_set_active_render_target and
17413 grub_video_fb_get_active_render_target.
17414 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17415 (SEQUENCER_DATA_PORT): Likewise.
17416 (MAP_MASK_REGISTER): Likewise.
17417 (CRTC_ADDR_PORT): Likewise.
17418 (CRTC_DATA_PORT): Likewise.
17419 (START_ADDR_HIGH_REGISTER): Likewise.
17420 (START_ADDR_LOW_REGISTER): Likewise.
17421 (GRAPHICS_ADDR_PORT): Likewise.
17422 (GRAPHICS_DATA_PORT): Likewise.
17423 (READ_MAP_REGISTER): Likewise.
17424 (INPUT_STATUS1_REGISTER): Likewise.
17425 (INPUT_STATUS1_VERTR_BIT): Likewise.
17426 (get_map_mask): Use grub_vga_sr_read.
17427 (set_map_mask): Use grub_vga_sr_write.
17428 (set_read_map): Use grub_vga_gr_write.
17429 (set_start_address): Use grub_vga_cr_write.
17430 * video/sm712.c (framebuffer): Remove leftover fields.
17431
4321c64a
CW
174322010-06-20 Colin Watson <cjwatson@ubuntu.com>
17433
17434 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17435 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17436 instead. Replace the gfxterm backend check with a check that
17437 ${GRUB_PREFIX}/video.lst is non-empty.
17438 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17439 again.
17440 (load_video): New generated function. Call it before loading
17441 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17442 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17443 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17444 * docs/grub.texi (Simple configuration): Document
17445 GRUB_VIDEO_BACKEND.
17446
174472010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 Use video functions in linux and xnu loaders.
17450
17451 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17452 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17453 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17454 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17455 loader/i386/pc/linux.c.
17456 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17457 (find_line_len): Removed.
17458 (find_framebuf): Likewise.
17459 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17460 * loader/i386/efi/xnu.c: Removed.
17461 * loader/i386/pc/xnu.c: Moved from here...
17462 * loader/i386/xnu.c: ...here.
17463
17464 Enable priorities in video drivers.
17465
17466 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17467 (grub_video_adapter): New field prio.
17468 (grub_video_register): Respect prio when inserting.
17469 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17470 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17471 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17472 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17473 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17474 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17475 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17476
17477 Fix SDL driver ID.
17478
17479 * include/grub/video.h (grub_video_driver_id_t): New value
17480 GRUB_VIDEO_DRIVER_SDL.
17481 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17482
7d24e434
CW
174832010-06-17 Colin Watson <cjwatson@ubuntu.com>
17484
17485 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17486 argument to printf.
17487 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17488
c88a83f6
CW
174892010-06-17 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17492 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17493
094dfb69
CW
174942010-06-17 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17497 directly, and recommend grub-install instead.
17498 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17499
2164da6b
CW
175002010-06-17 Colin Watson <cjwatson@ubuntu.com>
17501
17502 Fix i386-pc prefix handling with nested partitions (Debian bug
17503 #585068). Note that the case where the core image is booted using
17504 multiboot and relocated from its original location still requires
17505 more work.
17506
17507 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17508 with "(,", fill the boot drive in between those two characters, but
17509 expect that a full partition specification including partition map
17510 names will follow.
17511 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17512 specified, write a prefix without the drive name but including a
17513 full partition specification.
17514
044e2e60
CW
175152010-06-16 Colin Watson <cjwatson@ubuntu.com>
17516
17517 * util/grub-mkconfig.in: Ignore non-option arguments, for
17518 compatibility with older versions (before 2010-06-12) which did the
17519 same. In particular, this makes it easier to ship an update-grub
17520 wrapper which is compatible with that used with GRUB Legacy (Debian
17521 bug #586056).
17522
5591324f
GS
175232010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17524
17525 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17526 for manual page generation.
17527
662e24d5
GS
175282010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17529
17530 * po/POTFILES: Remove leftover commands/handler.c.
17531
8d70754e
CW
175322010-06-14 Colin Watson <cjwatson@ubuntu.com>
17533
17534 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17535 left this script non-functional.
17536
41160e2e
CW
175372010-06-14 Colin Watson <cjwatson@ubuntu.com>
17538
17539 * docs/man/grub-emu.h2m: New file.
17540
b5309cc1
CW
175412010-06-13 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * docs/grub.texi (Commands): Document reduced command set in rescue
17544 mode.
17545 (cpuid): New section.
17546
fcb2d090
GS
175472010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17548
17549 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17550 new partition naming style.
17551 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17552
96e5c556
BC
175532010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17554
17555 Add "-o grub.iso" like cmdline options support.
17556
17557 * util/grub-install.in: Improve cmdline option parsing.
17558 * util/grub-mkconfig.in: Likewise.
17559 * util/grub-mkrescue.in: Likewise.
17560 * util/grub-reboot.in: Likewise.
17561 * util/grub-set-default.in: Likewise.
17562 * util/i386/efi/grub-install.in: Likewise.
17563 * util/ieee1275/grub-install.in: Likewise.
17564 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17565
c16be99b
CW
175662010-06-12 Colin Watson <cjwatson@ubuntu.com>
17567
17568 * .bzrignore: Ignore 41_custom.
17569
ce08a9fb
TS
175702010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17571
17572 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17573
7beac90c
CW
175742010-06-12 Colin Watson <cjwatson@ubuntu.com>
17575
17576 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17577 prototype declarations.
17578
17579 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17580 generating fs, partmap, and video lists.
17581 * include/grub/fs.h (grub_fs_register): Omit prototype if
17582 GRUB_LST_GENERATOR is defined.
17583 * include/grub/partition.h (grub_partition_map_register): Likewise.
17584 * include/grub/video.h (grub_video_register): Likewise.
17585
1c8f0f8d
JM
175862010-06-12 Javier Martín <lordhabbit@gmail.com>
17587
17588 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17589
a6085973
TS
175902010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17591
17592 * util/grub-mkrescue.in: Support --xorriso argument.
17593
25c56d29
VS
175942010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17597 Suggested by: Thomas Schmitt.
17598
e03e4b24
VS
175992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17602 Suggested by: Thomas Schmitt.
17603
57711df6
VS
176042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 custom.cfg support.
17607
17608 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17609 * util/grub.d/41_custom.in: New file.
17610
ee62c427
CW
176112010-06-12 Colin Watson <cjwatson@ubuntu.com>
17612
17613 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17614 been merged back into normal.
17615
283af07a
CW
176162010-06-11 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17619 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17620
56a0d956
CW
176212010-06-11 Colin Watson <cjwatson@ubuntu.com>
17622
17623 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17624 when generating manual pages.
17625 * docs/man/grub-bin2h.h2m: New file.
17626 * docs/man/grub-editenv.h2m: New file.
17627 * docs/man/grub-fstest.h2m: New file.
17628 * docs/man/grub-install.h2m: New file.
17629 * docs/man/grub-macho2img.h2m: New file.
17630 * docs/man/grub-mkconfig.h2m: New file.
17631 * docs/man/grub-mkdevicemap.h2m: New file.
17632 * docs/man/grub-mkfont.h2m: New file.
17633 * docs/man/grub-mkimage.h2m: New file.
17634 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17635 * docs/man/grub-mkrelpath.h2m: New file.
17636 * docs/man/grub-mkrescue.h2m: New file.
17637 * docs/man/grub-ofpathname.h2m: New file.
17638 * docs/man/grub-pe2elf.h2m: New file.
17639 * docs/man/grub-probe.h2m: New file.
17640 * docs/man/grub-reboot.h2m: New file.
17641 * docs/man/grub-script-check.h2m: New file.
17642 * docs/man/grub-set-default.h2m: New file.
17643 * docs/man/grub-setup.h2m: New file.
17644
3a37e322
VS
176452010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 Use FOR_* macros instead of *_iterate whenever possible.
17648
17649 * commands/handler.c: Removed.
17650 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17651 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17652 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17653 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17654 (grub_probe_SOURCES): Remove kern/parser.c.
17655 (util/grub-script-check.c_DEPENDENCIES): Removed.
17656 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17657 and grub_script_check_init.c.
17658 (grub_script_check_init.lst): Removed.
17659 (grub_script_check_init.h): Likewise.
17660 (grub_script_check_init.c): Likewise.
17661 (pkglib_MODULES): Remove handler.mod and sh.mod.
17662 (handler_mod_SOURCES): Removed.
17663 (handler_mod_CFLAGS): Likewise.
17664 (handler_mod_LDFLAGS): Likewise.
17665 (normal_mod_SOURCES): Remove normal/handler.c.
17666 Add script/main.c, script/script.c, script/execute.c,
17667 script/function.c, script/lexer.c, grub_script.tab.c
17668 and grub_script.yy.c.
17669 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17670 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17671 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17672 (grub_setup_SOURCES): Remove kern/parser.c.
17673 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17674 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17675 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17676 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17677 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17678 (grub_setup_SOURCES): Remove kern/parser.c.
17679 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17680 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17681 * include/grub/command.h (grub_command_iterate): Removed.
17682 (FOR_COMMANDS): New macro.
17683 * include/grub/dl.h (grub_dl): New member next.
17684 (grub_dl_iterate): Removed.
17685 (grub_dl_head): New variable declaration.
17686 (FOR_DL_MODULES): New macro.
17687 * include/grub/fs.h: Include list.h.
17688 (grub_fs): Make next first element.
17689 (grub_fs_list): New variable declaration.
17690 (grub_fs_register): Make inline.
17691 (grub_fs_unregister): Likewise.
17692 (grub_fs_iterate): Removed.
17693 (FOR_FILESYSTEMS): New macro.
17694 * include/grub/handler.h: Removed.
17695 * include/grub/list.h (grub_list_hook_t): Removed.
17696 (grub_list_test_t): Likewise.
17697 (grub_list_pop): Likewise.
17698 (grub_list_iterate): Likewise.
17699 (grub_list_insert): Likewise.
17700 (FOR_LIST_ELEMENTS): New macro.
17701 * include/grub/parser.h (grub_parser_class): Removed.
17702 (grub_parser_register): Likewise.
17703 (grub_parser_unregister): Likewise.
17704 (grub_parser_get_current): Likewise.
17705 (grub_parser_set_current): Likewise.
17706 (grub_register_rescue_parser): Likewise.
17707 (grub_rescue_parse_line): New function.
17708 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17709 * include/grub/script_sh.h (grub_script_function_list): New variable
17710 declaration.
17711 (FOR_SCRIPT_FUNCTIONS): New macro.
17712 (grub_script_function_iterate): Removed.
17713 (grub_normal_parse_line): New prototype.
17714 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17715 (FOR_DISABLED_TERM_INPUTS): Likewise.
17716 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17717 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17718 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17719 element.
17720 (grub_video_register): Inline.
17721 (grub_video_unregister): Likewise.
17722 (grub_video_adapter_list): New variable declaration.
17723 (grub_video_iterate): Removed.
17724 (FOR_VIDEO_ADAPTERS): New macro.
17725 * kern/dl.c (grub_dl_list): Removed. All users updated.
17726 (grub_dl_iterate): Removed.
17727 * kern/fs.c (grub_fs_list): Make global.
17728 (grub_fs_register): Removed.
17729 (grub_fs_unregister): Likewise.
17730 (grub_fs_iterate): Likewise.
17731 * kern/handler.c: Removed.
17732 * kern/list.c (grub_list_pop): Removed.
17733 (grub_list_iterate): Likewise.
17734 (grub_list_insert): Likewise.
17735 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17736 (grub_prio_list_insert): Don't use grub_list_insert.
17737 * kern/main.c (grub_register_rescue_parser): Don't call
17738 grub_register_rescue_parser.
17739 * kern/parser.c (grub_parser_class): Removed.
17740 (grub_parser_execute): Use grub_rescue_parse_line.
17741 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17742 (grub_rescue_parser): Removed.
17743 (grub_register_rescue_parser): Likewise.
17744 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17745 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17746 (grub_auth_check_authentication): Likewise.
17747 * normal/completion.c (iterate_command): Removed.
17748 (grub_normal_do_completion): Use FOR_COMMANDS.
17749 * normal/handler.c: Removed.
17750 * normal/main.c (read_config_file): Remove parser changing.
17751 (grub_normal_execute): Don't call read_handler_list.
17752 (grub_normal_read_line_real): Statically allocate prompt.
17753 (grub_cmdline_run): Use grub_normal_parse_line.
17754 (GRUB_MOD_FINI): Don't call free_handler_list.
17755 * normal/menu_entry.c (run): Likewise.
17756 * script/function.c (grub_script_function_list): Make global.
17757 (grub_script_function_iterate): Removed.
17758 * script/main.c (grub_normal_parse_line): Make global.
17759 (grub_sh_parser): Removed.
17760 (GRUB_MOD_INIT): Likewise.
17761 (GRUB_MOD_FINI): Likewise.
17762 * tests/lib/functional_test.c (grub_functional_test): Use
17763 FOR_LIST_ELEMENTS.
17764 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17765 (grub_test_run): Use FOR_LIST_ELEMENTS.
17766 * tests/lib/unit_test.c (main): Likewise.
17767 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17768 grub_list_pop.
17769 * util/grub-fstest.c (grub_term_input_class): Removed.
17770 (grub_term_output_class): Likewise.
17771 * util/grub-probe.c: Likewise.
17772 * util/i386/pc/grub-setup.c: Likewise.
17773 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17774 * util/grub-script-check.c (main): Don't call grub_init_all and
17775 grub_fini_all.
17776 * video/video.c (grub_video_adapter_list): Make global.
17777 (grub_video_register): Removed.
17778 (grub_video_unregister): Likewise.
17779 (grub_video_iterate): Likewise.
17780
6289c3a7
VS
177812010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17784 reported by Henrique Ferreiro.
17785
91460247
RM
177862010-06-09 Robert Millan <rmh@gnu.org>
17787
17788 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17789 ones, when both are available.
17790
0ea7c4f9
GS
177912010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17792
17793 Make --version uniform and avoid hard-coded program name.
17794
17795 * util/grub-mkimage.c (main): Use `program_name' instead of
17796 hard-coded string.
17797 * util/i386/pc/grub-setup.c (main): Likewise.
17798 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17799 * util/grub-install.in: Save the basename of $0 in $self, and use the
17800 latter in informational messages. Use the same format for --version
17801 as the binary programs.
17802 * util/grub-mkconfig.in: Likewise.
17803 * util/grub-mkrescue.in: Likewise.
17804 * util/grub-reboot.in: Likewise.
17805 * util/grub-set-default.in: Likewise.
17806 * util/i386/efi/grub-install.in: Likewise.
17807 * util/ieee1275/grub-install.in: Likewise.
17808 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17809
e8a6f3b6
GS
178102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17811
17812 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17813 embedding area. Use <= instead of == when checking for non-emptiness.
17814
f4d095d7
GS
178152010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17816
17817 * configure.ac: Add `.' to the directories searched for unifont.
17818
50e532ca
CW
178192010-06-08 Colin Watson <cjwatson@ubuntu.com>
17820
17821 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17822 grub_script.yy.h.
17823
d39f3dec
CW
178242010-06-08 Colin Watson <cjwatson@ubuntu.com>
17825
17826 * docs/grub.texi (History): Expand to cover GRUB 2.
17827 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17828 commands, not `terminal'.
17829 (serial): Likewise.
17830 (terminal_input): New section.
17831 (terminal_output): New section.
17832 (uppermem): New section (stub).
17833 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17834
6ef0ddb4
CW
178352010-06-08 Colin Watson <cjwatson@ubuntu.com>
17836
17837 * docs/grub.texi (Security): Menu entries are unrestricted by
17838 default, not restricted to superusers as I had previously thought.
17839 Reword to account for this.
17840
e0f4c438
CW
178412010-06-07 Colin Watson <cjwatson@ubuntu.com>
17842
17843 * kern/emu/misc.c (device_mapper_null_log): New function.
17844 (grub_device_mapper_supported): New function.
17845 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17846 prototype.
17847 * kern/emu/hostdisk.c (find_partition_start): Check whether
17848 device-mapper is supported before trying to use it.
17849 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17850
da908200
CW
178512010-06-07 Colin Watson <cjwatson@ubuntu.com>
17852
17853 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17854 (File name syntax): Likewise.
17855 (help): --all is no longer supported in GRUB 2. Be more precise
17856 about pattern matching.
17857
fb55c3ac
CW
178582010-06-07 Colin Watson <cjwatson@ubuntu.com>
17859
17860 * normal/completion.c (grub_normal_do_completion): When completing
17861 arguments to "set" and the current word contains an equals sign,
17862 skip to after the equals sign before starting completion.
17863
258c2573
CW
178642010-06-07 Colin Watson <cjwatson@ubuntu.com>
17865
17866 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17867
ee75515e
CW
178682010-06-07 Colin Watson <cjwatson@ubuntu.com>
17869
17870 * docs/grub.texi (Network): New section.
17871 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17872 `(nd)' as in GRUB Legacy.
17873 (pxe_unload): New section.
17874
a6a700aa
CW
178752010-06-07 Colin Watson <cjwatson@ubuntu.com>
17876
17877 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17878 in the rescue shell, so recommend using `set' instead. Thanks,
17879 Jordan Uggla.
17880
4003dd38
CW
178812010-06-07 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17884 (password): New section.
17885 (password_pbkdf2): New section.
17886 (search): New section.
17887 (Security): New section.
17888 (Troubleshooting): New section, currently very incomplete.
17889 (Invoking grub-mkpasswd-pbkdf2): New section.
17890 (Internals): New section, currently very incomplete.
17891
e1cbcc40
CW
178922010-06-07 Colin Watson <cjwatson@ubuntu.com>
17893
17894 * util/grub.d/00_header.in: Add some more quoting (of
17895 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17896 work again.
17897 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17898
db8fa1ad
CW
178992010-06-07 Colin Watson <cjwatson@ubuntu.com>
17900
17901 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17902 to `count', fixing variable shadowing that broke the -c option.
17903
179042010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17905
17906 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17907 in case they contain spaces.
17908
f28a9212
CW
179092010-06-04 Colin Watson <cjwatson@ubuntu.com>
17910
17911 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17912 "part_" to partmap module names, in line with grub-install.
17913 Reported by: Jindřich Makovička (Debian bug #584426).
17914
9cdfe32f
CW
179152010-06-04 Colin Watson <cjwatson@ubuntu.com>
17916
17917 * util/grub-mkimage.c: Make target-related error messages slightly
17918 more helpful; -O talks about "format". Explicitly point to the use
17919 of -O if no target is specified.
17920 Reported by: Didier Raboud (Debian bug #584415).
17921
795b593a
CW
179222010-06-03 Colin Watson <cjwatson@ubuntu.com>
17923
17924 * INSTALL: Document several build requirements for optional features
17925 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17926
9d9b5833
GS
179272010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17928
17929 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17930 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17931 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17932
0819fec8
CW
179332010-06-02 Colin Watson <cjwatson@ubuntu.com>
17934
17935 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17936 Thanks to Jordan Uggla for spotting this.
17937
49396b4f
VS
179382010-06-02 Aleš Nesrsta <starous@volny.cz>
17939
17940 Finally make USB usable.
17941
17942 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17943 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17944 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17945 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17946 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17947 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17948 (GRUB_OHCI_FSMPS): Likewise.
17949 (GRUB_OHCI_PERIODIC_START): Likewise.
17950 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17951 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17952 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17953 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17954 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17955 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17956 (grub_ohci_transaction): Likewise.
17957 (grub_ohci_transfer): Improve condition detection algorithms.
17958 Handle toggle property. Program the transactions correctly.
17959 Improve error handling. Various important fixups.
17960 (grub_ohci_portstatus): Put register writes in right order.
17961 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17962 (grub_uhci_transfer): Don't show "failed" message on success.
17963 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17964 array.
17965 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17966 determine its size.
17967 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17968 before initialization is completed. Use IN direction for empty
17969 transfers. Use last_trans and compute toggle.
17970 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17971 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17972 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17973 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17974 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17975 (grub_usb_device): Increase toggle to 256.
17976 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17977 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17978 GRUB_USBMS_SUBCLASS_SFF8070.
17979 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17980 (grub_scsi_inquiry): New member page and alloc_length.
17981 (grub_scsi_request_sense): New structure.
17982 (grub_scsi_request_sense_data): Likewise.
17983 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17984 control.
17985 * disk/scsi.c (grub_scsi_request_sense): New function.
17986 (grub_scsi_test_unit_ready): Likewise.
17987 (grub_scsi_inquiry): Fill new fields.
17988 (grub_scsi_read_capacity): Likewise.
17989 (grub_scsi_read10): Add request sense at the end.
17990 (grub_scsi_read12): Likewise.
17991 (grub_scsi_write10): Likewise.
17992 (grub_scsi_write12): Likewise.
17993 (grub_scsi_open): Add Test Unit Ready.
17994 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17995 Support additional subclasses. Con't clear halt yet. Activate the
17996 proper config. Calculate LUNs correctly.
17997 (grub_usbms_transfer): Various important fixups.
17998
179992010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18002 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18003 (grub_ohci_fini_hw): New function.
18004 (grub_ohci_restore_hw): Likewise.
18005 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18006 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18007 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18008
180092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18010
18011 Dedicated DMA allocations.
18012
18013 * bus/pci.c (grub_memalign_dma32): New function
18014 (grub_dma_free): Likewise.
18015 (grub_dma_get_virt): Likewise.
18016 (grub_dma_get_phys): Likewise.
18017 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18018 (grub_ohci_pci_iter): Use dma32_alloc.
18019 (grub_ohci_transfer): Likewise.
18020 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18021 (grub_usb_bulk_readwrite): Likewise.
18022 * include/grub/pci.h: Add declarations.
18023
180242010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 CS5536 support.
18027
18028 * bus/cs5536.c: New file.
18029 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18030 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18031 (cs5536_mod_SOURCES): New variable.
18032 (cs5536_mod_CFLAGS): Likewise.
18033 (cs5536_mod_LDFLAGS): Likewise.
18034 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18035 machine/pci.h.
18036 (kernel_img_SOURCES): Add bus/cs5536.c.
18037 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18038 usb_keyboard.mod.
18039 (usb_mod_SOURCES): New variable.
18040 (usb_mod_CFLAGS): New variable.
18041 (usb_mod_LDFLAGS): New variable.
18042 (usbtest_mod_SOURCES): New variable.
18043 (usbtest_mod_CFLAGS): New variable.
18044 (usbtest_mod_LDFLAGS): New variable.
18045 (ohci_mod_SOURCES): New variable.
18046 (ohci_mod_CFLAGS): New variable.
18047 (ohci_mod_LDFLAGS): New variable.
18048 (usbms_mod_SOURCES): New variable.
18049 (usbms_mod_CFLAGS): New variable.
18050 (usbms_mod_LDFLAGS): New variable.
18051 (usb_keyboard_mod_SOURCES): New variable.
18052 (usb_keyboard_mod_CFLAGS): New variable.
18053 (usb_keyboard_mod_LDFLAGS): New variable.
18054 * include/grub/smbus.h: New file.
18055 * include/grub/cs5536.h: New file.
18056
0b35b2a9
CW
180572010-06-02 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * util/grub.d/00_header.in: Add safety check to make sure that
18060 ${locale_dir} exists before trying to probe it.
18061
ca0afd5b
CW
180622010-06-02 Colin Watson <cjwatson@ubuntu.com>
18063
18064 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18065 per the GNU Coding Standards; this is now too obscure to be worth
18066 documenting.
18067 (QNX): Likewise.
18068 (chainloader): Remove cross-reference to `SCO UnixWare'.
18069
1c41aa78
CW
180702010-06-02 Colin Watson <cjwatson@ubuntu.com>
18071
18072 * docs/grub.texi (Chain-loading): New section.
18073 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18074 adjusted for GRUB 2.
18075 (SCO UnixWare): Likewise.
18076 (QNX): Likewise.
18077 (chainloader): Add reference to `Block list syntax'.
18078 (drivemap): New section.
18079 (parttool): New section.
18080
bb8ea0f5
CW
180812010-06-02 Colin Watson <cjwatson@ubuntu.com>
18082
18083 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18084 the grub shell'.
18085 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18086 (Installing GRUB using grub-install): Remove reference to the grub
18087 shell; mention `grub-mkimage' and `grub-setup' instead.
18088 (Invoking grub-install): Likewise.
18089 (Interface): Add reference to `Menu entry editor'.
18090 (serial): Remove `--device' option.
18091
288dd6ed
CW
180922010-06-02 Colin Watson <cjwatson@ubuntu.com>
18093
18094 * docs/grub.texi (Configuration): New section, documenting
18095 configuration file generation using grub-mkconfig. I've left a slot
18096 for documenting the full shell scripting format but have not yet
18097 started on writing that up.
18098 (Invoking grub-mkconfig): New section.
18099
34c9f0e9
CW
181002010-06-02 Colin Watson <cjwatson@ubuntu.com>
18101
18102 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18103 (GNU GRUB manual): Likewise.
18104 (General commands): Update description of `terminfo' for GRUB 2.
18105
9121567e
CW
181062010-06-02 Colin Watson <cjwatson@ubuntu.com>
18107
18108 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18109 (GRUB_MOD_INIT): Fix capitalisation.
18110 * docs/grub.texi (Command-line and menu entry commands): Document
18111 gettext and gptsync commands.
18112
ab631611
CW
181132010-06-02 Colin Watson <cjwatson@ubuntu.com>
18114
18115 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18116 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18117
bde4a9ac
CW
181182010-06-01 Colin Watson <cjwatson@ubuntu.com>
18119
18120 Add btrfs probing support, currently only in the single-device case.
18121
18122 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18123 function.
18124 (grub_guess_root_device): Call find_root_device_from_mountinfo
18125 before looking in /dev.
18126
b1d17e10
VS
181272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18130 GRUB_DISK_SIZE_UNKNOWN.
18131 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18132
dfbfe004
JS
181332010-05-31 Jiro SEKIBA <jir@unicus.jp>
18134
18135 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18136 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18137 corrupted or not synced properly.
18138
c2ffc8e9
VS
181392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18142 Reported by: Seth Goldberg.
18143
56293166
VS
181442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18147 addition of dest.
18148 Reported by: Seth Goldberg.
18149
7620e7de
VS
181502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18153 Reported by: Seth Goldberg.
18154
c837af3f
VS
181552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18158 64-bit address as signed on MIPS.
18159
c7c75cf4
CW
181602010-05-28 Colin Watson <cjwatson@ubuntu.com>
18161
18162 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18163 to the empty string.
18164
fa4b8490
BC
181652010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18166
18167 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18168
18169 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18170 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18171 * kern/misc.c (__enable_execute_stack): Disable on
18172 GRUB_MACHINE_EMU.
18173
a33075b9
CW
181742010-05-28 Colin Watson <cjwatson@ubuntu.com>
18175
18176 Make grub-probe work with symbolic links under /dev/mapper as well
18177 as with real block devices. The Linux world seems to be (at best)
18178 in transition here, and GRUB shouldn't get caught in the middle.
18179
18180 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18181 /dev/mapper.
18182
d8708134
CW
181832010-05-27 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18186 input files (in which case exit zero).
18187
db2102a0
CW
181882010-05-27 Colin Watson <cjwatson@ubuntu.com>
18189
18190 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18191 return NULL for various reasons even if it has a maximum-length
18192 buffer: for example, there might be a symlink loop, or the path
18193 might exceed PATH_MAX. If this happens, return NULL.
18194
5fdba519
RM
181952010-05-27 Robert Millan <rmh@gnu.org>
18196
18197 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18198 partmap module to handle cross-partmap setups.
18199 Reported by Orestes Mas. Gràcies!
18200
d1d368e4
CW
182012010-05-27 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * util/grub-mkrescue.in: Initialise override_dir rather than
18204 assuming that it's unset or empty in the environment.
18205
95ac3c73
GS
182062010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18207
18208 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18209 variable index into p_index to suppress a warning with -Wshadow.
18210
7d8c0213
BC
182112010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18212
18213 * INSTALL: Added flex >= 2.5.35 requirement.
18214
db4d5813
VS
182152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18218
f24f4300
VS
182192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 cmostest support.
18222
18223 * commands/i386/cmostest.c: New file.
18224 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18225 (cmostest_mod_SOURCES): New variable.
18226 (cmostest_mod_CFLAGS): Likewise.
18227 (cmostest_mod_LDFLAGS): Likewise.
18228 * conf/i386-pc.rmk: Likewise.
18229 * docs/grub.texi (Vendor power-on keys): New section.
18230 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18231 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18232 and GRUB_BUTTON_CMOS_ADDRESS.
18233 * util/grub.d/00_header.in: Handle powering-on by separate button.
18234
ad603f61
VS
182352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18238 Removed drawing_scrollbar argument. All users updated
18239 Fixes #29792.
18240 Reported by Jo Shields
18241
3ecb080a
VS
182422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18245 buffer since gfxterm handles double repaint.
18246
5f2316c1
VS
182472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18248
18249 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18250 * term/gfxterm.c (real_scroll): Likewise.
18251
9a25f885
VS
182522010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18255 before calling BIOS.
18256
39fbb79a
VS
182572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * include/grub/i18n.h: Always enable grub_gettext.
18260
228cfa97
VS
182612010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18264 partition naming style.
18265
21717c8f
CW
182662010-05-21 Colin Watson <cjwatson@ubuntu.com>
18267
18268 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18269 not the first option.
18270
c0f48e65
CW
182712010-05-20 Colin Watson <cjwatson@ubuntu.com>
18272
18273 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18274
96779aec
CW
182752010-05-20 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * util/misc.c: Move inclusion of <limits.h> to ...
18278 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18279
fa9d256e
GS
182802010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18281
18282 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18283 Fix merge error in NetBSD code.
18284 (find_partition_start) [__NetBSD__]: Likewise.
18285
123b7a85
BC
182862010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18287
18288 Fix grub-mkrescue usage unit testing.
18289
18290 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18291
74276c0d
CF
182922010-05-18 Christian Franke <franke@computer.org>
18293
18294 * util/grub.d/10_windows.in: Use path names instead of
18295 drive letters to prevent warning from Cygwin 1.7.
18296 Add drivemap command to menuentry if needed.
18297
c4f7b523
ST
182982010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18299
18300 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18301 gnumach and gnumach.gz.
18302
95b97950
VS
183032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 * include/grub/i18n.h (gettext): Inline instead of using #define.
18306 (grub_gettext): Likewise.
18307 (_): Likewise.
18308
01b8d2d7
VS
183092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18312 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18313 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18314 (main): Add a slash after pkglibdirroot.
18315
654e1d1e
VS
183162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * util/grub-install.in: Add missing "in" keyword.
18319
26966aeb
VS
183202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18323 Reported by: Seth Goldberg.
18324
75006747
VS
183252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18328
74cbf5bd
CW
183292010-05-18 Colin Watson <cjwatson@ubuntu.com>
18330
18331 * configure.ac: Check for Linux device-mapper support.
18332
18333 * util/hostdisk.c (device_is_mapped): New function.
18334 (find_partition_start): New function, partly broken out from
18335 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18336 device-mapper support added.
18337 (linux_find_partition): Use find_partition_start.
18338 (convert_system_partition_to_system_disk): Add `st' argument.
18339 Support Linux /dev/mapper/* devices if device-mapper support is
18340 available; only DM-RAID devices are understood at present.
18341 (find_system_device): Add `st' argument. Pass it to
18342 convert_system_partition_to_system_disk.
18343 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18344 find_system_device and convert_system_partition_to_system_disk. Use
18345 find_partition_start.
18346
18347 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18348 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18349 * util/deviceiter.c [__linux__]: Define MINOR.
18350 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18351 * util/mkdevicemap.c (grub_putchar): New function.
18352 (grub_getkey): New function.
18353 (grub_refresh): New function.
18354 (main): Set debug=all if -v -v is used.
18355
355b51e9
CW
183562010-05-18 Colin Watson <cjwatson@ubuntu.com>
18357
18358 Fix build with non-GNU libcs.
18359
18360 * util/misc.c (canonicalize_file_name): Move to ...
18361 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18362 grub_make_system_path_relative_to_its_root.
18363
7fb5c25f
CW
183642010-05-18 Colin Watson <cjwatson@ubuntu.com>
18365
18366 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18367 we handle finding grub-mkimage. Default to finding grub-mkimage in
18368 ${bindir} with program_transform_name applied, and provide a
18369 --grub-mkimage option to override this.
18370
1d3293d6
VS
183712010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 Remove grub-mkisofs.
18374
18375 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18376 (grub_mkisofs_SOURCES): Removed.
18377 (grub_mkisofs_CFLAGS): Removed.
18378 * util/mkisofs/defaults.h: Removed.
18379 * util/mkisofs/eltorito.c: Likewise.
18380 * util/mkisofs/exclude.h: Likewise.
18381 * util/mkisofs/hash.c: Likewise.
18382 * util/mkisofs/include/: Likewise.
18383 * util/mkisofs/include/fctldefs.h: Likewise.
18384 * util/mkisofs/include/mconfig.h: Likewise.
18385 * util/mkisofs/include/prototyp.h: Likewise.
18386 * util/mkisofs/include/statdefs.h: Likewise.
18387 * util/mkisofs/iso9660.h: Likewise.
18388 * util/mkisofs/joliet.c: Likewise.
18389 * util/mkisofs/match.c: Likewise.
18390 * util/mkisofs/match.h: Likewise.
18391 * util/mkisofs/mkisofs.c: Likewise.
18392 * util/mkisofs/mkisofs.h: Likewise.
18393 * util/mkisofs/msdos_partition.h: Likewise.
18394 * util/mkisofs/multi.c: Likewise.
18395 * util/mkisofs/name.c: Likewise.
18396 * util/mkisofs/rock.c: Likewise.
18397 * util/mkisofs/tree.c: Likewise.
18398 * util/mkisofs/write.c: Likewise.
18399
5dde9afe
VS
184002010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 Unify grub-mkimage accross platforms.
18403
18404 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18405 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18406 (grub_mkelfimage_SOURCES): Removed.
18407 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18408 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18409 (bin_UTILITIES): Add grub-mkimage.
18410 (grub_mkimage_SOURCES): New variable.
18411 (kernel_img_HEADERS): Remove machine/kernel.h.
18412 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18413 (pkglib_PROGRAMS): Add kernel.img.
18414 (kernel_img_HEADERS): Add machine/kernel.h.
18415 (kernel_img_FORMAT): Removed.
18416 (bin_UTILITIES): Remove grub-mkimage.
18417 (grub_mkimage_SOURCES): Removed.
18418 (grub_mkimage_CFLAGS): Likewise.
18419 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18420 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18421 (pkglib_PROGRAMS): Add kernel.img.
18422 (bin_UTILITIES): Remove grub-mkimage.
18423 (grub_mkimage_SOURCES): Removed.
18424 (grub_mkimage_CFLAGS): Likewise.
18425 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18426 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18427 (pkglib_PROGRAMS): Add kernel.img.
18428 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18429 (pkglib_PROGRAMS): Add kernel.img.
18430 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18431 (grub_mkimage_SOURCES): Removed.
18432 (grub_mkimage_CFLAGS): Likewise.
18433 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18434 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18435 (pkglib_PROGRAMS): Add kernel.img.
18436 (bin_UTILITIES): Remove grub-mkimage.
18437 (grub_mkimage_SOURCES): Removed.
18438 (grub_mkimage_CFLAGS): Likewise.
18439 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18440 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18441 (grub_mkimage_SOURCES): Removed.
18442 (grub_mkimage_CFLAGS): Likewise.
18443 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18444 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18445 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18446 (grub_pe32_optional_header): ... this.
18447 (grub_pe64_optional_header): ... and this. All users updated.
18448 (GRUB_PE32_PE32_MAGIC): Split into ..
18449 (GRUB_PE32_PE32_MAGIC): .. this.
18450 (GRUB_PE32_PE64_MAGIC): .. and this.
18451 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18452 * include/grub/elf.h (PT_GNU_STACK): New definition.
18453 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18454 * include/grub/i386/efi/kernel.h: Likewise.
18455 * include/grub/i386/kernel.h: Likewise.
18456 * include/grub/i386/pc/kernel.h: Likewise.
18457 * include/grub/i386/qemu/boot.h: Likewise.
18458 * include/grub/mips/kernel.h: Likewise.
18459 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18460 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18461 * include/grub/powerpc/kernel.h: Likewise.
18462 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18463 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18464 * include/grub/sparc64/kernel.h: Likewise.
18465 * include/grub/x86_64/efi/kernel.h: Likewise.
18466 * include/grub/x86_64/kernel.h: Likewise.
18467 * include/grub/offsets.h: New file.
18468 * include/grub/kernel.h (grub_module_info): Split into ...
18469 (grub_module_info32): ... this.
18470 (grub_module_info64): ... and this.
18471 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18472 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18473 (grub_boot_blocklist): Moved from here ...
18474 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18475 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18476 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18477 * include/grub/types.h (grub_target_to_host16): Removed.
18478 (grub_target_to_host32): Likewise.
18479 (grub_target_to_host64): Likewise.
18480 (grub_host_to_target16): Likewise.
18481 (grub_host_to_target32): Likewise.
18482 (grub_host_to_target64): Likewise.
18483 (grub_host_to_target_addr): Likewise.
18484
18485 Support grub-mkrescue for efi, coreboot and qemu.
18486
18487 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18488 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18489 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18490 * util/grub-mkrawimage.c: Moved from here ...
18491 * util/grub-mkimage.c: ... here. All users updated.
18492 (ALIGN_ADDR): Use image_target.
18493 (TARGET_NO_FIELD): New const.
18494 (image_target_desc): New type.
18495 (image_targets): New array.
18496 (grub_target_to_host64): Use image_target.
18497 (grub_target_to_host32): Likewise.
18498 (grub_target_to_host16): Likewise.
18499 (grub_host_to_target64): Likewise.
18500 (grub_host_to_target32): Likewise.
18501 (grub_host_to_target16): Likewise.
18502 (grub_host_to_target_addr): Likewise.
18503 (generate_image): Handle multiimage.
18504 (main): Require -O parameter. All users updated.
18505 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18506 util/efi/grub-mkimage.c
18507 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18508 New option --rom-directory.
18509 Use xorriso.
18510 * util/i386/efi/grub-mkimage.c: Removed.
18511 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18512 (grub_target_to_host32): Likewise.
18513 (grub_target_to_host64): Likewise.
18514 (grub_host_to_target16): Likewise.
18515 (grub_host_to_target32): Likewise.
18516 (grub_host_to_target64): Likewise.
18517 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18518 (grub_target_to_host32): Likewise.
18519 (grub_target_to_host64): Likewise.
18520 (grub_host_to_target16): Likewise.
18521 (grub_host_to_target32): Likewise.
18522 (grub_host_to_target64): Likewise.
18523
f4fc97d0
BC
185242010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18525
18526 Source tree is reorganized for emu build.
18527
18528 * include/grub/util/console.h: Move from here...
18529 * include/grub/emu/console.h: ...to here.
18530 * include/grub/util/getroot.h: Move from here...
18531 * include/grub/emu/getroot.h: ...to here.
18532 * include/grub/util/hostdisk.h: Move from here...
18533 * include/grub/emu/hostdisk.h: ...to here.
18534 * util/console.c: Move from here...
18535 * kern/emu/console.c: ...to here.
18536 * util/getroot.c: Move from here...
18537 * kern/emu/getroot.c: ...to here.
18538 * util/grub-emu.c: Move from here...
18539 * kern/emu/main.c: ...to here.
18540 * util/hostdisk.c: Move from here...
18541 * kern/emu/hostdisk.c: ...to here.
18542 * util/hostfs.c: Move from here...
18543 * kern/emu/hostfs.c: ...to here.
18544 * util/mm.c: Move from here...
18545 * kern/emu/mm.c: ...to here.
18546 * util/pci.c: Move from here...
18547 * bus/emu/pci.c: ...to here.
18548 * util/sdl.c: Move from here...
18549 * video/emu/sdl.c: ...to here.
18550 * util/time.c: Move from here...
18551 * kern/emu/time.c: ...to here.
18552 * util/usb.c: Move from here...
18553 * bus/usb/emu/usb.c: ...to here.
18554
18555 * include/grub/emu/misc.h: New header for grub-emu functions.
18556 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18557
18558 * conf/any-emu.rmk: Rule updates for above renames.
18559 * conf/common.rmk: Likewise.
18560 * conf/i386-pc.rmk: Likewise.
18561 * conf/i386-qemu.rmk: Likewise.
18562 * conf/mips.rmk: Likewise.
18563 * conf/sparc64-ieee1275.rmk: Likewise.
18564 * conf/x86-efi.rmk: Likewise.
18565
18566 * disk/lvm.h: #include updates for above renames.
18567 * util/grub-mkrelpath.c: Likewise.
18568 * util/grub-probe.c: Likewise.
18569 * util/i386/pc/grub-setup.c: Likewise.
18570 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18571 * kern/emu/console.c: Likewise.
18572 * kern/emu/getroot.c: Likewise.
18573 * kern/emu/hostdisk.c: Likewise.
18574 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18575
18576 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18577 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18578 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18579 * util/misc.c: Remove grub-emu functions.
18580
cced9145
VS
185812010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 Fix gfxmenu crash.
18584 Reported by: Thorsten Grützmacher.
18585
18586 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18587 timeout hook.
18588 (circprog_set_property): Register and unregister timeout hook.
18589 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18590 (label_destroy): Free template. and unregister hook.
18591 (label_set_state): New function.
18592 (label_set_property): Handle templates and hooks.
18593 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18594 timeout hook.
18595 (progress_bar_set_property): Register and unregister timeout hook.
18596 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18597 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18598 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18599 (update_timeout_visit): Removed.
18600 (update_timeouts): New function.
18601 (redraw_timeouts): Likewise.
18602 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18603 (grub_gfxmenu_clear_timeout): Likewise.
18604 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18605 (grub_gfxmenu_timeout_notify): Likewise.
18606 (grub_gfxmenu_timeout_notifications): New external variable.
18607 (grub_gfxmenu_timeout_register): New function.
18608 (grub_gfxmenu_timeout_unregister): Likewise.
18609
c6e5caab
VS
186102010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Transform (broken) vga terminal into (working) vga video driver.
18613
18614 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18615 video/i386/pc/vga.c.
18616 * include/grub/video.h (grub_video_driver_id):
18617 Add GRUB_VIDEO_DRIVER_VGA.
18618 * term/i386/pc/vga.c: Renamed to ...
18619 * video/i386/pc/vga.c: ...this
18620 (DEBUG_VGA): Removed.
18621 (CHAR_WIDTH): Likewise.
18622 (CHAR_HEIGHT): Likewise.
18623 (TEXT_WIDTH): Likewise.
18624 (TEXT_HEIGHT): Likewise.
18625 (DEFAULT_FG_COLOR): Likewise.
18626 (DEFAULT_BG_COLOR): Likewise.
18627 (colored_char): Likewise.
18628 (xpos): Likewise.
18629 (ypos): Likewise.
18630 (cursor_state): Likewise.
18631 (fg_color): Likewise.
18632 (bg_color): Likewise.
18633 (text_buf): Likewise.
18634 (page): Likewise.
18635 (font): Likewise.
18636 (framebuffer): New variable.
18637 (set_read_map): Disabled.
18638 (setup): New variable.
18639 (is_target): Likewise.
18640 (grub_vga_mod_init): Likewise.
18641 (grub_vga_mod_fini): Likewise.
18642 (check_vga_mem): Likewise.
18643 (write_char): Likewise.
18644 (write_cursor): Likewise.
18645 (scroll_up): Likewise.
18646 (grub_vga_putchar): Likewise.
18647 (grub_vga_getcharwidth): Likewise.
18648 (grub_vga_getwh): Likewise.
18649 (grub_vga_getxy): Likewise.
18650 (grub_vga_gotoxy): Likewise.
18651 (grub_vga_cls): Likewise.
18652 (grub_vga_setcolorstate): Likewise.
18653 (grub_vga_setcursor): Likewise.
18654 (grub_video_vga_init): New function.
18655 (grub_video_vga_setup): Likewise.
18656 (grub_video_vga_fini): Likewise.
18657 (update_target): Likewise.
18658 (grub_video_vga_blit_bitmap): Likewise.
18659 (grub_video_vga_blit_render_target): Likewise.
18660 (grub_video_vga_set_active_render_target): Likewise.
18661 (grub_video_vga_get_active_render_target): Likewise.
18662 (grub_video_vga_swap_buffers): Likewise.
18663 (grub_video_vga_set_palette): Likewise.
18664 (grub_video_vga_get_info_and_fini): Likewise.
18665 (grub_vga_term): Removed.
18666 (grub_video_vga_adapter): New variable.
18667 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18668 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18669
2bf61a98
VS
186702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * video/readers/jpeg.c: Indented.
18673
09ddcd11
VS
186742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 Various jpeg cleanups.
18677
18678 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18679 (grub_jpeg_decode_quan_table): Use sizeof.
18680 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18681
e5507505
PH
186822010-05-05 Peter Hurley <No e-mail available> (tiny change)
18683
18684 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18685 tables. Ignore non-last ac bit.
18686 (grub_jpeg_decode_quan_table): Likewise.
18687
7e720a9b
VS
186882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18691 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18692 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18693 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18694 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18695 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18696
a7fc080b
VS
186972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18700 error.
18701
2bf6012d
VS
187022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18705
265d68cd
VS
187062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18709 condition.
18710
187112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18712
18713 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18714 part.
18715
265d68cd 187162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18717
18718 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18719 pointers.
18720
265d68cd 187212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18722
18723 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18724
d1b61374
CF
187252010-05-01 Christian Franke <franke@computer.org>
18726
18727 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18728 Remove broken Cygwin path conversion.
18729 * util/misc.c: [__CYGWIN__] Add include and define.
18730 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18731 for Cygwin 1.7.
18732 (make_system_path_relative_to_its_root): Simplify loop, replace early
18733 return by break.
18734 [__CYGWIN__] Add conversion to win32 path.
18735 Include "/" case in trailing slash removal.
18736
3558c6e9
VS
187372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18740 Reported by: Seth Goldberg
18741
f5f3ff93
VS
187422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * commands/help.c (grub_cmd_help): Fix a typo.
18745 Reported by: Seth Goldberg
18746
d8b5cd40
VS
187472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18750 name and add N_.
18751 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18752 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18753 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18754 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18755 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18756 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18757 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18758 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18759 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18760 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18761 * normal/context.c (GRUB_MOD_INIT): Likewise.
18762 * normal/main.c (GRUB_MOD_INIT): Likewise.
18763 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18764 * term/serial.c (GRUB_MOD_INIT): Likewise.
18765 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18766
88c14915
VS
187672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18770 extra == 0.
18771
165134bc
VS
187722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * commands/iorw.c: New file.
18775 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18776 (iorw_mod_SOURCES): New variable.
18777 (iorw_mod_CFLAGS): Likewise.
18778 (iorw_mod_LDFLAGS): Likewise.
18779
c5ac9b32
VS
187802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 Hotkey support
18783
18784 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18785 * normal/main.c (hotkey_aliases): New variable.
18786 (grub_normal_add_menu_entry): Parse "--hotkey".
18787 * normal/menu_text.c (run_menu): Handle hotkeys.
18788
ce60689c
VS
187892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * kern/i386/coreboot/init.c (grub_machine_init): Call
18792 grub_machine_mmap_init on qemu.
18793
0359d006
VS
187942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * boot/i386/qemu/boot.S: Add a missing .code16.
18797
7819a456
VS
187982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Use LBIO on coreboot.
18801
18802 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18803 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18804 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18805 New declaration.
18806 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18807 grub_machine_mmap_init on coreboot.
18808 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18809 GRUB_LINUXBIOS_MEMBER_LINK.
18810 (grub_machine_mmap_iterate): Fix declaration.
18811 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18812
7210dca9
VS
188132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 Split coreboot and multiboot ports.
18816
18817 * conf/i386-multiboot.rmk: New file.
18818 * configure.ac: Add multiboot port.
18819 * include/grub/i386/multiboot/boot.h: New file.
18820 * include/grub/i386/multiboot/console.h: Likewise.
18821 * include/grub/i386/multiboot/init.h: Likewise.
18822 * include/grub/i386/multiboot/kernel.h: Likewise.
18823 * include/grub/i386/multiboot/loader.h: Likewise.
18824 * include/grub/i386/multiboot/memory.h: Likewise.
18825 * include/grub/i386/multiboot/serial.h: Likewise.
18826 * include/grub/i386/multiboot/time.h: Likewise.
18827 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18828 * loader/multiboot.c: Likewise.
18829 * loader/multiboot_mbi2.c: Likewise.
18830 * util/grub-mkrescue.in: Generate multiboot rescue.
18831
6f8aaf68
VS
188322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18833
3080f7a7
VS
18834 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18835
188362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18839
18840 * commands/terminal.c (abstract_terminal): New struct.
18841 (handle_command): New function. Based on grub_cmd_terminal_input.
18842 (grub_cmd_terminal_input): Use handle_command.
18843 (grub_cmd_terminal_output): Use handle_command.
18844
a8ebb841
BC
188452010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18846
18847 Fix comment handling.
18848
18849 * tests/grub_script_comments.in: New testcase.
18850 * conf/tests.rmk: Rules for new testcase.
18851 * script/yylex.l: Updated flex rules.
18852
bb06ba08
ST
188532010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18854
18855 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18856 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18857 if argc is 1.
bb06ba08 18858
cc9d2425
VS
188592010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18862 autogen issues.
18863
460d8402
CF
188642010-04-26 Christian Franke <franke@computer.org>
18865
18866 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18867 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18868 (grub_get_prefix): Remove function.
18869 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18870 make_system_path_relative_to_its_root ().
18871 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18872
553c01f9
CF
188732010-04-24 Christian Franke <franke@computer.org>
18874
18875 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18876 (kernel_img_LDFLAGS): Remove -static-libgcc.
18877
2aec1692
CF
188782010-04-24 Christian Franke <franke@computer.org>
18879
18880 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18881 and CHECK_END_SYMBOL if grub-emu is built.
18882 Unset TARGET_OBJ2ELF if grub-emu is built
18883 without module support.
18884
f67dc308
JS
188852010-04-24 Jiro SEKIBA <jir@unicus.jp>
18886
18887 Nilfs2 support.
18888
18889 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18890 (grub_fstest_SOURCES): Likewise.
18891 (pkglib_MODULES): Add nilfs2.mod.
18892 (nilfs2_mod_SOURCES): New variable.
18893 (nilfs2_mod_CFLAGS): Likewise.
18894 (nilfs2_mod_LDFLAGS): Likewise.
18895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18896 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18897 * fs/nilfs2.c: New file.
18898
4ba8d354
VS
188992010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18902 is not supported.
18903
0d2c20c6
GS
189042010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18905
18906 Add grub-mkconfig support for NetBSD.
18907
18908 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18909 * util/grub-mkconfig.in: export new NetBSD specific variables.
18910 * po/POTFILES-shell: added 10_netbsd.in.
18911 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18912
bc4a2d83
BC
189132010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18914
18915 Fix emu build with grub-emu-pci and grub-emu-modules.
18916
18917 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18918 functions.
18919 * include/grub/libpciaccess.h: New file.
18920 * conf/any-emu.rmk: Update kernel headers for emu build.
18921
f48c87aa
VS
189222010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18925
18959385
VS
189262010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18929
0037de3f
VS
189302010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18933 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18934 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18935 util/ieee1275/ofpath.c.
18936 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18937 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18938 * include/grub/sparc64/ieee1275/boot.h
18939 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18940 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18941 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18942 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18943 const char *.
18944 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18945 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18946 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18947 install.
18948
38e55e90
GS
189492010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18950
18951 * util/grub-mkconfig.in: Corrected two == equality tests.
18952 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18953 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18954 expect a number appended to it.
18955 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18956 expects a number appended to it.
18957
a9e6ff28
VS
189582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18961
0b830b8f
VS
189622010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * util/hostdisk.c (make_device_name): Change to new partition naming.
18965
0973daeb
VS
189662010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18969
460d8402 189702010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18971
18972 * Makefile.in: Add missing localedir setting.
18973
0b456309
CW
189742010-04-14 Colin Watson <cjwatson@ubuntu.com>
18975
18976 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18977 mistake in r2156. Noticed by Anthony Fok.
18978
18979 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18980 @localedir@.
18981 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18982
08f46d62
BC
189832010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18984
18985 Fix a spurious, uninitialized variable warning.
18986
18987 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18988 Initialize variable, shdr.
18989 (grub_freebsd_load_elfmodule): Likewise.
18990 (grub_freebsd_load_elf_meta): Likewise.
18991
8c4a72d4
BC
189922010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18993
18994 Fix for escaped dollar in double quoted strings.
18995
18996 * script/yylex.l: Updated flex rules.
18997 * conf/tests.rmk: Rule for new testcase.
18998 * tests/grub_script_dollar.in: New testcase.
18999
ce44826e
CPE
190002010-04-13 Carles Pina i Estany <carles@pina.cat>
190012010-04-13 Colin Watson <cjwatson@ubuntu.com>
19002
19003 Enclose all translated strings in grub.cfg in single quotes, and
19004 escape them appropriately (Ubuntu bug #552921).
19005
19006 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19007 * util/grub.d/10_hurd.in: Use it.
19008 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19009 * util/grub.d/10_linux.in (linux_entry): Likewise.
19010
4b0cd8f8
VS
190112010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 Fix cygwin compilation.
19014
19015 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19016 * include/grub/misc.h (__register_frame_info)
19017 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19018 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19019 * kern/misc.c (__register_frame_info)
19020 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19021 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19022
01fcf061
VS
190232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19026
5d04b11e
VS
190272010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 Unify libgcc processing.
19030
19031 * Makefile.in (kernel_img_LDFLAGS): New variable.
19032 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19033 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19034 overwriting.
19035 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19036 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19037 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19038 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19039 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19040 overwriting. Remove -lgcc and -static-libgcc
19041 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19042 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19043 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19044 (kernel_img_LDFLAGS): Append instead of overwriting.
19045 Remove -lgcc and -static-libgcc
19046 * conf/sparc64-ieee1275.rmk: Likewise.
19047 * include/grub/powerpc/libgcc.h: Move to ...
19048 * include/grub/libgcc.h: .. this.
19049 * include/grub/libgcc.h: Don't export most of the function on x86.
19050 (__bswapsi2): New export.
19051 (__bswapdi2): Likewise.
19052 * include/grub/mips/libgcc.h: Removed.
19053 * include/grub/sparc64/libgcc.h: Likewise.
19054
b7f3ac29
VS
190552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19058 disk_info_msg (conflicts with gettexting into languages with cases).
19059
2c7031b1
GS
190602010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19061
19062 Add grub-probe support for NetBSD.
19063
19064 * util/getroot.c (find_root_device): Convert block device to
19065 character device on NetBSD.
19066 * util/probe.c (probe): Require character device on NetBSD.
19067 * util/hostdisk.c: NetBSD specific headers.
19068 (configure_device_driver): new function to tune device driver
19069 parameters (currently only for NetBSD floppy driver).
19070 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19071 via disklabel ioctl).
19072 (open_device): call configure_device_driver on NetBSD.
19073 (convert_system_partition_to_system_disk): NetBSD specific code.
19074 (device_is_wholedisk): Likewise.
19075 (grub_util_biosdisk_get_grub_dev): Likewise.
19076 (make_device_name): Fixed a typo in bsd_part_str.
19077 * configure.ac: check for opendisk() and getrawpartition() on
19078 NetBSD and set LIBUTIL.
19079 * Makefile.in: add LIBUTIL to LIBS.
19080
f516290c
BC
190812010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19082
19083 Documentation fix.
19084
19085 * util/grub-script-check.c: Better help message.
19086
d8dcc0df
BC
190872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19088
19089 Fix FreeBSD build.
19090
19091 * configure.ac: Flex version check.
19092 * conf/common.rmk: Add -Wno-error to sh.mod.
19093 * script/yylex.l: Remove all #pragma.
19094
6734334a
VS
190952010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19098 prototype.
19099 Reported by: Seth Goldberg.
19100
daea6abd
VS
191012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19102
19103 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19104 Rename "module" to "module2".
19105 Reported by: Seth Goldberg.
19106
f2fd9d2b
VS
191072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19110 EXPORT_FUNC.
19111 Reported by: Seth Goldberg.
19112
be124579
VS
191132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * lib/posix_wrap/locale.h: Add missing file.
19116 Reported by: Seth Goldberg.
19117
ef5da797
VS
191182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 grub-emu module load support.
19121
19122 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19123 NO_DYNAMIC_MODULES switched to this.
19124 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19125 (CFLAGS): Likewise.
19126 * conf/any-emu.rmk: Generate symlist.
19127 (kernel_img_HEADERS): Add util/datetime.h.
19128 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19129 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19130 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19131 kern/$(target_cpu)/cache.S.
19132 * configure.ac (grub-emu-modules): New option.
19133 * genmk.rb: Handle multiple source lists.
19134 * include/grub/sdl.h: New file.
19135 * include/grub/libusb.h: Likewise.
19136 * util/grub-emu.c (main): Hanle (host) root.
19137 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19138 GRUB_ERR_UNKNOWN_DEVICE.
19139 * util/misc.c: Move mm functions to ...
19140 * util/mm.c: ... here. All users updated.
19141
47822096
VS
191422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19145 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19146 missing files.
19147 (maintainer-clean): Remove libgcrypt-grub.
19148
5d7e7445
VS
191492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19152
25f4e252
EC
191532010-04-09 EFI Coder <eficoder@hotmail.com>
19154
19155 * normal/menu_text.c (print_message): Clean up the message and show
19156 the Fn information when on EFI
19157 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19158
027de555
VS
191592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19162 All users updated.
19163 * normal/crypto.c (read_crypto_list): Likewise.
19164 * normal/dyncmd.c (read_command_list): Likewise.
19165 * normal/term.c (read_terminal_list): Likewise.
19166 * normal/main.c (read_lists): Use explicit prefix.
19167 (read_lists_hook): Use read_lists.
19168 (grub_normal_execute): Likewise.
19169
47779711
VS
191702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19173 Reported by: Thomas Schmitt.
19174 Add -no-emul-boot to grub-mkisofs parameters.
19175
1118c32e
VS
191762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 * font/font.c: Indented.
19179
7d652447
BC
191802010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19181
19182 Elif support to GRUB script (by Deepak Vankadaru).
19183
19184 * tests/grub_script_if.in: New testcase.
19185 * conf/tests.rmk: Rule for new testcase.
19186 * script/parser.y: Grammar rules for elif.
19187
34bb22df
BC
191882010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19189
19190 While and until loops support to GRUB script.
19191
19192 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19193 (grub_script_create_cmdwhile): New function prototype.
19194 (grub_script_execute_cmdwhile): New function prototype.
19195 * script/execute.c (grub_script_execute_cmdwhile): New function.
19196 * script/parser.y (command): New commands.
19197 (whilecmd): New grammar rule.
19198 (untilcmd): New grammar rule.
19199 * script/script.c (grub_script_create_cmdwhile): New function.
19200 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19201 function.
19202
19203 * tests/grub_script_while1.in: New testcase.
19204 * conf/tests.rmk: Rule for new testcase.
19205
e215d8e0
VS
192062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19209 as *.jpg.
19210
d7c43ba1
MV
192112010-04-09 Mario Vazquez <mariovazq@gmail.com>
19212
19213 GRUB_BACKGROUND support.
19214
19215 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19216 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19217
d64795c0
VS
192182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19221 Idea by: Mario Vazquez
d64795c0
VS
19222
19223 * util/grub.d/00_header.in: Load pf2 and image modules.
19224
f267f83a
VS
192252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 grub-mkconfig multiple terminal support.
19228
19229 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19230 * util/grub.d/00_header.in: Likewise.
19231
b7841ceb
VS
192322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19235 we use cd $(srcdir).
19236
df60998c
CW
192372010-04-08 Colin Watson <cjwatson@ubuntu.com>
19238
19239 * util/grub.d/10_linux.in: Only use the first word of
19240 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19241 spaces in GRUB_DISTRIBUTOR.
19242 * util/grub.d/10_kfreebsd.in: Likewise.
19243 * util/grub.d/10_hurd.in: Likewise.
19244
fa09c82e
BC
192452010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19246
14e18ae3 19247 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19248
19249 * tests/util/grub-shell.in: Remove -serial stdio option.
19250
daf892b3
BC
192512010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 POSIX header file wrappers.
19254
19255 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19256 equivalents.
19257 * lib/posix_wrap/ctype.h: Likewise.
19258 * lib/posix_wrap/errno.h: Likewise.
19259 * lib/posix_wrap/langinfo.h: Likewise.
19260 * lib/posix_wrap/limits.h: Likewise.
19261 * lib/posix_wrap/localcharset.h: Likewise.
19262 * lib/posix_wrap/stdint.h: Likewise.
19263 * lib/posix_wrap/stdio.h: Likewise.
19264 * lib/posix_wrap/stdlib.h: Likewise.
19265 * lib/posix_wrap/string.h: Likewise.
19266 * lib/posix_wrap/sys/types.h: Likewise.
19267 * lib/posix_wrap/unistd.h: Likewise.
19268 * lib/posix_wrap/wchar.h: Likewise.
19269 * lib/posix_wrap/wctype.h: Likewise.
19270 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19271 (grub_script.yy.h): Likewise.
19272 * script/yylex.l: Remove POSIX emulation #defines.
19273 * Makefile.in (POSIX_CFLAGS): New variable.
19274 (GNULIB_UTIL_CFLAGS): Likewise.
19275
19276 Regexp support.
19277
19278 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19279 (regexp_mod_SOURCES): New variable.
19280 (regexp_mod_CFLAGS): Likewise.
19281 (regexp_mod_LDFLAGS): Likewise.
19282 * commands/regexp.c: New file.
19283 * gnulib/regcomp.c: New file. Imported from gnulib.
19284 * gnulib/regex.c: Likewise.
19285 * gnulib/regex_internal.c: Likewise.
19286 * gnulib/regex_internal.h: Likewise.
19287 * gnulib/regexec.c: Likewise.
19288 * gnulib/regex.h: Likewise.
19289
974ac4f7
VS
192902010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19293 unsupported video mode types.
19294
2622c3ff
VS
192952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19298
064cb524
VS
192992010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19302 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19303
a8c3b552
VS
193042010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 Remove unused grub_vga_get_font.
19307
19308 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19309 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19310
187bbe3d
GS
193112010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19312
19313 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19314 * include/grub/misc.h: Likewise.
19315
b9396631
GS
193162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19317
19318 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19319 for which failure is fatal.
19320
50479feb
GS
193212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19322
19323 * util/grub-install.in: Use mkdir -p to create grub directory.
19324 * util/i386/efi/grub-install.in: Likewise.
19325 * util/ieee1275/grub-install.in: Likewise.
19326
b1654fdf
GS
193272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19328
19329 * Makefile.in (LEX): new variable.
19330
bd5a6415
GS
193312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19332
19333 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19334 `=' and added double quotes on operands of this equality test.
19335
3db3a82b
VS
193362010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 * Makefile.in (uninstall): Remove a leftover debug echo.
19339 Reported by: Grégoire Sutre
19340
38023412
VS
193412010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19342
19343 MIPS multiboot2 support.
19344
19345 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19346 (multiboot2_mod_SOURCES): New variable.
19347 (multiboot2_mod_CFLAGS): Likewise.
19348 (multiboot2_mod_LDFLAGS): Likewise.
19349 (multiboot2_mod_ASFLAGS): Likewise.
19350 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19351 definition.
19352 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19353 (MULTIBOOT_MBI_REGISTER): Likewise.
19354 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19355 (MULTIBOOT_ELF32_MACHINE): Likewise.
19356 (MULTIBOOT_ELF64_MACHINE): Likewise.
19357 * include/grub/mips/multiboot.h: New file.
19358 * include/grub/video.h (grub_video_driver_id): New type
19359 GRUB_VIDEO_DRIVER_SM712.
19360 (grub_video_get_info_and_fini): Export.
19361 (grub_video_get_palette): Likewise.
19362 (grub_video_get_driver_id): Likewise.
19363 * include/multiboot2.h: Resynced with spec.
19364 * loader/i386/multiboot.c: Moved from here ...
19365 * loader/multiboot.c: ... here. All users updated.
19366 (grub_multiboot_boot): Use platform-specific macros.
19367 * loader/i386/multiboot_elfxx.c: Moved from here ...
19368 * loader/multiboot_elfxx.c: ... here. All users updated.
19369 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19370 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19371 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19372
47674667
VS
193732010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19374
19375 Import gnulib argp module.
19376
19377 * gnulib/argp-ba.c: New file.
19378 * gnulib/argp-eexst.c: Likewise.
19379 * gnulib/argp-fmtstream.c: Likewise.
19380 * gnulib/argp-fmtstream.h: Likewise.
19381 * gnulib/argp-fs-xinl.c: Likewise.
19382 * gnulib/argp-help.c: Likewise.
19383 * gnulib/argp-namefrob.h: Likewise.
19384 * gnulib/argp-parse.c: Likewise.
19385 * gnulib/argp-pin.c: Likewise.
19386 * gnulib/argp-pv.c: Likewise.
19387 * gnulib/argp-pvh.c: Likewise.
19388 * gnulib/argp-version-etc.c: Likewise.
19389 * gnulib/argp-version-etc.h: Likewise.
19390 * gnulib/argp-xinl.c: Likewise.
19391 * gnulib/argp.h: Likewise.
19392
495442ed
VS
193932010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * kern/device.c (grub_device_iterate): Clear errors after failed
19396 opening device.
19397
f9fd65df
VS
193982010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19401 returned by firmware.
19402
af09641e
VS
194032010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19406 compilation on coreboot and qemu
19407
016883a5
VS
194082010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * include/multiboot2.h: Resync with spec.
19411
f97e1f7d
VS
194122010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 Multiboot2 tag support
19415
19416 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19417 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19418 Remove loader/multiboot_loader.c.
19419 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19420 (grub_multiboot2_real_boot): Likewise.
19421 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19422 (grub_get_multiboot_mmap_count): New proto.
19423 (grub_fill_multiboot_mmap): Likewise.
19424 (grub_multiboot_set_video_mode): Likewise.
19425 (grub_multiboot_set_console): Likewise.
19426 (grub_multiboot_load): Likewise.
19427 (grub_multiboot_load_elf): Likewise.
19428 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19429 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19430 * include/multiboot.h: Resynced with specification.
19431 * include/multiboot2.h: Resynced with specification.
19432 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19433 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19434 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19435 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19436 users updated.
19437 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19438 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19439 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19440 Removed.
19441 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19442 Moved from here...
19443 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19444 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19445 Moved from here...
19446 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19447 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19448 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19449 All users updated.
19450 * loader/i386/multiboot_mbi2.c: New file.
19451
3506b90b
VS
194522010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 Resync with gnulib.
19455
19456 * Makefile.in (GNULIB_CFLAGS): New variable.
19457 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19458 (grub_script_check_CFLAGS): New variable.
19459 * gnulib/alloca.h: Resync with gnulib.
19460 * gnulib/error.c: Likewise.
19461 * gnulib/error.h: Likewise.
19462 * gnulib/fnmatch.c: Likewise.
19463 * gnulib/fnmatch_loop.c: Likewise.
19464 * gnulib/getdelim.c: Likewise.
19465 * gnulib/getline.c: Likewise.
19466 * gnulib/getopt.c: Likewise.
19467 * gnulib/getopt1.c: Likewise.
19468 * gnulib/getopt_int.h: Likewise.
19469 * gnulib/gettext.h: Likewise.
19470 * gnulib/progname.c: Likewise.
19471 * gnulib/progname.h: Likewise.
19472
394a3120
GS
194732010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19474
19475 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19476 which is the case with --disabled-nls.
19477
19478 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19479 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19480 * util/misc.c: Likewise.
19481 * util/mkisofs/mkisofs.c: Likewise.
19482 * util/mkisofs/mkisofs.h: Likewise.
19483
969d1c78
VS
194842010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 Simplify Apple CC support.
19487
19488 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19489 Add 0 byte at the end not to have a symbol with empty target.
19490 * mmap/i386/pc/mmap_helper.S: Likewise.
19491 * genmk.rb: Ignore errors 2030 and 2050.
19492 * kern/i386/pc/startup.S: Use LOCAL when possible.
19493
8d2977bb
BC
194942010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19495
19496 Testcase and the fix for final semicolon on cmdline.
19497
19498 * tests/grub_script_final_semicolon.in: New testcase.
19499 * conf/tests.rmk: Rules for the new testcase.
19500 * script/parser.y: Grammar fix.
19501
a7bd6915
BC
195022010-03-26 BVK Chaitanya <bvk@localhost>
19503
19504 Blank lines testcase for GRUB script.
19505
19506 * tests/grub_script_blanklines.in: New testcase.
19507 * conf/tests.rmk: Rules for the new testcase.
19508
e4ff6628
VS
195092010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 Don't use __FILE__.
19512
19513 * genmk.rb: Add -DGRUB_FILE to all C targets.
19514 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19515 * include/grub/list.h: Likewise.
19516 * include/grub/misc.h: Likewise.
19517 * include/grub/mm.h: Likewise.
19518 * include/grub/test.h: Likewise.
19519 * kern/mm.c: Likewise.
19520 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19521
6a5cf6b6
VS
195222010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 Sunpc partitions support.
19525
19526 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19527 (grub_fstest_SOURCES): Likewise.
19528 (pkglib_MODULES): Add part_sunpc.mod.
19529 (part_sunpc_mod_SOURCES): New variable.
19530 (part_sunpc_mod_CFLAGS): Likewise.
19531 (part_sunpc_mod_LDFLAGS): Likewise.
19532 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19533 * partmap/sunpc.c: New file.
19534
746d9045
BC
195352010-03-26 BVK Chaitanya <bvk@localhost>
19536
19537 For loop support to GRUB script.
19538
19539 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19540 (grub_script_create_cmdfor): New function prototype.
19541 (grub_script_execute_cmdfor): New function prototype.
19542 * script/execute.c (grub_script_execute_cmdfor): New function.
19543 * script/parser.y (command): New for command.
19544 (forcmd): New grammar rule.
19545 * script/script.c (grub_script_create_cmdfor): New function.
19546 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19547 function.
19548 * tests/grub_script_for1.in: New testcase.
19549 * conf/tests.rmk: Rules for new testcase.
19550
18486b18
VS
195512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19552
19553 Nested partitions
19554
19555 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19556 'partition' is NULL, grub_partition_get_start already does that.
19557 * commands/loadenv.c (check_blocklists): Likewise.
19558 (write_blocklists): Likewise.
19559 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19560 (grub_fstest_SOURCES): Likewise.
19561 (pkglib_MODULES): Add part_bsd.mod.
19562 (part_bsd_mod_SOURCES): New variable.
19563 (part_bsd_mod_CFLAGS): Likewise.
19564 (part_bsd_mod_LDFLAGS): Likewise.
19565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19566 (grub_emu_SOURCES): Likewise.
19567 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19568 * include/grub/bsdlabel.h: New file.
19569 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19570 'get_name'.
19571 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19572 (grub_partition_map_list): New variable.
19573 (grub_partition_map_register): Inline.
19574 (grub_partition_map_unregister): Likewise.
19575 (FOR_PARTITION_MAPS): New macro.
19576 (grub_partition_map_iterate): Removed.
19577 (grub_partition_get_start): Handle nested partitions.
19578 * include/grub/msdos_partition.h: Remove bsd-related entries.
19579 (grub_pc_partition): Remove.
19580 * kern/disk.c (grub_disk_close): Free partition data.
19581 (grub_disk_adjust_range): Handle nested partitions.
19582 * kern/partition.c (grub_partition_map_probe): New function.
19583 (grub_partition_probe): Parse name to number, handle subpartitions.
19584 (get_partmap): New function.
19585 (grub_partition_iterate): Handle subpartitions.
19586 (grub_partition_get_name): Likewise.
19587 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19588 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19589 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19590 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19591 Set 'number'.
19592 (acorn_partition_map_probe): Remove.
19593 (acorn_partition_map_get_name): Likewise.
19594 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19595 Set 'number'.
19596 Set 'index' to 0 since there can be only one partition entry per sector.
19597 (amiga_partition_map_probe): Remove.
19598 (amiga_partition_map_get_name): Likewise.
19599 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19600 Set 'number'.
19601 Set 'offset' and 'index' to real positions of partitions.
19602 (apple_partition_map_probe): Remove.
19603 (apple_partition_map_get_name): Likewise.
19604 * partmap/bsdlabel.c: New file.
19605 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19606 Set 'number'.
19607 Allocate 'data' so it can be correctly freed.
19608 Set 'index' to offset inside sector.
19609 (gpt_partition_map_probe): Remove.
19610 (gpt_partition_map_get_name): Likewise.
19611 * partmap/msdos.c (grub_partition_parse): Remove.
19612 (pc_partition_map_iterate): Don't force raw access.
19613 Set 'number'.
19614 Make 'ext_offset' a local variable.
19615 (pc_partition_map_probe): Remove.
19616 (pc_partition_map_get_name): Remove.
19617 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19618 Set 'number'.
19619 (sun_partition_map_probe): Remove.
19620 (sun_partition_map_get_name): Likewise.
19621 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19622 (grub_pcpart_type): Likewise.
19623 * util/hostdisk.c (open_device): Handle new numbering scheme.
19624 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19625 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19626 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19627 * util/grub-install.in: Insert all subpartition modules.
19628 * util/ieee1275/grub-install.in: Likewise.
19629
a3940f88
AG
196302010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19631
19632 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19633 grammar.
19634
21b99926 196352010-03-24 Colin Watson <cjwatson@ubuntu.com>
19636
19637 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19638
bed1d352
CW
196392010-03-21 Colin Watson <cjwatson@ubuntu.com>
19640
19641 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19642 match where 'make install' puts them.
19643 * util/i386/efi/grub-install.in: Likewise.
19644
c9f58427
CW
196452010-03-19 Colin Watson <cjwatson@ubuntu.com>
19646
19647 * .bzrignore: Add gentrigtables, grub-script-check,
19648 grub_script_check_init.c, grub_script_check_init.h, and
19649 trigtables.c.
19650
f84afb27
VS
196512010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * kern/parser.c: Indented.
19654
ed0e3d30
VS
196552010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19658
0ea81d98
VS
196592010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19662 alpha_mask_size == 0 case.
19663
0cdc2a09
BC
196642010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19665
19666 GRUB shell lexer and parser improvements.
19667
19668 * conf/any-emu.rmk: Build rule updates.
19669 * conf/common.rmk: Likewise.
19670 * conf/i386-coreboot.rmk: Likewise.
19671 * conf/i386-efi.rmk: Likewise.
19672 * conf/i386-ieee1275.rmk: Likewise.
19673 * conf/i386-pc.rmk: Likewise.
19674 * conf/powerpc-ieee1275.rmk: Likewise.
19675 * conf/x86_64-efi.rmk: Likewise.
19676
19677 * configure.ac: Configure check for flex.
19678
19679 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19680 types.
19681 (grub_lexer_param): Struct member updates.
19682 (grub_parser_param): Likewise.
19683 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19684 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19685 (grub_script_lexer_init): Prototype update.
19686 (grub_script_lexer_record_start): Likewise.
19687 (grub_script_lexer_record_stop): Likewise.
19688 (grub_script_lexer_yywrap): New function prototype.
19689 (grub_script_lexer_fini): Likewise.
19690 (grub_script_execute_argument_to_string): Removed by...
19691 (grub_script_execute_argument_to_argv): ...better version.
19692
19693 * script/execute.c (ROUND_UPTO): New macro.
19694 (grub_script_execute_cmdline): Out of memory fixes.
19695 (grub_script_execute_menuentry): Likewise.
19696 (grub_script_execute_argument_to_string): Removed. Update all
19697 users by...
19698 (grub_script_execute_argument_to_argv): ...better version.
19699 * script/function.c (grub_script_function_create): Use
19700 grub_script_execute_argument_to_argv instead of
19701 grub_script_execute_argument_to_string.
19702
19703 * script/lexer.c (check_varstate): Removed.
19704 (check_textstate): Removed.
19705 (grub_script_lexer_record_start): Likewise.
19706 (grub_script_lexer_record_stop): Likewise.
19707 (recordchar): Replaced with...
19708 (grub_script_lexer_record): ...new function.
19709 (nextchar): Removed.
19710 (grub_script_lexer_init): Rewritten.
19711 (grub_script_yylex): Rewritten.
19712 (append_newline): New function.
19713 (grub_script_lexer_yywrap): New function.
19714 (grub_script_lexer_fini): New function.
19715 (grub_script_yyerror): Sets error flag.
19716
19717 * script/yylex.l: New file.
19718 (grub_lexer_yyfree): Wrapper for flex yyffre.
19719 (grub_lexer_yyalloc): Likewise.
19720 (grub_lexer_yyrealloc): Likewise.
19721 * script/parser.y: Refactored.
19722
19723 * script/script.c (grub_script_arg_add): Out of memory fixes.
19724 (grub_script_add_arglist): Likewise.
19725 (grub_script_create_cmdline): Likewise.
19726 (grub_script_create_cmdmenu): Likewise.
19727 (grub_script_add_cmd): Likewise.
19728 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19729 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19730 unnecessary code.
19731
19732 * tests/grub_script_echo1.in: New testcase.
19733 * tests/grub_script_vars1.in: New testcase.
19734 * tests/grub_script_echo_keywords.in: New testcase.
19735
1d63a066
VS
197362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 Remove some redundancy in build system.
19739
19740 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19741 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19742 (TARGET_LDFLAGS): Add -nostdlib.
19743 (TARGET_IMG_LDFLAGS): Likewise.
19744 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19745 anything since mmap isn't available.
19746 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19747 Add util/time.c.
19748 (pkglib_MODULES): Remove reboot.mod.
19749 (reboot_mod_SOURCES): Removed.
19750 (reboot_mod_CFLAGS): Likewise.
19751 (reboot_mod_LDFLAGS): Likewise.
19752 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19753 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19754 (DEFSYMFILES): Add kernel_syms.lst.
19755 (kernel_img_HEADERS): Add common headers.
19756 (symlist.c): New target.
19757 (kernel_syms.lst): Likewise.
19758 (pkglib_MODULES): Add memdisk.mod.
19759 (memdisk_mod_SOURCES): New variable.
19760 (memdisk_mod_CFLAGS): Likewise.
19761 (memdisk_mod_LDFLAGS): Likewise.
19762 (pkglib_MODULES): Add reboot.mod.
19763 (reboot_mod_SOURCES): New variable.
19764 (reboot_mod_CFLAGS): Likewise.
19765 (reboot_mod_LDFLAGS): Likewise.
19766 (pkglib_MODULES): Add date.mod.
19767 (date_mod_SOURCES): New variable.
19768 (date_mod_CFLAGS): Likewise.
19769 (date_mod_LDFLAGS): Likewise.
19770 (pkglib_MODULES): Add datehook.mod.
19771 (datehook_mod_SOURCES): New variable.
19772 (datehook_mod_CFLAGS): Likewise.
19773 (datehook_mod_LDFLAGS): Likewise.
19774 (pkglib_MODULES): Add lsmmap.mod.
19775 (lsmmap_mod_SOURCES): New variable.
19776 (lsmmap_mod_CFLAGS): Likewise.
19777 (lsmmap_mod_LDFLAGS): Likewise.
19778 (pkglib_MODULES): Add boot.mod.
19779 (boot_mod_SOURCES): New variable.
19780 (boot_mod_CFLAGS): Likewise.
19781 (boot_mod_LDFLAGS): Likewise.
19782 * conf/i386-coreboot.rmk: Removed redundant parts.
19783 * conf/i386-ieee1275.rmk: Likewise.
19784 * conf/i386-pc.rmk: Likewise.
19785 * conf/mips-yeeloong.rmk: Likewise.
19786 * conf/mips.rmk: Likewise.
19787 * conf/powerpc-ieee1275.rmk: Likewise.
19788 * conf/sparc64-ieee1275.rmk: Likewise.
19789 * conf/x86_64-efi.rmk: Likewise.
19790 * conf/i386-coreboot.rmk: Moved qemu parts ..
19791 * conf/i386-qemu.rmk: ... here
19792 * conf/i386-efi.rmk: Moved common parts to...
19793 * conf/x86-efi.rmk: ... here.
19794 * conf/i386.rmk: Added modules common to all x86 variants.
19795 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19796 * disk/memdisk.c: Remove grub/machine/kernel.h.
19797 * gensymlist.sh.in: Include symbol.h.
19798 * hook/datehook.c: Correct module name.
19799 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19800 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19801 * include/grub/i386/efi/serial.h: New file.
19802 * include/grub/x86_64/efi/serial.h: Likewise.
19803 * util/time.c: Likewise.
19804 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19805
463ac55f
CK
198062010-03-14 Colin King <colin.king@ubuntu.com>
198072010-03-14 Colin Watson <cjwatson@ubuntu.com>
19808
19809 Shrink the pre-partition-table part of boot.img by eight bytes.
19810
19811 * boot/i386/pc/boot.S (ERR): New macro.
19812 (chs_mode): Use ERR.
19813 (geometry_error): Likewise.
19814 (hd_probe_error): Remove. This is only used once, so we wrwite
19815 it inline instead.
19816 (read_error): Instead of printing read_error_string, just set up
19817 %si and fall through to ...
19818 (error_message): ... this new function, also used by ERR.
19819
08e46ede
CW
198202010-03-14 Colin Watson <cjwatson@ubuntu.com>
19821
19822 Speed up consecutive hostdisk operations on the same device.
19823
19824 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19825 (grub_util_biosdisk_open): Initialise disk->data.
19826 (struct linux_partition_cache): New structure.
19827 (linux_find_partition): Cache partition start positions; these are
19828 expensive to compute on every read and write.
19829 (open_device): Cache open file descriptor in disk->data, so that we
19830 don't have to reopen it and flush the buffer cache for consecutive
19831 operations on the same device.
19832 (grub_util_biosdisk_close): New function.
19833 (grub_util_biosdisk_dev): Set `close' member.
19834
19835 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19836 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19837 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19838 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19839 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19840
4a6d2d06
VS
198412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 Compile parts of grub-emu as modules.
19844
19845 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19846 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19847 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19848 (all-local): Add $(GRUB_EMU).
19849 (install-local): Install $(GRUB_EMU).
19850 (uninstall): Uninstall $(GRUB_EMU).
19851 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19852 * kern/dl.c: Likewise.
19853 * commands/sleep.c: Not include machine/time.h.
19854 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19855 (COMMON_CFLAGS): Likewise.
19856 (sbin_UTILITIES): Remove grub-emu.
19857 (grub_emu_SOURCES): Removed.
19858 (kernel_img_RELOCATABLE): New variable.
19859 (pkglib_PROGRAMS): Add kernel.img.
19860 (kernel_img_SOURCES): New variable
19861 (kernel_img_CFLAGS): Likewise.
19862 (kernel_img_LDFLAGS): Likewise.
19863 (TARGET_NO_STRIP): Likewise.
19864 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19865 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19866 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19867 (grub-emu): New target.
19868 (GRUB_EMU): New variable.
19869 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19870 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19871 * loader/xnu.c: Likewise.
19872 * include/grub/pci.h: Likewise.
19873 * genemuinit.sh: New file.
19874 * genemuinitheader.sh: Likewise.
19875 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19876 Support TARGET_NO_DYNAMIC_MODULES.
19877 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19878 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19879 * disk/loopback.c: Likewise.
19880 * font/font_cmd.c: Likewise.
19881 * partmap/acorn.c: Likewise.
19882 * partmap/amiga.c: Likewise.
19883 * partmap/apple.c: Likewise.
19884 * partmap/gpt.c: Likewise.
19885 * partmap/msdos.c: Likewise.
19886 * partmap/sun.c: Likewise.
19887 * parttool/msdospart.c: Likewise.
19888 * term/gfxterm.c: Likewise.
19889 * video/bitmap.c: Likewise.
19890 * video/readers/jpeg.c: Likewise.
19891 * video/readers/png.c: Likewise.
19892 * video/readers/tga.c: Likewise.
19893 * video/video.c: Likewise.
19894 * util/grub-emu.c (read_command_list): Removed.
19895 (main): Don't call util_init_nls.
19896 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19897 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19898
91fdd2ed
VS
198992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19902 date.mod, datehook.mod.
19903 (datetime_mod_SOURCES): New variable.
19904 (datetime_mod_CFLAGS): Likewise.
19905 (datetime_mod_LDFLAGS): Likewise.
19906 (date_mod_SOURCES): Likewise.
19907 (date_mod_CFLAGS): Likewise.
19908 (date_mod_LDFLAGS): Likewise.
19909 (datehook_mod_SOURCES): Likewise.
19910 (datehook_mod_CFLAGS): Likewise.
19911 (datehook_mod_LDFLAGS): Likewise.
19912 * conf/sparc64-ieee1275.rmk: Likewise.
19913 * lib/ieee1275/datetime.c: New file.
19914
873ccae6
VS
199152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19918 (ieee1275_fb_mod_SOURCES): New variable.
19919 (ieee1275_fb_mod_CFLAGS): Likewise.
19920 (ieee1275_fb_mod_LDFLAGS): Likewise.
19921 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19922 New proto.
19923 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19924 (HEAP_MAX_ADDR): Likewise.
19925 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19926 type.
19927 Correct stop condition.
19928 (grub_ieee1275_devices_iterate): New function.
19929 * video/ieee1275.c: New file.
19930
601c97c0
VS
199312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19934
19935 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19936 as scratch.
19937 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19938 SCRATCH_PAD_DISKBOOT as scratch.
19939 (bootit): Pass Openfirmware pointer in %o4.
19940 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19941 of 0x200000.
19942 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19943 with util/grub-mkrawimage.c.
19944 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19945 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19946 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19947 (grub_aout_load) [GRUB_UTIL]: Likewise.
19948 * include/grub/kernel.h (grub_modules_get_end): New proto.
19949 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19950 (SCRATCH_PAD_BOOT): New definition.
19951 (SCRATCH_PAD_DISKBOOT): Likewise.
19952 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19953 * include/grub/sparc64/ieee1275/ieee1275.h
19954 (grub_ieee1275_original_stack): New variable
19955 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19956 New definition
19957 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19958 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19959 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19960 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19961 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19962 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19963 (grub_platform_image_format_t): New type.
19964 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19965 * kern/main.c (grub_modules_get_end)
19966 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19967 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19968 (codestart): Switch stacks.
19969 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19970 variable.
19971 (grub_heap_init): Use grub_modules_get_end.
19972 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19973 stack.
19974 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19975 (main): Likewise.
19976 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19977
d68b491e
TG
199782010-03-14 Thorsten Glaser <tg@mirbsd.org>
19979
19980 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19981
4e02ed50
MK
199822010-03-08 Matt Kraai <kraai@ftbfs.org>
19983
19984 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19985 bug #559005).
19986
1f15fc1e
VS
199872010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * genmoddep.awk: Output all missing symbols and not only first.
19990
fce5d8ff
VS
199912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * NEWS: Put the date of 1.98 release.
19994
d1e8a02f
VS
199952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19998 ft2build.h.
19999
696fd607
VS
200002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20003 completition in the middle of string.
20004
33e2e6f3
VS
200052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * util/grub-mkrescue.in: Use mktemp with explicit template.
20008
b1f6d291
VS
200092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20012
2ac227c7
VS
200132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20016 right pointer.
20017
8f9a632b
VS
200182010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 Fix FreeBSD compilation.
20021
20022 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20023 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20024
60b03859
VS
200252010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20028
48a5a769
VS
200292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20032
3ab4bd77
VS
200332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20036
d116e0d8
RM
200372010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20038
20039 Support relative image path in theme file.
20040
20041 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20042 (image_set_property): Handle theme_dir and relative path.
20043
c7ef54aa
VS
200442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 * configure.ac: Alias amd64 to x86_64.
20047
fcee14ed
VS
200482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * NEWS: mention multiboot on EFI.
20051
d0780363
VS
200522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * kern/main.c (grub_load_modules): Handle errors from init functions of
20055 embeded modules.
20056
41168ea4
VS
200572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * normal/autofs.c (autoload_fs_module): Handle errors.
20060
b54d93ac
VS
200612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 Disable linux.mod on qemu-mips since it's not functional and leads
20064 to compilation failure.
20065
20066 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20067 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20068 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20069 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20070 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20071 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20072 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20073 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20074 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20075 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20076 Reported by: BVK Chaitanya
20077
fc8345da
JU
200782010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20079
20080 * INSTALL: Add gettext as a dependency and add qemu to a new section
20081 "Prerequisites for make-check".
20082
4760f979
CF
200832010-03-04 Christian Franke <franke@computer.org>
20084
20085 * util/grub-pe2elf.c: Add missing include "progname.h".
20086
f209b5b2
VS
200872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * normal/crypto.c (read_crypto_list): Fix a typo.
20090 Reported by: Seth Goldberg.
20091
b4b7be98
VS
200922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20095 Reported by: Seth Goldberg.
b4b7be98 20096
c0ee0385
VS
200972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20098
20099 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20100 ascii.bitmaps.
20101
a8efbf64
VS
201022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20105 Reported by: Seth Goldberg.
a8efbf64 20106
08dcd913
VS
201072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * util/i386/efi/grub-install.in: Copy gettext files.
20110
c4d0b332
VS
201112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20114
c6f2fe52
VS
201152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 Wait for user entry basing on presence of output rather than on errors.
20118
20119 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20120 (grub_install_newline_hook): Likewise.
20121 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20122 * normal/menu.c (show_menu): Check line_counter to determine presence
20123 of output.
20124 * normal/term.c (grub_normal_line_counter): New variable.
20125 (grub_normal_get_line_counter): New function.
20126 (grub_install_newline_hook): Likewise.
20127
5382b1e4
VS
201282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20131
5519963b
VS
201322010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * configure.ac: Update version to 1.98.
20135
72b28631
VS
201362010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * util/grub.d/10_linux.in (linux_entry): Don't default to
20139 gfxpayload=keep if Linux doesn't support video handover.
20140
c140a180
VS
201412010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 Don't compile video modules on yeeloong since video subsystem is part
20144 of kernel.
20145
20146 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20147 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20148 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20149 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20150 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20151 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20152 * include/grub/bitmap_scale.h: Likewise.
20153 * include/grub/bufio.h: Likewise.
20154 * include/grub/font.h: Likewise.
20155 * include/grub/gfxterm.h: Likewise.
20156 * include/grub/video.h: Likewise.
20157 * include/grub/vbe.h: Don't include video_fb.h.
20158 * video/i386/pc/vbe.c: Include video_fb.h.
20159 * commands/i386/pc/vbetest.c: Include video.h.
20160
a0ca21c2
CW
201612010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20162
20163 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20164 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20165 default entry if GRUB_SAVEDEFAULT=true. This allows using
20166 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20167 saving a new default on every boot.
20168
4a8a763c
VS
201692010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20170
20171 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20172 * normal/term.c (read_terminal_list): Likewise.
20173 * normal/main.c (grub_normal_init_page): Likewise.
20174 (grub_normal_read_line_real): Likewise.
20175
607ffde2
VS
201762010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20179 memory leak.
20180 Reported by: Seth Goldberg.
20181
2b8fa975
CW
201822010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20183
20184 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20185 duplicate declaration of `start'.
20186
618307dd
VS
201872010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20190 filename.
20191 Reported by: Georgy Buranov
20192
7dd05b96 201932010-02-20 Carles Pina i Estany <carles@pina.cat>
20194
20195 * util/grub-mkrawimage.c (usage): Change string formatting to
20196 improve gettext.
20197
d1484a42
MRA
201982010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20199
20200 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20201 backspace keys.
20202
42b1d186
VS
202032010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20206 Reported by: Michael Suchanek.
20207
202082010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20209
20210 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20211 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20212
d9f31a41
VS
202132010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 Remove any reference to non-free fonts.
20216
20217 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20218 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20219 uses non-free components.
20220 * font/font.c (grub_font_get_name): Remove example name.
20221 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20222 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20223 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20224 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20225
2793c71e
GB
202262010-02-16 Georgy Buranov <gburanov@gmail.com>
20227
20228 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20229
402e3779
VS
202302010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20233 Double divisor.
20234 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20235 features.
20236 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20237
0dd1e0dd
VS
202382010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20241
6fa7cfce
ST
202422010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20243
20244 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20245 * docs/grub.texi (Command-line and menu entry commands): Document play
20246 command.
20247
37c8483b
ST
202482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20249
20250 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20251 parse arguments as inline tempo and notes. Move code for playing notes
20252 to...
20253 (play): ... new function.
20254
14da0fb7
ST
202552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20256
20257 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20258 grub_uint16_t instead of short.
20259 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20260 disk from little endian to cpu endianness.
20261
04459e70
ST
202622010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20263
20264 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20265 GRUB_TICKS_PER_SECOND instead of 120.
20266
a0876943
VS
202672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20270 escape sequence after \e.
20271
e29f95dc
VS
202722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20275 non-ASCII characters.
20276
d27859b2
VS
202772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20280 set root in single quotes to prevent \, from being unescaped.
20281
bc028f2f
VS
202822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 Prevent unknown commands from stopping menuentry execution.
20285
20286 * script/execute.c (grub_script_execute_cmdline): Print error after
20287 unknown command.
20288
095f5f82
VS
202892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20292 Reported by: Pavel Pisa.
20293
8c717950
VS
202942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20297
904935c3
VS
202982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 Merge grub_ieee1275_map_physical into grub_map and rename to
20301 grub_ieee1275_map
20302
20303 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20304 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20305 Remove.
20306 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20307 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20308 necessary.
20309 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20310
5b59a4e3
VS
203112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20314 opening and not after.
20315
69e137e8
VS
203162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20319 constants.
20320
2c0fcc36
VS
203212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20324 (alloc_phys): Use ALIGN_UP instead of align_addr.
20325
8c6052ce
VS
203262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20329
17cec782
VS
203302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20333
e0128bbd
VS
203342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20337 verbose dprintf.
20338
ca62070b
VS
203392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 Fix over-4GiB seek on sparc64.
20342
20343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20344 Replace pos_i and pos_lo with pos. All users updated.
20345 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20346 New constant.
20347 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20348 Likewise.
20349 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20350 and pos_lo.
20351
bdca2607
VS
203522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * util/grub-mkrawimage.c (main): Call set_program_name.
20355
da278c4d
VS
203562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 Properly align 64-bit targets.
20359
20360 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20361 (generate_image): Use ALIGN_ADDR.
20362
b274d734
VS
203632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 Properly create cross-endian images.
20366
20367 * include/grub/types.h (grub_host_to_target_addr): New macro
20368 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20369
82da2062
VS
203702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20373
7cae4377
VS
203742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20377
20378 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20379 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20380 (grub_linux_boot): Divide by 64K when on VESA.
20381
65a533e7
VS
203822010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Support GRUB_GFXPAYLOAD_LINUX.
20385
20386 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20387 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20388
dd01d397
VS
203892010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20392 to show messages instead of discarding them.
20393 Process errors after executing command and not before. Keep old method
20394 too as precaution.
20395
660960d6
VS
203962010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * configure.ac: Check for ft2build.h.
20399
62509f04
VS
204002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20403
473df63d
VS
204042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * genkernsyms.sh.in: Use TARGET_CC.
20407
c98d2a13
CW
204082010-02-07 Colin Watson <cjwatson@ubuntu.com>
20409
20410 * NEWS: Update.
20411
6e14234c
VS
204122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20415 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20416 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20417
b255e9cf
YB
204182010-02-07 Yves Blusseau <blusseau@zetam.org>
20419
6e14234c 20420 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20421
98e6959d
VS
204222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 Fix warnings in grub-emu when compiling with maximum warning options.
20425
20426 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20427 (grub_arch_modules_addr): Return 0 and not NULL.
20428 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20429 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20430 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20431 of disk to dsk to avoid shadowing.
74e4934e
VS
20432 (find_free_slot): Fix prototype.
20433 * util/getroot.c (grub_util_is_dmraid): Make static.
20434 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20435 Add missing prototype.
20436 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20437
74e31b5c
VS
204382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20441 appropriately.
20442
6b2ad14b
VS
204432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20446 code out.
20447
8f891adc
VS
204482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20451 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20452 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20453 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20454 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20455 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20456
74b45184
VS
204572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * include/grub/err.h (grub_err_printf): Don't export.
20460
a4bced77
VS
204612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20464
007d0695
VS
204652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20468 * kern/misc.c (grub_gettext_dummy): Make static.
20469
b6c0d9c2
VS
204702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20473 by non-valid ones.
20474 * kern/term.c (grub_putchar): Likewise.
20475
f51a90d0
VS
204762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20479 buggy hook call and memory leak.
20480
6846cec5
VS
204812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20482
20483 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20484
468d69fe
VS
204852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20488
51906b8c
VS
204892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20492 modevar.
20493 Return grub_errno on allocation error.
20494
09706ce5
VS
204952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20498
911df80c
YB
204992010-02-06 Yves Blusseau <blusseau@zetam.org>
20500
20501 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20502 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20503
3746a6bc
VS
205042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20507 non-pxe disk.
20508 (grub_pxefs_open): Likewise.
20509
09706ce5
VS
205102010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20511
20512 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20513 * util/grub.d/10_kfreebsd.in: Likewise.
20514 * util/grub.d/10_linux.in: Likewise.
20515
7cc192d9
VS
205162010-02-06 Colin D Bennett <colin@gibibit.com>
20517
20518 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20519 (gfxmenu_mod_SOURCES): New variable.
20520 (gfxmenu_mod_CFLAGS): Likewise.
20521 (gfxmenu_mod_LDFLAGS): Likewise.
20522 * include/grub/term.h (grub_term_set_current_output): Declare
20523 argument as const.
20524 * docs/gfxmenu-theme-example.txt: New file.
20525 * gfxmenu/gfxmenu.c: Likewise.
20526 * gfxmenu/gui_box.c: Likewise.
20527 * gfxmenu/gui_canvas.c: Likewise.
20528 * gfxmenu/gui_circular_progress.c: Likewise.
20529 * gfxmenu/gui_image.c: Likewise.
20530 * gfxmenu/gui_label.c: Likewise.
20531 * gfxmenu/gui_list.c: Likewise.
20532 * gfxmenu/gui_progress_bar.c: Likewise.
20533 * gfxmenu/gui_string_util.c: Likewise.
20534 * gfxmenu/gui_util.c: Likewise.
20535 * gfxmenu/icon_manager.c: Likewise.
20536 * gfxmenu/model.c: Likewise.
20537 * gfxmenu/named_colors.c: Likewise.
20538 * gfxmenu/theme_loader.c: Likewise.
20539 * gfxmenu/view.c: Likewise.
20540 * gfxmenu/widget-box.c: Likewise.
20541 * include/grub/gfxmenu_model.h: Likewise.
20542 * include/grub/gfxmenu_view.h: Likewise.
20543 * include/grub/gfxwidgets.h: Likewise.
20544 * include/grub/gui.h: Likewise.
20545 * include/grub/gui_string_util.h: Likewise.
20546 * include/grub/icon_manager.h: Likewise.
20547
205482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 Agglomerate scrolling in gfxterm.
20551
20552 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20553 (grub_virtual_screen_setup): Initialise 'total_screen'.
20554 (write_char): Split to ...
20555 (paint_char): ... this ...
20556 (write_char): ... and this.
20557 (paint_char): Handle delayed scrolling.
20558 (draw_cursor): Likewise.
20559 (scroll_up): Split to ...
20560 (real_scroll): ... this ...
20561 (scroll_up): ... and this.
20562 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20563 characters.
20564 (grub_gfxterm_refresh): Call real_scroll.
20565
205662010-02-06 Colin D Bennett <colin@gibibit.com>
20567
20568 * include/grub/misc.h (grub_iscntrl): New inline function.
20569 (grub_isalnum): Likewise.
20570 (grub_strtol): Likewise.
20571
205722010-02-06 Colin D Bennett <colin@gibibit.com>
20573
20574 * normal/menu_text.c (get_entry_number): Move from here ...
20575 * normal/menu.c (get_entry_number): ... moved here.
20576 * include/grub/menu.h (grub_menu_get_default_entry_index):
20577 New prototype.
20578 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20579 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20580 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20581 (grub_menu_viewer_should_return): Likewise.
20582 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20583 * normal/menu_text.c (run_menu): Enable menu switching.
20584 * normal/menu_viewer.c (should_return): New variable.
20585 (menu_viewer_changed): Likewise.
20586 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20587 (grub_menu_viewer_should_return): New function.
20588 (menuviewer_write_hook): Likewise.
20589 (grub_menu_viewer_init): Likewise.
20590
205912010-02-06 Colin D Bennet <colin@gibibit.com>
205922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Support for gfxterm in a window.
20595
20596 * include/grub/gfxterm.h: New file.
20597 * include/grub/video.h (struct grub_video_rect): New declaration.
20598 (grub_video_rect_t): Likewise.
20599 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20600 (refcount): New variable.
20601 (render_target): Likewise.
20602 (window): Likewise.
20603 (repaint_callback): Likewise.
20604 (grub_virtual_screen_setup): Use 'render_target'.
20605 (init_window): New function.
20606 (grub_gfxterm_init_window): Likewise.
20607 (grub_gfxterm_init): Check reference counter.
20608 Use init_window.
20609 (destroy_window): New function.
20610 (grub_gfxterm_destroy_window): Likewise.
20611 (grub_gfxterm_fini): Check reference counter.
20612 Use destroy_window.
20613 (redraw_screen_rect): Restore viewport.
20614 Use 'render_target' and 'window'.
20615 Call 'repaint_callback'.
20616 (write_char): Use 'render_target'.
20617 (draw_cursor): Likewise.
20618 (scroll_up): Restore viewport.
20619 Use 'render_target' and 'window'.
20620 Call 'repaint_callback'.
20621 (grub_gfxterm_cls): Likewise.
20622 (grub_gfxterm_refresh): Use 'window'.
20623 (grub_gfxterm_set_repaint_callback): New function.
20624 (grub_gfxterm_background_image_cmd): Use 'window'.
20625 (grub_gfxterm_get_term): New function.
20626 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20627
206282010-02-06 Colin D Bennett <colin@gibibit.com>
20629
20630 Bitmap scaling support.
20631
20632 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20633 (bitmap_scale_mod_SOURCES): New variable.
20634 (bitmap_scale_mod_CFLAGS): Likewise.
20635 (bitmap_scale_mod_LDFLAGS): Likewise.
20636 * include/grub/bitmap_scale.h: New file.
20637 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20638 (background_image_cmd_options): New variable.
20639 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20640 (cmd): Rename and change type to ...
20641 (background_image_cmd_handle): ... this. All users updated.
20642 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20643 * video/bitmap_scale.c: New file.
20644
206452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 SDL support.
20648
20649 * Makefile.in (LIBSDL): New variable.
20650 (enable_grub_emu_sdl): Likewise.
20651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20652 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20653 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20654 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20655 * util/sdl.c: New file.
20656
206572010-02-06 Colin D Bennett <colin@gibibit.com>
206582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 Double buffering support.
20661
20662 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20663 * include/grub/video.h: Update comment.
20664 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20665 New type.
20666 (grub_video_fb_doublebuf_blit_init): New prototype.
20667 * term/gfxterm.c (scroll_up): Support double buffering.
20668 (grub_gfxterm_refresh): Likewise.
20669 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20670 (grub_video_fb_doublebuf_blit_init): Likewise.
20671 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20672 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20673 'displayed_page', 'render_page' and 'update_screen'.
20674 (grub_video_vbe_fini): Free offscreen buffer.
20675 (doublebuf_pageflipping_commit): New function.
20676 (doublebuf_pageflipping_update_screen): Likewise.
20677 (doublebuf_pageflipping_init): Likewise.
20678 (double_buffering_init): Likewise.
20679 (grub_video_vbe_setup): Enable doublebuffering.
20680 (grub_video_vbe_swap_buffers): Implement.
20681 (grub_video_vbe_set_active_render_target): Handle double buffering.
20682 (grub_video_vbe_get_active_render_target): Likewise.
20683 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20684 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20685 (grub_video_vbe_enable_double_buffering): Likewise.
20686 (grub_video_vbe_swap_buffers): Use update_screen.
20687 (grub_video_set_mode): Use double buffering.
20688
206892010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 * maintainance/gentrigtables.py: Remove.
20692 * lib/trig.c: Likewise.
20693
20694 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20695
20696 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20697 `trigtables.c'.
20698 (trigtables.c): New rule.
20699 (gentrigtables): Likewise.
20700 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20701
207022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20703
20704 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20705 integer constants.
20706
207072010-02-06 Colin D Bennet <colin@gibibit.com>
20708
20709 Trigonometry support.
20710
20711 * include/grub/trig.h: New file.
20712 * lib/trig.c: Likewise.
20713 * maintainance/gentrigtables.py: Likewise.
20714 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20715 (trig_mod_SOURCES): New variable.
20716 (trig_mod_CFLAGS): Likewise.
20717 (trig_mod_LDFLAGS): Likewise.
20718
5562834e
VS
207192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20720
20721 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20722 disk devices.
20723
4f8528fc
VS
207242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20727 error.
20728
2b4068e9
VS
207292010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20730
20731 * util/hostdisk.c (open_device): Don't use partition device when reading
20732 before the partition.
20733 (grub_util_biosdisk_read): Don't read from partition and before the
20734 partition in single operation.
20735 (grub_util_biosdisk_write): Don't write to partition and before the
20736 partition in single operation.
20737
399f6e4d
TL
207382010-02-03 Torsten Landschoff <torsten@debian.org>
20739
20740 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20741 last sectors.
20742
996649b0
VS
207432010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20746 CDROM reads.
20747 (grub_biosdisk_write): Refuse to write to CDROM.
20748
3b205d4d
VS
207492010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20752
61e89d9d
VS
207532010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 * font/font.c (find_glyph): Check that bmp_idx is available before
20756 using it.
20757 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20758 with (font == NULL).
20759
bf7fcba2
CS
207602010-01-28 Christian Schmitt <chris@ilovelinux.de>
20761
20762 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20763
f45d2663
BC
207642010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20765
20766 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20767 * util/grub-script-check.c (getline): Fix empty lines case.
20768
ec1444e6
RM
207692010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20770
20771 * Makefile.in (check): Exit with fail status when one of the tests
20772 fails.
20773 * tests/example_functional_test.c (example_test): Fix reversed assert.
20774 * tests/example_unit_test.c (example_test): Likewise.
20775
2e1cb9bb
CW
207762010-01-28 Colin Watson <cjwatson@ubuntu.com>
20777
20778 * util/grub.d/10_linux.in: This script does not use any of the
20779 contents of gettext.sh, only the external command `gettext', so stop
20780 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20781 the same prefix as GRUB.)
20782 * util/grub.d/10_kfreebsd.in: Likewise.
20783
63533ab0
VS
207842010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20787 of the line.
20788
989e1f93
VS
207892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20792 last sectors.
20793
e709ebe2
VS
207942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20797 having a 4KiB and not 32KiB buffer size.
20798
27dea7ed
RM
207992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20800
20801 * util/hostfs.c: Include `<errno.h>'.
20802 (grub_hostfs_read): Handle errors from fseeko() and fread().
20803
67667b9c
RM
208042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20805
20806 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20807 loop when using read hooks on files whose size isn't sector-aligned.
20808
c294d9d8
RM
208092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20810
20811 Remove unused parameter.
20812
20813 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20814 (grub_iso9660_open): Remove initialization of `data->length'.
20815
af75a9f1
RM
208162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20817
20818 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20819 memleak conditions.
20820
254e2ce5 208212010-01-27 Carles Pina i Estany <carles@pina.cat>
20822
20823 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20824 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20825
b510928c 208262010-01-26 Carles Pina i Estany <carles@pina.cat>
20827
20828 * util/bin2h.c (usage): Fix warning (space after backslash).
20829
aa2f9dd2 208302010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20831
20832 * font/font.c: Include `grub/fontformat.h.
20833 Remove font file format constants.
20834 (grub_font_load): Use the new macros.
20835 * include/grub/fontformat.h: New file.
20836 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20837 (write_font_pf2): Use the new macros.
20838
94e7e712
RM
208392010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20840
20841 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20842 does.
20843
3973a59a
RM
208442010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20845
20846 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20847
20848 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20849 (_start): Macroify `0x7F'.
20850
20851 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20852 (make_install_device): Use "(pxe)" as fallback prefix when booting
20853 via PXE.
20854
42e0cba3
GS
208552010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * configure.ac: Reset LIBS after check for libgcc symbols.
20858
847effd8
CW
208592010-01-25 Colin Watson <cjwatson@ubuntu.com>
20860
20861 * util/hostdisk.c (open_device): Add trailing newline to debug
20862 message.
20863
ea4a7e35
GS
208642010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20865
20866 * configure.ac: Check for `limits.h'.
20867 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20868
67951a53
RM
208692010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20870
20871 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20872 capitalize error strings.
20873
c273d4ce
ST
208742010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20875
20876 * util/grub.d/10_hurd.in: Add a recovery mode.
20877
69be5b74
VS
208782010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 * configure.ac: Check for libgcc symbols with -nostdlib.
20881
fc9e5810
BC
208822010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20883
20884 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20885
4b358c0a
VS
208862010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20887
20888 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20889 stack since heap may be unavailable at that point.
20890 (grub_ofconsole_gotoxy): Likewise.
20891
454fcd1c
VS
208922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * configure.ac: Check for _restgpr_14_x.
20895 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20896 and _savegpr_* prototypes.
20897
566863ca
RM
208982010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20899
20900 Use generic grub_reboot() for i386-efi.
20901
20902 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20903 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20904 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20905
bf86e59a
VS
209062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20909 presence of "prefix" variable as it breaks when normal.mod is
20910 embedded.
20911
d645e0f8
VS
209122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20915 stack since heap is unavailable at that point.
20916
f9ab2e25
VS
209172010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20920 (grub_freebsd_bootinfo): Rewritten.
20921 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20922
01fc7054
VS
209232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20926
caab4fd6
RM
209272010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20928
20929 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20930 domain now.
20931
67eb1427
FZ
209322010-01-20 Felix Zielcke <fzielcke@z-51.de>
20933
20934 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20935 around for handling "/" to the correct fix. Fix a memory leak. Use
20936 xstrdup instead of strdup.
20937
a9ed4ff3
VS
209382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20941
209422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20943
20944 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20945
20946 * font/font.c (struct grub_font): New member 'bmp_idx'.
20947 (font_init): Initialise 'bmp_idx'.
20948 (load_font_index): Fill 'bmp_idx'.
20949 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20950
48209f4f
VS
209512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20954 unnecessary calls.
20955
9f0a4bb7
VS
209562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 Move context handling out of the kernel.
20959
20960 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20961 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20962 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20963 * conf/i386-efi.rmk: Likewise.
20964 * conf/i386-ieee1275.rmk: Likewise.
20965 * conf/i386-pc.rmk: Likewise.
20966 * conf/powerpc-ieee1275.rmk: Likewise.
20967 * conf/sparc64-ieee1275.rmk: Likewise.
20968 * conf/x86_64-efi.rmk: Likewise.
20969 * include/grub/env.h: Include grub/menu.h.
20970 (grub_env_var_type): Removed.
20971 (grub_env_var): Replaced field 'type' with 'global'.
20972 (grub_env_find): New prototype.
20973 (grub_env_context_open): Remove EXPORT_FUNC.
20974 (grub_env_context_close): Likewise.
20975 (grub_env_export): Likewise.
20976 (grub_env_set_data_slot): Removed.
20977 (grub_env_get_data_slot): Likewise.
20978 (grub_env_unset_data_slot): Likewise.
20979 (grub_env_unset_menu): New prototype.
20980 (grub_env_set_menu): Likewise.
20981 (grub_env_get_menu): Likewise.
20982 * include/grub/env_private.h: New file.
20983 * include/grub/normal.h (grub_context_init): New prototype.
20984 (grub_context_fini): Likewise.
20985 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20986 * normal/context.c (grub_cmd_export): ... to here.
20987 * kern/env.c: Include env_private.h.
20988 (HASHSZ): Moved to include/grub/env_private.h.
20989 (grub_env_context): Likewise.
20990 (grub_env_sorted_var): Likewise.
20991 (current_context): Renamed from this ...
20992 (grub_current_context): ...to this. 'static' removed. All users updated.
20993 (grub_env_find): Removed 'static'.
20994 (grub_env_context_open): Moved to normal/context.c.
20995 (grub_env_context_close): Likewise.
20996 (grub_env_export): Likewise.
20997 (mangle_data_slot_name): Removed.
20998 (grub_env_set_data_slot): Likewise.
20999 (grub_env_get_data_slot): Likewise.
21000 (grub_env_unset_data_slot): Likewise.
21001 * kern/main.c (grub_set_root_dev): Don't export root.
21002 It will be done later.
21003 (grub_main): Don't export prefix.
21004 It will be done later.
21005 * normal/context.c: New file.
21006 * normal/main.c (free_menu): Use grub_env_unset_menu.
21007 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21008 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21009 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21010 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21011
8dd35b8c
VS
210122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 setpci support.
21015
21016 * commands/setpci.c: New file.
21017 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21018 (setpci_mod_SOURCES): New variable.
21019 (setpci_mod_CFLAGS): Likewise.
21020 (setpci_mod_LDFLAGS): Likewise.
21021
449193d5
VS
210222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 Byte-addressable PCI configuration space.
21025
21026 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21027 dword address.
21028 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21029 GRUB_PCI_REG_CACHELINE.
21030 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21031 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21032 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21033 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21034 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21035 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21036 grub_pci_make_address.
21037 (lock_rom_area): Likewise.
21038 * commands/lspci.c (grub_lspci_iter): Use macroses
21039 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21040 of grub_pci_make_address.
21041 * disk/ata.c (grub_ata_pciinit): Likewise.
21042 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21043 (GRUB_PCI_REG_VENDOR): Likewise.
21044 (GRUB_PCI_REG_DEVICE): Likewise.
21045 (GRUB_PCI_REG_COMMAND): Likewise.
21046 (GRUB_PCI_REG_STATUS): Likewise.
21047 (GRUB_PCI_REG_REVISION): Likewise.
21048 (GRUB_PCI_REG_CLASS): Likewise.
21049 (GRUB_PCI_REG_CACHELINE): Likewise.
21050 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21051 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21052 (GRUB_PCI_REG_BIST): Likewise.
21053 (GRUB_PCI_REG_ADDRESSES): Likewise.
21054 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21055 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21056 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21057 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21058 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21059 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21060 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21061 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21062 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21063 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21064 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21065 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21066 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21067 (GRUB_PCI_REG_MIN_GNT): Likewise.
21068 (GRUB_PCI_REG_MAX_LAT): Likewise.
21069 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21070 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21071 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21072 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21073 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21074 space.
21075
96d73208
RM
210762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21077
21078 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21079 can be reliably determined to be supported.
21080
d4484482
RM
210812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21082
21083 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21084 that VESA is supported.
21085 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21086 supported.
21087
00308ecf
VS
210882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21091
f66924a4
RM
210922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21093
21094 * util/misc.c (make_system_path_relative_to_its_root): Work around
21095 special-casing of "/", as previous incarnation of this routine did.
21096
cbca0ada
VS
210972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21098
21099 Fix any-emu compilation.
21100
21101 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21102 * grub_bin2h_SOURCES: New variable.
21103
34a66d99
RM
211042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21105
21106 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21107
94fabf58
RM
211082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21109
21110 * util/grub.d/00_header.in: Fix handling of locale_dir.
21111
02cf98ca
VS
211122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21113
21114 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21115 as possible unifont location (Gentoo).
21116 Reported by: Alexander Brüning
21117
327dbcd7
VS
211182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 Don't try to generate lists for kernel.img.
21121
21122 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21123 (pkglib_MODULES): Remove kernel.img.
21124 (kernel_img_EXPORTS): Removed.
21125 (kernel_img_RELOCATABLE): New variable.
21126 * conf/x86_64-efi.rmk: Likewise.
21127 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21128
ca467290
VS
211292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21132 grub_xasprintf or grub_snprintf.
21133 (grub_vsprintf): Likewise.
21134 (grub_snprintf): New proto.
21135 (grub_vsnprintf): Likewise.
21136 (grub_xasprintf): Likewise.
21137 (grub_xvasprintf): Likewise.
21138 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21139 (grub_sprintf): Removed.
21140 (grub_vsnprintf): New function.
21141 (grub_snprintf): Likewise.
21142 (grub_xvasprintf): Likewise.
21143 (grub_xasprintf): Likewise.
21144 (grub_vsprintf): Renamed to ...
21145 (grub_vsnprintf_real): ...this. New argument max_len.
21146
aca655fd
BC
211472010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21148
21149 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21150 fix grub-script-check warning.
21151
7ee92c32
VS
211522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * include/grub/font.h (grub_font_load): Fix prototype.
21155
f80927ca
VS
211562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21159
119c50ea
VS
211602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * include/grub/x86_64/at_keyboard.h: New file.
21163
47d5f3c1
VS
211642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 * loader/mips/linux.c: Include missing grub/i18n.h.
21167
55ff5266
RM
211682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21169
21170 * normal/menu.c (notify_execution_failure): Clarify error message.
21171
c893cc87
RM
211722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21173
21174 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21175 return value (and revert all return statements). Update users.
21176
917dd370
CW
211772010-01-20 Dan Merillat <debian@dan.merillat.org>
21178
21179 * kern/device.c (grub_device_iterate): Allocate new part_ent
21180 structure based on sizeof (*p) rather than sizeof (p->next), to
21181 account for structure padding.
21182
21183 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21184 disk is NULL, which might happen for LVM physical volumes with no
21185 LVM signature.
21186
d4a4ee57
RM
211872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 * loader/mips/linux.c (grub_cmd_initrd)
21190 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21191
211922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21193
21194 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21195 (grub_video_video_init, grub_video_bitmap_init)
21196 (grub_font_manager_init, grub_term_gfxterm_init)
21197 (grub_at_keyboard_init): New extern declarations.
21198 (grub_machine_init): Initialize gfxterm and at_keyboard.
21199
21200 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21201
21202 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21203 `gfxterm.mod' into core image.
21204
21205 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21206 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21207 (kernel_img_FORMAT): Copy to ...
21208
21209 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21210 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21211 (kernel_img_FORMAT): ... here, and ...
21212
21213 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21214 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21215 (kernel_img_FORMAT): ... here.
21216
21217 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21218 and input (at_keyboard) terminals in kernel.
21219 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21220
21221 (pkglib_MODULES): Remove `pci.mod'.
21222 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21223 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21224 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21225 (at_keyboard_mod_LDFLAGS): Remove variables.
21226
212272010-01-11 Felix Zielcke <fzielcke@z-51.de>
21228
21229 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21230
212312009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21232
21233 * include/grub/mips/libgcc.h: Only export symbols for functions
21234 that libgcc provides.
21235
212362009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 MIPS support.
21239
21240 * bus/bonito.c: New file.
21241 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21242 GRUB_PCI_NUM_DEVICES.
21243 * term/i386/pc/serial.c: Move to ...
21244 * term/serial.c: ... here. All users updated.
21245 * util/i386/pc/grub-mkimage.c: Move to ...
21246 * util/grub-mkrawimage.c: ... here. All users updated.
21247 * term/i386/pc/at_keyboard.c: Move to ...
21248 * term/at_keyboard.c: ... here. All users updated.
21249 * conf/mips-qemu-mips.rmk: New file.
21250 * conf/mips-yeeloong.rmk: Likewise.
21251 * conf/mips.rmk: Likewise.
21252 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21253 mipsel-qemu-mips.
21254 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21255 to port addresses.
21256 (grub_ata_pciinit): Support CS5536.
21257 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21258 * font/font_cmd.c (loadfont_command): Open file before passing it to
21259 grub_font_load.
21260 (pseudo_file_read): New function.
21261 (pseudo_file_close): Likewise.
21262 (pseudo_fs): New structure.
21263 (load_font_module): New function.
21264 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21265 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21266 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21267 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21268 * include/grub/i386/at_keyboard.h: Split into ...
21269 * include/grub/at_keyboard.h: ... this ...
21270 * include/grub/i386/at_keyboard.h: ... and this.
21271 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21272 New prototype.
21273 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21274 updated.
21275 (grub_elf64_size): Likewise.
21276 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21277 filename.
21278 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21279 * include/grub/i386/coreboot/serial.h: Rewritten.
21280 * include/grub/i386/ieee1275/serial.h: Include
21281 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21282 * include/grub/i386/pc/serial.h: Moved from here ...
21283 * include/grub/serial.h: ... to here. All users updated.
21284 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21285 (GRUB_PCI_NUM_BUS): Likewise.
21286 (GRUB_PCI_NUM_DEVICES): Likewise.
21287 (grub_pci_device_map_range): Add missing volatile keyword.
21288 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21289 * include/grub/mips/at_keyboard.h: New file.
21290 * include/grub/mips/cache.h: Likewise.
21291 * include/grub/mips/io.h: Likewise.
21292 * include/grub/mips/kernel.h: Likewise.
21293 * include/grub/mips/libgcc.h: Likewise.
21294 * include/grub/mips/pci.h: Likewise.
21295 * include/grub/mips/qemu-mips/boot.h: Likewise.
21296 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21297 * include/grub/mips/qemu-mips/loader.h: Likewise.
21298 * include/grub/mips/qemu-mips/memory.h: Likewise.
21299 * include/grub/mips/qemu-mips/serial.h: Likewise.
21300 * include/grub/mips/qemu-mips/time.h: Likewise.
21301 * include/grub/mips/relocator.h: Likewise.
21302 * include/grub/mips/time.h: Likewise.
21303 * include/grub/mips/types.h: Likewise.
21304 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21305 * include/grub/mips/yeeloong/boot.h: Likewise.
21306 * include/grub/mips/yeeloong/kernel.h: Likewise.
21307 * include/grub/mips/yeeloong/loader.h: Likewise.
21308 * include/grub/mips/yeeloong/memory.h: Likewise.
21309 * include/grub/mips/yeeloong/pci.h: Likewise.
21310 * include/grub/mips/yeeloong/serial.h: Likewise.
21311 * include/grub/mips/yeeloong/time.h: Likewise.
21312 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21313 * kern/elf.c (grub_elf32_size): New parameter. All users
21314 updated.
21315 (grub_elf64_size): Likewise.
21316 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21317 Load modules before saying "Welcome to GRUB!".
21318 Call grub_refresh after saying "Welcome to GRUB!".
21319 * kern/mips/cache.S: New file.
21320 * kern/mips/cache_flush.S: Likewise.
21321 * kern/mips/dl.c: Likewise.
21322 * kern/mips/init.c: Likewise.
21323 * kern/mips/qemu-mips/init.c: Likewise.
21324 * kern/mips/startup.S: Likewise.
21325 * kern/mips/yeeloong/init.c: Likewise.
21326 * kern/term.c (grub_putcode): Handle NULL terminal.
21327 (grub_getcharwidth): Likewise.
21328 (grub_getkey): Likewise.
21329 (grub_checkkey): Likewise.
21330 (grub_getkeystatus): Likewise.
21331 (grub_getxy): Likewise.
21332 (grub_getwh): Likewise.
21333 (grub_gotoxy): Likewise.
21334 (grub_cls): Likewise.
21335 (grub_setcolorstate): Likewise.
21336 (grub_setcolor): Likewise.
21337 (grub_getcolor): Likewise.
21338 (grub_refresh): Likewise.
21339 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21340 (write_jump): Add hatch nop.
21341 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21342 * lib/mips/setjmp.S: New file.
21343 * loader/mips/linux.c: Likewise.
21344 * term/i386/pc/at_keyboard.c: Move from here ...
21345 * term/at_keyboard.c: ... to here.
21346 * term/i386/pc/serial.c: Moved from here ...
21347 * term/serial.c: ... to here. All users updated.
21348 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21349 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21350 (serial_translate_key_sequence): Avoid deadlock.
21351 (grub_serial_getkey): Handle backspace.
21352 (grub_serial_putchar): Fix newline handling.
21353 * util/i386/pc/grub-mkimage.c: Move from here ...
21354 * util/grub-mkrawimage.c: ... to here. All users updated.
21355 (generate_image): New parameters 'font_path' and 'format'.
21356 Support embedding font.
21357 Use grub_host_to_target* instead of grub_cpu_to_le*.
21358 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21359 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21360 (options): New option "--font".
21361 (usage): Likewise.
21362 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21363 (main): Handle "--font".
21364 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21365 (grub_virtual_screen_setup): Set bg_color_display.
21366 (redraw_screen_rect): Use bg_color_display instead of incorrect
21367 bg_color.
21368 (grub_gfxterm_cls): Likewise.
21369 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21370 Support embedding config file.
21371 (add_segments): Likewise.
21372 (options): New option "--config".
21373 (main): Handle "--config".
21374 * video/sm712.c: New file.
21375
25c2b5b3
RM
213762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21377
21378 Fix parallel builds.
21379
21380 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21381 font.c depend on ascii.h).
21382
213832010-01-12 Carles Pina i Estany <carles@pina.cat>
21384
21385 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21386
213872010-01-11 Carles Pina i Estany <carles@pina.cat>
21388
21389 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21390 By default: disabled.
21391 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21392 parameter.
21393
213942010-01-10 Carles Pina i Estany <carles@pina.cat>
21395
21396 * font/font.c: Update copyright years.
21397 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21398
213992010-01-10 Carles Pina i Estany <carles@pina.cat>
21400
21401 * font/font.c: Include `ascii.h'.
21402 (ASCII_BITMAP_SIZE): New macro.
21403 (ascii_font_glyph): Define.
21404 (ascii_glyph_lookup): New function.
21405 (grub_font_get_string_width): Change comment. If glyph not found, use
21406 ascii_glyph_lookup.
21407 (grub_font_get_glyph_with_fallback): If glyph not available returns
21408 ascii_glyph_lookup.
21409 * util/grub-mkfont.c (file_formats): New enum.
21410 (options): Add `ascii-bitmaps' new option.
21411 (usage): Add `asii-bitmaps' new option.
21412 (write_font_ascii_bitmap): New function.
21413 (write_font): Rename to ...
21414 (write_font_p2): ... this. Remove print_glyphs call.
21415 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21416 used. Call print_glyphs.
21417 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21418
214192010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21420
21421 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21422 (grub_bin2h_SOURCES): New variable.
21423 * util/bin2h.c: New file.
21424
915fc1b8
VS
214252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 * include/multiboot.h: Resynced with spec.
21428 * include/multiboot2.h: Likewise.
21429 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21430 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21431
9444b678
RM
214322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21433
21434 * include/grub/term.h (grub_term_register_input,
21435 grub_term_register_output): Check return of terminal init()
21436 routines, and abort if errors are raised.
21437
21438 * commands/terminal.c: Update copyright year.
21439
cba98e8d
RM
214402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21441
21442 * commands/terminal.c (grub_cmd_terminal_input)
21443 (grub_cmd_terminal_output): Check return of terminal init()
21444 routines, and abort if errors are raised.
21445
6f7db5d6
VS
214462010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * include/grub/i386/bsd.h: Fix include pathes.
21449
262bff8d
VS
214502010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 Add missing *BSD copyright headers.
21453
21454 * include/grub/aout.h: Add BSD licence.
21455 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21456 * include/grub/i386/freebsd_linker.h: ... here,
21457 * include/grub/i386/freebsd_reboot.h: ... here,
21458 * include/grub/i386/netbsd_bootinfo.h: ... here,
21459 * include/grub/i386/netbsd_reboot.h: ... here,
21460 * include/grub/i386/openbsd_bootarg.h: ... here,
21461 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21462 licence to each file.
21463
b2cab848
RM
214642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21465
21466 * acinclude.m4: Remove `nop' assembly instruction; it's not
21467 implemented by all architectures.
21468
2cb6be4b
RM
214692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21470
21471 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21472 ELILO. This is no longer necessary.
21473
a2eaee15
BC
214742010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21475
21476 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21477
21478 * util/grub-script-check.c: grub-script-check tool.
21479 * conf/common.rmk: Make rules for grub-script-check.
21480
88d17012
RM
214812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21482
21483 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21484 spotting it back in 2008. Shame on me for forgetting he did.
21485
21486 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21487
8040619d
RM
214882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21489
21490 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21491 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21492 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21493 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21494 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21495 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21496
a0c2a0f6
RM
214972010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21498
21499 * include/grub/test.h: Add license header.
21500 * tests/example_functional_test.c: Likewise.
21501 * tests/example_unit_test.c: Likewise.
21502 * tests/lib/functional_test.c: Likewise.
21503 * tests/lib/test.c: Likewise.
21504 * tests/lib/unit_test.c: Likewise.
21505
b0b13907
VS
215062010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 Use flag-based instead of hook-based video mode selection and "auto"
21509 keyword.
21510
21511 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21512 (grub_video_set_mode): Changed prototype. All users updated.
21513 (grub_video_check_mode_flag): New inline function.
21514 * video/video.c (parse_modespec): New function.
21515 (grub_video_set_mode): Parse flags and keywords.
21516
ea379330 215172010-01-17 Carles Pina i Estany <carles@pina.cat>
21518
21519 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21520 fprintf call.
21521
e15c215e
FZ
215222010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21523
21524 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21525
409ae1c9 215262010-01-16 Carles Pina i Estany <carles@pina.cat>
21527
21528 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21529 string.
21530 * util/grub-emu.c (usage): Likewise.
21531 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21532 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21533 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21534 * util/i386/pc/grub-setup.c (usage): Likewise.
21535
70a14d3d 215362010-01-16 Carles Pina i Estany <carles@pina.cat>
21537
21538 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21539 the message.
21540 (grub_util_info): Likewise.
21541 (grub_util_error): Likewise.
21542 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21543 and/or new lines in `grub_util_warna', `grub_util_info',
21544 `grub_util_error' calls.
21545 * util/getroot.c: Likewise.
21546 * util/grub-editenv.c: Likewise.
21547 * util/grub-emu.c: Likewise.
21548 * util/grub-fstest.c: Likewise.
21549 * util/grub-mkdevicemap.c: Likewise.
21550 * util/grub-mkfont.c: Likewise.
21551 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21552 * util/grub-mkrelpath.c: Likewise.
21553 * util/grub-pe2elf.c: Likewise.
21554 * util/grub-probe.c: Likewise.
21555 * util/hostdisk.c: Likewise.
21556 * util/i386/efi/grub-mkimage.c: Likewise.
21557 * util/i386/pc/grub-mkimage.c: Likewise.
21558 * util/i386/pc/grub-setup.c: Likewise.
21559 * util/ieee1275/ofpath.c: Likewise.
21560 * util/mkisofs/eltorito.c: Likewise.
21561 * util/mkisofs/rock.c: Likewise.
21562 * util/mkisofs/write.c: Likewise.
21563 * util/raid.c: Likewise.
21564 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21565 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21566
a0b766fc
VS
215672010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 Enable multiboot on non-pc.
21570
21571 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21572 multiboot.mod and multiboot2.mod to ...
21573 * conf/i386.rmk (pkglib_MODULES): ... here.
21574 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21575 Moved to ...
21576 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21577 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21578 Moved to ...
21579 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21580 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21581 Moved to ...
21582 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21583 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21584 Moved to ...
21585 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21586 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21587 relocator.mod.
21588 (ata_mod_SOURCES): Removed.
21589 (ata_mod_CFLAGS): Likewise.
21590 (ata_mod_LDFLAGS): Likewise.
21591 (relocator_mod_SOURCES): Removed.
21592 (relocator_mod_CFLAGS): Likewise.
21593 (relocator_mod_ASFLAGS): Likewise.
21594 (relocator_mod_LDFLAGS): Likewise.
21595 Include i386.mk.
21596 * include/grub/x86_64/multiboot.h: New file.
21597 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21598 Terminate EFI.
21599
884ade56
VS
216002010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 Video multiboot support.
21603
21604 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21605 New prototype.
21606 * include/multiboot.h: Resynced with multiboot specification.
21607 * include/multiboot2.h: Likewise.
21608 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21609 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21610 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21611 (HAS_VGA_TEXT): Likewise.
21612 (accepts_video): New variable.
21613 (grub_multiboot_set_accepts_video): New function.
21614 (grub_multiboot_get_mbi_size): Account for video structures.
21615 (set_video_mode): New function.
21616 (retrieve_video_parameters): Likewise.
21617 (grub_multiboot_make_mbi): Fill video fields.
21618
0d90e8a6
VS
216192010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Video driver ids.
21622
21623 * include/grub/video.h (grub_video_driver_id): New type.
21624 (grub_video_adapter): New member 'id'. All users updated.
21625 (grub_video_get_driver_id): New proto.
21626 * video/video.c (grub_video_get_driver_id): New function.
21627
5c71db1b 216282010-01-14 Carles Pina i Estany <carles@pina.cat>
21629
21630 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21631 `var=val'.
21632
cca15b52 216332010-01-14 Carles Pina i Estany <carles@pina.cat>
21634
21635 * normal/cmdline.c (print_completion): Gettextizze.
21636
c586fbb2 216372001-01-14 Carles Pina i Estany <carles@pina.cat>
21638
21639 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21640
ba2f6848 216412010-01-14 Carles Pina i Estany <carles@pina.cat>
21642
21643 * gettext/gettext.c (grub_gettext_translate): Push and pop
21644 grub_errno.
21645 (grub_gettext_delete_list): Change comment style.
21646 * kern/err.c (grub_error): Gettextizze.
21647 (grub_fatal): Gettextizze.
21648
0a46429a
RM
216492010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21650
21651 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21652 (grub_linux16_real_boot): ... this.
21653 * kern/i386/loader.S: Likewise.
21654 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21655 (grub_linux16_boot): New function. Switches to text mode and calls
21656 grub_linux16_real_boot().
21657
21658 * loader/i386/bsd.c: Include `<grub/video.h>'.
21659 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21660 text mode before calling grub_unix_real_boot().
21661
21662 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21663 (grub_multiboot_boot): Switch to text mode before calling
21664 grub_relocator32_boot().
21665
21666 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21667 (grub_chainloader_boot): Switch to text mode before calling
21668 grub_chainloader_real_boot().
21669
d6f93a66
RM
216702010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
216712010-01-05 Colin Watson <cjwatson@ubuntu.com>
21672
21673 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21674 non-empty value.
21675
216762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
216772010-01-05 Colin Watson <cjwatson@ubuntu.com>
21678
21679 * util/grub.d/00_header.in: Define a "savedefault" function for use
21680 in menu entries.
21681 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21682
216832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
216842010-01-05 Colin Watson <cjwatson@ubuntu.com>
21685
21686 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21687 saved_entry if boot_once is unset.
21688 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21689 previous saved entry (i.e. grub-reboot).
21690
216912009-12-08 Colin Watson <cjwatson@ubuntu.com>
21692
21693 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21694
216952009-12-08 Colin Watson <cjwatson@ubuntu.com>
21696
21697 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21698 `var=val'.
21699 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21700
217012009-12-08 Colin Watson <cjwatson@ubuntu.com>
21702
21703 * util/grub-reboot.in: Fix --version output.
21704 * util/grub-set-default.in: Likewise.
21705
217062009-12-08 Colin Watson <cjwatson@ubuntu.com>
21707
21708 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21709 blocks.
21710
217112009-12-08 Colin Watson <cjwatson@ubuntu.com>
21712
21713 * util/grub.d/00_header.in: Quote the value assigned to `default',
21714 in case it contains spaces.
21715
217162009-12-08 Colin Watson <cjwatson@ubuntu.com>
21717
21718 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21719 `save_default_entry' call from the macosx case to the linux case.
21720
217212009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
217222009-10-25 Colin Watson <cjwatson@ubuntu.com>
21723
21724 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21725 in `chosen' environment variable.
21726 * normal/menu_text.c (get_entry_number): Check if the variable
21727 matches the title of a menu entry.
21728 (run_menu): Pass menu to get_entry_number.
21729
21730 * util/grub-reboot.in: New file.
21731 * util/grub-set-default.in: New file.
21732 * conf/common.rmk (grub-reboot): New utility.
21733 (grub-set-default): New utility.
21734
21735 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21736 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21737 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21738 move it to `saved_entry' for the next boot. Load environment on
21739 initialisation.
21740 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21741 * util/grub.d/10_hurd.in: Likewise.
21742 * util/grub.d/10_linux.in (linux_entry): Likewise.
21743 * util/grub.d/10_windows.in: Likewise.
21744 * util/grub.d/30_os-prober.in: Likewise.
21745
21746 * util/grub-install.in: Create environment block.
21747 * util/i386/efi/grub-install.in: Likewise.
21748 * util/ieee1275/grub-install.in: Likewise.
21749 * util/sparc64/ieee1275/grub-install.in: Likewise.
21750
0934d184
BC
217512010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21752
21753 Unit testing framework for GRUB.
21754
21755 * Makefile.in: Test framework build rules for 'make check'.
21756 * conf/tests.rmk: Build rules for individual tests and framework.
21757
21758 * include/grub/test.h: Header file for whitebox tests.
21759 * tests/lib/functional_test.c: Framework support for whitebox
21760 functional tests.
21761 * tests/lib/test.c: Common whitebox testing code for unit and
21762 functional tests.
21763 * tests/lib/unit_test.c: Framework support for whitebox unit
21764 tests.
21765
21766 * tests/util/grub-shell-tester.in: Support utility for grub-script
21767 tests.
21768 * tests/util/grub-shell.in: Utility to execute grub-script
21769 commands in a Qemu instance.
21770
21771 * tests/example_functional_test.c: Example whitebox functional
21772 test.
21773 * tests/example_grub_script_test.in: Example grub-script test.
21774 * tests/example_scripted_test.in: Example scripted test.
21775 * tests/example_unit_test.c: Example whitebox unit test.
21776
9c4ffeeb
VS
217772010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21780 Add loader/i386/multiboot_mbi.c.
21781 (multiboot2_mod_SOURCES): Likewise.
21782 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21783 (multiboot2_mod_SOURCES): Likewise.
21784 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21785 (grub_multiboot_make_mbi): Likewise.
21786 (grub_multiboot_free_mbi): Likewise.
21787 (grub_multiboot_init_mbi): Likewise.
21788 (grub_multiboot_add_module): Likewise.
21789 (grub_multiboot_set_bootdev): Likewise.
21790 * loader/i386/multiboot.c (mbi): Removed.
21791 (mbi_dest): Likewise.
21792 (alloc_mbi): New variable.
21793 (grub_multiboot_payload_size): Removed. All users updated.
21794 (grub_multiboot_pure_size): New variable.
21795 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21796 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21797 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21798 (grub_fill_multiboot_mmap): Likewise.
21799 (grub_multiboot_get_bootdev): Likewise.
21800 (grub_multiboot): Use multiboot_mbi functions.
21801 * loader/i386/multiboot_mbi.c: New file.
21802
17383dfe
VS
218032010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21804
21805 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21806 it would result in module crash.
21807
c1f28820
VS
218082010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21809
21810 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21811 (grub_ofconsole_getwh): Split to ...
21812 (grub_ofconsole_getwh): ... this.
21813 (grub_ofconsole_dimensions): ...and this.
21814 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21815
58655a16
RM
218162010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21819
10891398
VS
218202010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * loader/i386/pc/multiboot2.c: Removed stalled file.
21823
0b8a223c
VS
218242010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21827 Reported by: Grégoire Sutre
21828
92ab12b0
RM
218292010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21830
21831 * util/misc.c (canonicalize_file_name): New function.
21832 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21833 instead of realpath().
21834
a788afb6
CW
218352010-01-11 Colin Watson <cjwatson@ubuntu.com>
21836
21837 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21838 and make it clearer that it's optional. Based on confusion
21839 witnessed on IRC.
21840
ffa8e3d2
VS
218412010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21844 in premature implicit newline.
21845
e9060a9d
VS
218462010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21849 which resulted in garbled command line at the end of screen.
21850
f0d0c0b7
RM
218512010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21852
21853 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21854 initialization with similar approach as with other Linux loaders.
21855
0e60bae7
RM
218562010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21857
21858 Fix i386-ieee1275 build.
21859
21860 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21861 and grub_term_height() for video_{width,height} initialization.
21862
218632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21864
21865 Fix grub-emu build.
21866
21867 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21868
cdb3f378
RM
218692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
218702010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21871
21872 Support for multiple terminals.
21873
21874 * Makefile.in (pkglib_DATA): terminal.lst.
21875 (terminal.lst): New target.
21876 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21877 (GRUB_MOD_INIT(handler)): Likewise.
21878 (GRUB_MOD_FINI(handler)): Likewise.
21879 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21880 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21881 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21882 (grub_cmd_sleep): Use grub_term_save_pos.
21883 * commands/terminal.c: New file.
21884 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21885 commands/terminal.c and lib/charset.c.
21886 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21887 (pkglib_MODULES): Add terminal.mod.
21888 (terminal_mod_SOURCES): New variable.
21889 (terminal_mod_CFLAGS): Likewise.
21890 (terminal_mod_LDFLAGS): Likewise.
21891 * genhandlerlist.sh: Don't handle terminals.
21892 * genmk.rb: Generate terminal-*.lst.
21893 * genterminallist.sh: New file.
21894 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21895 (grub_is_valid_utf8): Likewise.
21896 (grub_utf8_to_ucs4_alloc): Likewise.
21897 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21898 (grub_menu_register_viewer): Changed argument.
21899 (grub_menu_try_text): New proto.
21900 (grub_gfxmenu_try_hook): New declaration.
21901 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21902 (grub_menu_init_page): Additional argument term.
21903 (grub_normal_init_page): Likewise.
21904 (grub_cmdline_get): Arguments simplified.
21905 (grub_utf8_to_ucs4_alloc): Removed.
21906 (grub_print_ucs4): Additional argument term.
21907 (grub_getstringwidth): Likewise.
21908 (grub_print_message_indented): Likewise.
21909 (grub_menu_text_register_instances): New proto.
21910 (grub_show_menu): Likewise.
21911 (read_terminal_list): Likewise.
21912 (grub_set_more): Likewise.
21913 * include/grub/parser.h: Include handler.h.
21914 * include/grub/reader.h: Rewritten.
21915 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21916 (GRUB_TERM_WIDTH): Changed to function.
21917 (GRUB_TERM_HEIGHT): Likewise.
21918 (GRUB_TERM_BORDER_WIDTH): Likewise.
21919 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21920 (GRUB_TERM_NUM_ENTRIES): Likewise.
21921 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21922 (GRUB_TERM_CURSOR_X): Likewise.
21923 (grub_term_input_class): Likewise.
21924 (grub_term_output_class): Likewise.
21925 (grub_term_outputs_disabled): New declaration.
21926 (grub_term_inputs_disabled): Likewise.
21927 (grub_term_outputs): Likewise.
21928 (grub_term_inputs): Likewise.
21929 (grub_term_register_input): Rewritten.
21930 (grub_term_register_output): Likewise.
21931 (grub_term_unregister_input): Likewise.
21932 (grub_term_unregister_output): Likewise.
21933 (FOR_ACTIVE_TERM_INPUTS): New macro.
21934 (FOR_DISABLED_TERM_INPUTS): Likewise.
21935 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21936 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21937 * include/grub/terminfo.h: Add oterm argument to all protypes.
21938 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21939 Use grub_rescue_run.
21940 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21941 All users updated.
21942 * kern/reader.c: Removed. All users updated.
21943 * kern/rescue_reader.c (grub_rescue_init): Removed.
21944 (grub_rescue_reader): Likewise.
21945 (grub_register_rescue_reader): Likewise.
21946 (grub_rescue_run): New function based on kern/reader.c.
21947 * kern/term.c: Adapted for multiterm.
21948 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21949 (grub_is_valid_utf8): Likewise.
21950 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21951 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21952 right terminal.
21953 * loader/i386/linux.c (grub_linux_boot): Likewise.
21954 * normal/auth.c (grub_username_get): New function.
21955 (grub_auth_check_authentication): Use grub_username_get.
21956 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21957 * normal/color.c: Adapt for multiterm.
21958 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21959 (grub_normal_init_page): Additional argument term.
21960 (read_lists): Call read_terminal_lists.
21961 (grub_enter_normal_mode): Call grub_cmdline_run.
21962 Handle grub_normal_exit_level.
21963 (grub_cmd_normal): Make reentrant.
21964 (grub_cmd_normal_exit): New function.
21965 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21966 * normal/menu.c: Adapt for multiterm.
21967 * normal/menu_entry.c: Likewise.
21968 * normal/menu_text.c: Likewise.
21969 * normal/menu_viewer.c: Removed. All users updated.
21970 * normal/term.c: New file.
21971 * util/console.c: Change order of includes to workaround a bug in
21972 ncurses headers.
21973 * term/terminfo.c: New argument oterm on all exported functions.
21974 All users updated.
21975 * util/grub-editenv.c (grub_term_input_class): Removed.
21976 (grub_term_output_class): Likewise.
21977
1a064917
RM
219782010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21979
21980 Make loader output a bit more user-friendly.
21981
21982 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21983 is being loaded. Likewise for the Hurd.
21984
21985 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21986 that kernel of FreeBSD ${version} is being loaded.
21987
21988 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21989 grub_dprintf().
21990 (grub_cmd_initrd): Likewise.
21991 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21992 that Linux ${version} is being loaded. Likewise for initrd.
21993
5ce0a83a 219942010-01-09 Carles Pina i Estany <carles@pina.cat>
21995
21996 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21997
809bbfeb 219982010-01-08 Carles Pina i Estany <carles@pina.cat>
21999
22000 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22001 (GRUB_MOD_INIT): Gettextizze.
22002 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22003 (GRUB_MOD_INIT): Gettextizze.
22004 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22005 (grub_cmd_linux): Capitalise Linux.
22006 (GRUB_MOD_INIT): Gettextizze.
22007 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22008 (grub_cmd_linux): Capitalise Linux.
22009 (GRUB_MOD_INIT): Gettextizze.
22010 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22011 (grub_cmd_linux): Capitalise Linux.
22012 (GRUB_MOD_INIT): Gettextizze.
22013 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22014 (GRUB_MOD_INIT): Gettextizze.
22015 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22016 (grub_cmd_linux): Capitalise Linux.
22017 (GRUB_MOD_INIT): Gettextizze.
22018 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22019 (grub_cpu_xnu_init): Gettextizze.
22020 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22021 (GRUB_MOD_INIT): Gettextizze.
22022 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22023 (GRUB_MOD_INIT): Gettextizze.
22024 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22025 (grub_linux_load64): Capitalise Linux.
22026 (GRUB_MOD_INIT): Gettextizze.
22027 * loader/xnu.c: Include `<grub/i18n.h>'.
22028 (GRUB_MOD_INIT): Gettextizze.
22029 * po/POTFILES: Add `loader/efi/appleloader.c',
22030 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22031 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22032 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22033 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22034 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22035 and `loader/xnu.c'.
22036
b394b2ca
RM
220372010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22038
22039 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22040
220412010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22042
22043 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22044 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22045 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22046
bc8b32b3
RM
220472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22048
22049 Reset Multiboot 2 support. New loader implements the draft in
22050 /branches/multiboot2 and shares as much code as possible with the
22051 production Multiboot 1 implementation.
22052
22053 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22054 * loader/multiboot2.c: Likewise.
22055 * loader/i386/multiboot_helper.S: Likewise.
22056 * include/multiboot2.h: Replace with latest version from the draft
22057 in /branches/multiboot2.
22058
22059 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22060 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22061 and `loader/multiboot2.c'.
22062 (pkglib_MODULES): Add `multiboot2.mod'.
22063 (multiboot2_mod_SOURCES): New variable.
22064 (multiboot2_mod_LDFLAGS): Likewise.
22065 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22066
22067 * conf/i386-pc.rmk: Likewise.
22068
22069 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22070 (multiboot_mod_SOURCES): Remove variable.
22071 (multiboot_mod_LDFLAGS): Likewise.
22072 (multiboot_mod_CFLAGS): Likewise.
22073
22074 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22075 `<multiboot2.h>' instead of `<multiboot.h>'.
22076 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22077 (MULTIBOOT_HEADER_MAGIC): New macros.
22078
22079 * loader/multiboot_loader.c (module_version_status): Remove variable.
22080 (find_multi_boot2_header): Remove function.
22081 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22082 logic. Always check for the Multiboot version we're compiling for.
22083 (grub_cmd_module_loader): Likewise.
22084 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22085 command instead of `multiboot'.
22086
5d2c52b8
RM
220872010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22088
22089 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22090 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22091 all users.
22092
53108d92
RM
220932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
220942010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 Fix breakage introduced with previous commit.
22097
22098 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22099 commands.
22100 * normal/handler.c (read_handler_list): Revert part of previous commit
22101 affecting this file.
22102 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22103 (grub_normal_execute): ... here.
22104
e2e936b2
RM
221052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22106
22107 Merge prefix-redefinition-fix branch.
22108
22109 * normal/autofs.c (read_fs_list): Make function capable of being
22110 run multiple times, gracefuly replacing the previous data
22111 structures.
22112 * normal/dyncmd.c (read_command_list): Likewise.
22113 * normal/handler.c (read_handler_list): Likewise.
22114 * normal/main.c (read_lists): New function. Calls all the
22115 list reading functions.
22116 (grub_normal_execute): Use read_lists() instead of calling all
22117 list reading functions explicitly. Register read_lists() as a
22118 variable hook attached to ${prefix}.
22119
607a3701
VS
221202010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Merge crypto branch.
22123
22124 * Makefile.in (pkglib_DATA): Add crypto.lst.
22125 (crypto.lst): New target.
22126 * commands/hashsum.c: New file.
22127 * commands/password.c (check_password): Use grub_crypto_memcmp.
22128 * commands/password_pbkdf2.c: New file.
22129 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22130 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22131 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22132 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22133 -I$(srcdir)/lib/libgcrypt_wrap.
22134 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22135 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22136 password_pbkdf2.mod.
22137 (crypto_mod_SOURCES): New variable.
22138 (crypto_mod_CFLAGS): Likewise.
22139 (crypto_mod_LDFLAGS): Likewise.
22140 (hashsum_mod_SOURCES): New variable.
22141 (hashsum_mod_CFLAGS): Likewise.
22142 (hashsum_mod_LDFLAGS): Likewise.
22143 (pbkdf2_mod_SOURCES): New variable.
22144 (pbkdf2_mod_CFLAGS): Likewise.
22145 (pbkdf2_mod_LDFLAGS): Likewise.
22146 (password_pbkdf2_mod_SOURCES): New variable.
22147 (password_pbkdf2_mod_CFLAGS): Likewise.
22148 (password_pbkdf2_mod_LDFLAGS): Likewise.
22149 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22150 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22151 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22152 Include conf/gcry.rmk.
22153 * include/grub/auth.h: Rewritten.
22154 * include/grub/crypto.h: New file.
22155 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22156 * include/grub/normal.h (read_crypto_list): New prototype.
22157 * lib/crypto.c: New file.
22158 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22159 * lib/pbkdf2.c: Likewise.
22160 * normal/auth.c (grub_auth_strcmp): Removed.
22161 (grub_iswordseparator): Likewise.
22162 (grub_auth_strword): Likewise.
22163 (is_authenticated): Use grub_strword.
22164 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22165 and grub_strword. Pass entered password to authentication callback.
22166 * normal/crypto.c: New file.
22167 * normal/main.c: Call read_crypto_list.
22168 * util/grub-mkpasswd-pbkdf2.c: New file.
22169 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22170
42841caa
VS
221712010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 Fix descent and ascent calculation.
22174
22175 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22176 (options): New option "asce".
22177 (usage): Likewise.
22178 (add_char): Ignore invalid glyphs for descent calculation.
22179 Calculate ascent from actual content.
22180 (print_glyphs): Use 'asce'.
22181 (write_font): Likewise. Allow ascent override.
22182 (main): Handle "asce" option.
22183
e7730de7 221842010-01-06 Carles Pina i Estany <carles@pina.cat>
22185
22186 * kern/err.c: Include `<grub/i18n.h>'.
22187 (grub_print_error): Add full stop. Gettextizze.
22188 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22189 (grub_bsd_load_elf): Capitalise ELF.
22190 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22191 (grub_cmd_freebsd_module): Likewise.
22192 (grub_cmd_freebsd_module_elf): Likewise.
22193 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22194
40e3a41f 221952010-01-06 Carles Pina i Estany <carles@pina.cat>
22196
22197 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22198 * commands/search_file.c (HELP_MESSAGE): New macro.
22199 * commands/search_label.c (HELP_MESSAGE): Likewise.
22200 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22201 * po/POTFILES: Add `commands/search_file.c',
22202 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22203 `commands/search.c'.
22204
83507e68
RM
222052010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22206
22207 * config.rpath: Update from Gnulib.
22208
465c787b
YB
222092010-01-05 Yves Blusseau <blusseau@zetam.org>
22210
22211 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22212
6581dd3a
YB
222132010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22214
22215 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22216
3bff18c5
CW
222172010-01-05 Colin Watson <cjwatson@ubuntu.com>
22218
22219 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22220 arguments to fread so that we get a return value in bytes, rather
22221 than something that will normally be rounded down to 0.
22222 Adjust error handling to avoid producing garbage when size_t is not
22223 the same size as long long.
22224
a1368118
CW
222252010-01-05 Colin Watson <cjwatson@ubuntu.com>
22226
22227 * util/mkisofs/write.c (padblock_write): Check return value of
22228 fread.
22229
7c302978
RM
222302010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22231
22232 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22233 floppy images now.
22234
22235 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22236
e33ace06
RM
222372010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22238
22239 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22240 instead of manual alignment.
22241 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22242 verbose). Avoid attempts to read past end of the device
22243 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22244 but GRUB_DISK_CACHE_SIZE may exceed that).
22245
4b856776
RM
222462010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22247
22248 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22249 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22250 it to upper layer.
22251
52c2d97f
VS
222522010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22255 New constant.
22256 (grub_efi_piwg_device_path): New structure
22257 (grub_efi_piwg_device_path_t): New type.
22258 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22259 (devpath_1): Transform to a structure. All users updated.
22260 (devpath_2): Likewise.
22261 (devpath_3): Likewise.
22262 (devpath_4): Likewise.
22263 (devpath_5): Likewise.
22264
98ff6a54
VS
222652010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * loader/efi/appleloader.c: Restored. Update all users.
22268
3a73dcb6
RM
222692010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22270
22271 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22272
22273 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22274 (struct boot_blocklist): Move from here ...
22275 * include/grub/i386/pc/boot.h [ASM_FILE]
22276 (struct grub_boot_blocklist): ... to here. Update all users.
22277 (setup): Only initialize `start' member of `first_block'
22278 structure. Add assert() calls to verify the other members.
22279
22280 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22281 (generate_image): Fix broken blocklist length initialization.
22282 Add assert() call to verify blocklist `segment' field.
22283
ab0eeb0c
RM
222842010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22285
22286 * loader/efi/appleloader.c: Remove. Update all users.
22287
58bc8bd5
RM
222882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 * boot/i386/pc/boot.S: Update copyright year.
22291 * boot/i386/pc/cdboot.S: Likewise.
22292 * boot/i386/pc/diskboot.S: Likewise.
22293 * boot/i386/pc/lnxboot.S: Likewise.
22294 * boot/i386/pc/pxeboot.S: Likewise.
22295 * bus/pci.c: Likewise.
22296 * commands/cmp.c: Likewise.
22297 * commands/help.c: Likewise.
22298 * commands/hexdump.c: Likewise.
22299 * commands/i386/pc/halt.c: Likewise.
22300 * commands/i386/pc/play.c: Likewise.
22301 * commands/i386/pc/vbeinfo.c: Likewise.
22302 * commands/ls.c: Likewise.
22303 * commands/test.c: Likewise.
22304 * disk/dmraid_nvidia.c: Likewise.
22305 * disk/i386/pc/biosdisk.c: Likewise.
22306 * disk/ieee1275/nand.c: Likewise.
22307 * disk/ieee1275/ofdisk.c: Likewise.
22308 * disk/lvm.c: Likewise.
22309 * disk/raid.c: Likewise.
22310 * disk/raid6_recover.c: Likewise.
22311 * disk/scsi.c: Likewise.
22312 * fs/affs.c: Likewise.
22313 * fs/cpio.c: Likewise.
22314 * fs/ext2.c: Likewise.
22315 * fs/hfs.c: Likewise.
22316 * fs/iso9660.c: Likewise.
22317 * fs/ntfs.c: Likewise.
22318 * fs/sfs.c: Likewise.
22319 * fs/udf.c: Likewise.
22320 * fs/ufs.c: Likewise.
22321 * fs/xfs.c: Likewise.
22322 * gencmdlist.sh: Likewise.
22323 * genmk.rb: Likewise.
22324 * include/grub/disk.h: Likewise.
22325 * include/grub/efi/api.h: Likewise.
22326 * include/grub/efi/efi.h: Likewise.
22327 * include/grub/efi/pe32.h: Likewise.
22328 * include/grub/elf.h: Likewise.
22329 * include/grub/fs.h: Likewise.
22330 * include/grub/i386/at_keyboard.h: Likewise.
22331 * include/grub/i386/pc/memory.h: Likewise.
22332 * include/grub/i386/pc/vbe.h: Likewise.
22333 * include/grub/i386/pci.h: Likewise.
22334 * include/grub/i386/tsc.h: Likewise.
22335 * include/grub/ieee1275/ieee1275.h: Likewise.
22336 * include/grub/ntfs.h: Likewise.
22337 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22338 * include/grub/sparc64/libgcc.h: Likewise.
22339 * include/grub/symbol.h: Likewise.
22340 * include/grub/types.h: Likewise.
22341 * include/multiboot2.h: Likewise.
22342 * io/gzio.c: Likewise.
22343 * kern/device.c: Likewise.
22344 * kern/disk.c: Likewise.
22345 * kern/efi/efi.c: Likewise.
22346 * kern/efi/mm.c: Likewise.
22347 * kern/elf.c: Likewise.
22348 * kern/file.c: Likewise.
22349 * kern/i386/dl.c: Likewise.
22350 * kern/i386/pc/init.c: Likewise.
22351 * kern/i386/pc/startup.S: Likewise.
22352 * kern/ieee1275/ieee1275.c: Likewise.
22353 * kern/ieee1275/init.c: Likewise.
22354 * kern/main.c: Likewise.
22355 * kern/mm.c: Likewise.
22356 * kern/powerpc/dl.c: Likewise.
22357 * kern/sparc64/dl.c: Likewise.
22358 * kern/x86_64/dl.c: Likewise.
22359 * lib/hexdump.c: Likewise.
22360 * loader/efi/appleloader.c: Likewise.
22361 * loader/i386/ieee1275/linux.c: Likewise.
22362 * loader/i386/pc/chainloader.c: Likewise.
22363 * loader/i386/pc/linux.c: Likewise.
22364 * loader/i386/pc/multiboot2.c: Likewise.
22365 * loader/ieee1275/multiboot2.c: Likewise.
22366 * loader/multiboot2.c: Likewise.
22367 * loader/multiboot_loader.c: Likewise.
22368 * loader/powerpc/ieee1275/linux.c: Likewise.
22369 * normal/completion.c: Likewise.
22370 * normal/menu_entry.c: Likewise.
22371 * partmap/apple.c: Likewise.
22372 * util/grub.d/10_hurd.in: Likewise.
22373 * util/hostfs.c: Likewise.
22374 * video/readers/png.c: Likewise.
22375
e2d70b5c
CW
223762010-01-03 Colin Watson <cjwatson@ubuntu.com>
22377
22378 * include/grub/misc.h (GNUC_PREREQ): New macro.
22379 (ATTRIBUTE_ERROR): New macro.
22380 * include/grub/list.h (grub_bad_type_cast_real): Use
22381 ATTRIBUTE_ERROR.
22382
a173283f 223832010-01-03 Carles Pina i Estany <carles@pina.cat>
22384
22385 * normal/menu_text.c (print_message): Change messages.
22386
7fa7ff74 223872010-01-03 Carles Pina i Estany <carles@pina.cat>
22388
22389 * normal/menu_entry.c (store_completion): Gettextizze.
22390
136d24f6 223912010-01-03 Carles Pina i Estany <carles@pina.cat>
22392
22393 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22394
f936862e 223952010-01-03 Carles Pina i Estany <carles@pina.cat>
22396
22397 * po/POTFILES: Sort correctly.
22398
29c44ad1 223992010-01-03 Carles Pina i Estany <carles@pina.cat>
22400
22401 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22402 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22403 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22404 full stop.
22405 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22406 summary. Gettextizze the strings.
22407 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22408 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22409 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22410 full stop.
22411 (GRUB_MOD_INIT): Remove command name from summary.
22412 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22413 summary.
22414 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22415 * term/i386/pc/serial.c (options): Add full stops.
22416 (GRUB_MOD_INIT): Remove command name from the summary.
22417
77a79592 224182010-01-03 Carles Pina i Estany <carles@pina.cat>
22419
22420 * commands/acpi.c: Gettextizze help strings and/or options. Include
22421 `grub/i18n.h' if needed.
22422 * commands/blocklist.c: Likewise.
22423 * commands/boot.c: Likewise.
22424 * commands/cat.c: Likewise.
22425 * commands/cmp.c: Likewise.
22426 * commands/configfile.c: Likewise.
22427 * commands/crc.c: Likewise.
22428 * commands/date.c: Likewise.
22429 * commands/echo.c: Likewise.
22430 * commands/efi/fixvideo.c: Likewise.
22431 * commands/efi/loadbios.c: Likewise.
22432 * commands/gptsync.c: Likewise.
22433 * commands/halt.c: Likewise.
22434 * commands/handler.c: Likewise.
22435 * commands/hdparm.c: Likewise.
22436 * commands/hexdump.c: Likewise.
22437 * commands/i386/cpuid.c: Likewise.
22438 * commands/i386/pc/drivemap.c: Likewise.
22439 * commands/i386/pc/halt.c: Likewise.
22440 * commands/i386/pc/pxecmd.c: Likewise.
22441 * commands/i386/pc/vbeinfo.c: Likewise.
22442 * commands/i386/pc/vbetest.c: Likewise.
22443 * commands/ieee1275/suspend.c: Likewise.
22444 * commands/keystatus.c: Likewise.
22445 * commands/loadenv.c: Likewise.
22446 * commands/ls.c: Likewise.
22447 * commands/lsmmap.c: Likewise.
22448 * commands/lspci.c: Likewise.
22449 * commands/memrw.c: Likewise.
22450 * commands/minicmd.c: Likewise.
22451 * commands/parttool.c: Likewise.
22452 * commands/password.c: Likewise.
22453 * commands/probe.c: Likewise.
22454 * commands/read.c: Likewise.
22455 * commands/reboot.c: Likewise.
22456 * commands/search.c: Likewise.
22457 * commands/sleep.c: Likewise.
22458 * commands/test.c: Likewise.
22459 * commands/true.c: Likewise.
22460 * commands/usbtest.c: Likewise.
22461 * commands/videotest.c: Likewise.
22462 * commands/xnu_uuid.c: Likewise.
22463 * disk/loopback.c: Likewise.
22464 * hello/hello.c: Likewise.
22465 * loader/i386/bsd.c: Likewise.
22466 * term/i386/pc/serial.c: Likewise.
22467 * po/POTFILES: Add new files.
22468
da8d5c53
CW
224692010-01-02 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * term/i386/pc/at_keyboard.c
22472 (keyboard_controller_wait_untill_ready): Rename to ...
22473 (keyboard_controller_wait_until_ready): ... this. Update all users.
22474
33937904 224752010-01-01 Carles Pina i Estany <carles@pina.cat>
22476
22477 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22478 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22479 string using string width.
22480 * normal/menu_text.c (grub_print_message_indented): Use
22481 grub_print_spaces and not print_spaces.
22482 (print_timeout): Likewise.
22483 (print_spaces): Move to...
22484 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22485
3fd3b8d8
RM
224862010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22487
22488 Import from Gnulib.
22489
22490 * gnulib/getdelim.c: New file.
22491 * gnulib/getline.c: Likewise.
22492
33433555
VS
224932009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22494
22495 * include/grub/list.h (grub_assert_fail): Removed.
22496 (grub_bad_type_cast_real): New function.
22497 (grub_bad_type_cast): New macro.
22498 (GRUB_AS_LIST): Use grub_bad_type_cast.
22499 (GRUB_AS_LIST_P): Likewise.
e44721e8 22500 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22501 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22502 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22503 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22504 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22505
f5a51306
VS
225062009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22507
22508 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22509 Fix syntax error.
22510
90d1e879
RM
225112009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22512
22513 * configure.ac: Check for TARGET_CFLAGS initialization before we
22514 initialize it ourselves (sigh).
22515 Move a few modifications to TARGET_CFLAGS to be unconditional
22516 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22517 eh_frame)
22518
22519 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22520 * term/i386/pc/at_keyboard.c
22521 (keyboard_controller_wait_untill_ready): Likewise.
22522 (keyboard_controller_led): Rename `led_status' paramter to avoid
22523 name conflict.
22524
465b5a81 225252009-12-28 Carles Pina i Estany <carles@pina.cat>
22526
22527 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22528 quotes.
22529
c181849b
VS
225302009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22533
9c8739a4
VS
225342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * normal/menu_text.c (grub_print_message_indented): Prevent
22537 past-the-end-of-array dereference.
22538
3e74249c
VS
225392009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22542 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22543
64fd18ed 225442009-12-27 Carles Pina i Estany <carles@pina.cat>
22545
22546 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22547 * normal/main.c (grub_normal_read_line): Remove a space from the
22548 default prompt.
22549
714af9b9 225502009-12-27 Carles Pina i Estany <carles@pina.cat>
22551
22552 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22553 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22554 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22555 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22556 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22557 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22558 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22559
82f3e412 225602009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22561
22562 * video/readers/jpeg.c (cmd): Declare.
22563 (grub_cmd_jpegtest): Use `grub_command_t' type.
22564 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22565 Assign to `cmd'.
22566 (GRUB_MOD_FINI): Use `cmd' to unregister.
22567 * video/readers/png.c (cmd): Declare.
22568 (grub_cmd_pngtest): Use `grub_command_t' type.
22569 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22570 Assign to `cmd'.
22571 (GRUB_MOD_FINI): Use `cmd' to unregister.
22572 * video/readers/tga.c (cmd): Declare.
22573 (grub_cmd_tgatest): Use `grub_command_t' type.
22574 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22575 Assign to `cmd'.
22576 (GRUB_MOD_FINI): Use `cmd' to unregister.
22577
82f3e412 225782009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22579
22580 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22581 stops.
22582 * kern/corecmd.c (grub_register_core_commands): Likewise.
22583 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22584 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22585 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22586 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22587 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22588 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22589 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22590 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22591 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22592 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22593 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22594 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22595 * normal/handler.c (insert_handler): Likewise.
22596 * normal/main.c (GRUB_MOD_INIT): Likewise.
22597 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22598
fdcdbb66 225992009-12-26 Carles Pina i Estany <carles@pina.cat>
22600
22601 * commands/help.c (grub_cmd_help): Print the command name before the
22602 summary.
22603 (GRUB_MOD_INIT): Remove command name from the summary.
22604 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22605 string as summary.
fdcdbb66 22606 * lib/arg.c (find_long): Print the command name before the summary.
22607 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22608 summary.
22609 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22610 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22611 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22612 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22613 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22614 * commands/date.c (GRUB_MOD_INIT): Likewise.
22615 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22616 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22617 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22618 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22619 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22620 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22621 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22622 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22623 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22624 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22625 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22626 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22627 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22628 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22629 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22630 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22631 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22632 * commands/password.c (GRUB_MOD_INIT): Likewise.
22633 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22634 * commands/read.c (GRUB_MOD_INIT): Likewise.
22635 * commands/search.c (GRUB_MOD_INIT): Likewise.
22636 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22637 * commands/test.c (GRUB_MOD_INIT): Likewise.
22638 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22639 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22640 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22641 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22642 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22643 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22644 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22645 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22646 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22647 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22648 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22649 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22650 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22651 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22652
9c288be2
VS
226532009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 Use search command for preliminar UUID search.
22656
22657 * commands/search.c: Split into ...
22658 * commands/search_wrap.c: ...this
22659 * commands/search.c: ...and this.
22660 * commands/search_file.c: New file.
22661 * commands/search_label.c: New file.
22662 * commands/search_uuid.c: New file.
22663 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22664 Add commands/search_wrap.c, commands/search_file.c,
22665 commands/search_label.c and commands/search_uuid.c.
22666 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22667 (search_mod_SOURCES): Set to commands/search_wrap.c.
22668 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22669 search_label.mod.
22670 (search_fs_file_mod_SOURCES): New variable.
22671 (search_fs_file_mod_CFLAGS): Likewise.
22672 (search_fs_file_mod_LDFLAGS): Likewise.
22673 (search_label_mod_SOURCES): Likewise.
22674 (search_label_mod_CFLAGS): Likewise.
22675 (search_label_mod_LDFLAGS): Likewise.
22676 (search_fs_uuid_mod_SOURCES): New variable.
22677 (search_fs_uuid_mod_CFLAGS): Likewise.
22678 (search_fs_uuid_mod_LDFLAGS): Likewise.
22679 (fs_file_mod_SOURCES): Removed.
22680 (fs_file_mod_CFLAGS): Likewise.
22681 (fs_file_mod_LDFLAGS): Likewise.
22682 (fs_uuid_mod_SOURCES): Removed.
22683 (fs_uuid_mod_CFLAGS): Likewise.
22684 (fs_uuid_mod_LDFLAGS): Likewise.
22685 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22686 Set to util/grub-install.in.
22687 * disk/fs_file.c: Removed.
22688 * disk/fs_uuid.c: Likewise.
22689 * include/grub/search.h: New file.
22690 * util/grub-install.in: Handle sparc64.
22691 Create and use load.cfg.
22692 * util/sparc64/ieee1275/grub-install.in: Removed.
22693
db943399
VS
226942009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22697 Ignore return status if CF is cleared.
22698 (grub_biosdisk_get_diskinfo_standard): Likewise.
22699
3fdae612
RM
227002009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22701
22702 * term/i386/pc/at_keyboard.c
22703 (keyboard_controller_wait_untill_ready): New function.
22704 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22705 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22706 for keyboard polling, rather than duplicate the same loop. This
22707 saves a few bytes in code size.
22708
7ebaa2b4
VS
227092009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 Support for (pxe[:server[:gateway]]) syntax and
22712 use environment variable for PXE.
22713
22714 * commands/i386/pc/pxecmd.c (options): Removed.
22715 (print_ip): Removed.
22716 (grub_cmd_pxe): Removed
22717 (grub_cmd_pxe_unload): New function.
22718 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22719 (grub_pxe_your_ip): Made static.
22720 (grub_pxe_default_server_ip): Likewise.
22721 (grub_pxe_default_gateway_ip): Likewise.
22722 (grub_pxe_blksize): Likewise.
22723 (parse_ip): New function.
22724 (grub_pxe_open): Support server and gateway specification.
22725 (grub_pxe_close): Free disk->data.
22726 (grub_pxefs_open): Use disk->data.
22727 (grub_pxefs_read): Likewise.
22728 (grub_env_write_readonly): New function.
22729 (set_mac_env): Likewise.
22730 (set_env_limn_ro): Likewise.
22731 (parse_dhcp_vendor): Likewise.
22732 (grub_pxe_detect): Set the environment variables.
22733 (set_ip_env): New function.
22734 (write_ip_env): Likewise.
22735 (grub_env_write_pxe_default_server): Likewise.
22736 (grub_env_write_pxe_default_gateway): Likewise.
22737 (grub_env_write_pxe_blocksize): Likewise.
22738 (GRUB_MOD_INIT(pxe)): Set environment variables.
22739 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22740 (grub_pxe_mac_addr_t): ... this. All users updated.
22741 (grub_pxe_your_ip): Removed.
22742 (grub_pxe_server_ip): Likewise.
22743 (grub_pxe_gateway_ip): Likewise.
22744 (grub_pxe_blksize): Likewise.
22745
ec5f98ab 227462009-12-25 Carles Pina i Estany <carles@pina.cat>
22747
22748 * commands/help.c: Include `<grub/i18n.h>'.
22749 (grub_cmd_help): Gettextizze.
22750 (GRUB_MOD_INIT): Likewise.
22751 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22752 (GRUB_MOD_INIT): Gettextizze.
22753 * commands/search.c: Include `<grub/i18n.h>'.
22754 (options): Gettextizze.
22755 (GRUB_MOD_INIT): Gettextizze.
22756 * lib/arg.c: Include `<grub/i18n.h>'.
22757 (help_options): Gettextizze.
22758 (find_long): Likewise.
22759 (grub_arg_show_help): Likewise.
22760 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22761 (read_command_list): Gettextizze.
22762 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22763 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22764
22815526
RM
227652009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22766
22767 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22768 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22769 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22770 (led_status): New variable.
22771 (keyboard_controller_led): New function.
22772 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22773 update led status for caps lock, num lock and scroll lock.
22774
0ad46fd7
FZ
227752009-12-25 Felix Zielcke <fzielcke@z-51.de>
22776
22777 * util/hostdisk.c (open_device): Fix a comment.
22778
d0e158c2
RM
227792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22780
22781 * util/grub-install.in (host_os): New variable.
22782 * util/i386/efi/grub-install.in (host_os): Likewise.
22783
401c0ad6
RM
227842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22785
22786 * util/mkisofs/write.c (padblock_write): Abort when given an
22787 excedingly large embed image, instead of silently truncating it.
22788
d14d3370
RM
227892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22790
22791 * include/multiboot.h: Indentation fixes.
22792
eeed10b4
RM
227932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22794
22795 * include/multiboot.h (struct multiboot_aout_symbol_table)
22796 (struct multiboot_elf_section_header_table): New structure
22797 declarations (stolen from GRUB Legacy).
22798 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22799 table information.
22800
22801 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22802 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22803 type aliases.
22804
681c70ab
RM
228052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 * include/multiboot.h: Make comments src2texi-friendly.
22808
e4d47d8d
RM
228092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22810
22811 For consistency with [multiboot]/docs/boot.S.
22812
22813 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22814 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22815 (MULTIBOOT_MAGIC2): Rename from this ...
22816 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22817
a0b70bda
RM
228182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22819
22820 * include/multiboot.h: Remove `<grub/types.h>'.
22821 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22822 types. Update all users.
22823
61ba42be 228242009-12-25 Carles Pina i Estany <carles@pina.cat>
22825
22826 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22827 `couldn't' and `can not' by `cannot'.
22828 * commands/i386/pc/drivemap.c: Likewise.
22829 * disk/ata.c: Likewise.
22830 * disk/ieee1275/nand.c: Likewise.
22831 * fs/affs.c: Likewise.
22832 * fs/fat.c: Likewise.
22833 * fs/hfs.c: Likewise.
22834 * fs/hfsplus.c: Likewise.
22835 * fs/iso9660.c: Likewise.
22836 * fs/jfs.c: Likewise.
22837 * fs/minix.c: Likewise.
22838 * fs/reiserfs.c: Likewise.
22839 * fs/sfs.c: Likewise.
22840 * fs/udf.c: Likewise.
22841 * fs/ufs.c: Likewise.
22842 * fs/xfs.c: Likewise.
22843 * loader/powerpc/ieee1275/linux.c: Likewise.
22844 * loader/sparc64/ieee1275/linux.c: Likewise.
22845 * util/grub-probe.c: Likewise.
22846 * util/misc.c: Likewise.
22847
7fd0baee 228482009-12-24 Carles Pina i Estany <carles@pina.cat>
22849
22850 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22851 grub_errno calls.
22852 * commands/acpi.c: Likewise.
22853 * commands/blocklist.c: Likewise.
22854 * commands/efi/loadbios.c: Likewise.
22855 * commands/i386/pc/drivemap.c: Likewise.
22856 * commands/loadenv.c: Likewise.
22857 * commands/memrw.c: Likewise.
22858 * commands/password.c: Likewise.
22859 * commands/videotest.c: Likewise.
22860 * disk/ata.c: Likewise.
22861 * disk/ata_pthru.c: Likewise.
22862 * disk/dmraid_nvidia.c: Likewise.
22863 * disk/ieee1275/nand.c: Likewise.
22864 * disk/ieee1275/ofdisk.c: Likewise.
22865 * disk/loopback.c: Likewise.
22866 * disk/lvm.c: Likewise.
22867 * disk/mdraid_linux.c: Likewise.
22868 * disk/raid.c: Likewise.
22869 * disk/raid6_recover.c: Likewise.
22870 * disk/scsi.c: Likewise.
22871 * efiemu/main.c: Likewise.
22872 * efiemu/mm.c: Likewise.
22873 * efiemu/pnvram.c: Likewise.
22874 * efiemu/symbols.c: Likewise.
22875 * font/font.c: Likewise.
22876 * fs/cpio.c: Likewise.
22877 * fs/hfsplus.c: Likewise.
22878 * fs/iso9660.c: Likewise.
22879 * fs/jfs.c: Likewise.
22880 * fs/minix.c: Likewise.
22881 * fs/ntfs.c: Likewise.
22882 * fs/ntfscomp.c: Likewise.
22883 * fs/reiserfs.c: Likewise.
22884 * fs/ufs.c: Likewise.
22885 * fs/xfs.c: Likewise.
22886 * gettext/gettext.c: Likewise.
22887 * include/grub/auth.h: Likewise.
22888 * kern/elf.c: Likewise.
22889 * kern/file.c: Likewise.
22890 * kern/ieee1275/init.c: Likewise.
22891 * kern/ieee1275/mmap.c: Likewise.
22892 * kern/ieee1275/openfw.c: Likewise.
22893 * kern/powerpc/dl.c: Likewise.
22894 * kern/sparc64/dl.c: Likewise.
22895 * lib/arg.c: Likewise.
22896 * loader/i386/bsd.c: Likewise.
22897 * loader/i386/bsdXX.c: Likewise.
22898 * loader/i386/efi/linux.c: Likewise.
22899 * loader/i386/efi/xnu.c: Likewise.
22900 * loader/i386/ieee1275/linux.c: Likewise.
22901 * loader/i386/linux.c: Likewise.
22902 * loader/i386/multiboot.c: Likewise.
22903 * loader/i386/pc/linux.c: Likewise.
22904 * loader/i386/pc/multiboot2.c: Likewise.
22905 * loader/i386/xnu.c: Likewise.
22906 * loader/ieee1275/multiboot2.c: Likewise.
22907 * loader/macho.c: Likewise.
22908 * loader/machoXX.c: Likewise.
22909 * loader/multiboot2.c: Likewise.
22910 * loader/multiboot_loader.c: Likewise.
22911 * loader/powerpc/ieee1275/linux.c: Likewise.
22912 * loader/sparc64/ieee1275/linux.c: Likewise.
22913 * loader/xnu.c: Likewise.
22914 * loader/xnu_resume.c: Likewise.
22915 * mmap/i386/pc/mmap.c: Likewise.
22916 * normal/menu_viewer.c: Likewise.
22917 * partmap/acorn.c: Likewise.
22918 * partmap/amiga.c: Likewise.
22919 * partmap/apple.c: Likewise.
22920 * script/lexer.c: Likewise.
22921 * term/gfxterm.c: Likewise.
22922 * term/i386/pc/serial.c: Likewise.
22923 * term/i386/pc/vga.c: Likewise.
22924 * term/ieee1275/ofconsole.c: Likewise.
22925 * term/terminfo.c: Likewise.
22926 * video/bitmap.c: Likewise.
22927 * video/efi_gop.c: Likewise.
22928 * video/efi_uga.c: Likewise.
22929 * video/fb/video_fb.c: Likewise.
22930 * video/i386/pc/vbe.c: Likewise.
22931 * video/readers/tga.c: Likewise.
22932 * video/video.c: Likewise.
22933
0ad46fd7 229342009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22935
22936 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22937 * commands/lspci.c: Likewise.
22938 * commands/probe.c: Likewise.
22939 * commands/xnu_uuid.c: Likewise.
22940 * conf/i386-coreboot.rmk: Likewise.
22941 * conf/i386-efi.rmk: Likewise.
22942 * conf/i386-ieee1275.rmk: Likewise.
22943 * conf/i386-pc.rmk: Likewise.
22944 * conf/powerpc-ieee1275.rmk: Likewise.
22945 * conf/sparc64-ieee1275.rmk: Likewise.
22946 * conf/x86_64-efi.rmk: Likewise.
22947 * fs/i386/pc/pxe.c: Likewise.
22948 * gettext/gettext.c: Likewise.
22949 * include/grub/efi/graphics_output.h: Likewise.
22950 * include/grub/i386/pc/memory.h: Likewise.
22951 * kern/env.c: Likewise.
22952 * kern/i386/qemu/startup.S: Likewise.
22953 * lib/i386/pc/biosnum.c: Likewise.
22954 * lib/i386/relocator.c: Likewise.
22955 * lib/i386/relocator_asm.S: Likewise.
22956 * lib/relocator.c: Likewise.
22957 * loader/i386/bsd.c: Likewise.
22958 * loader/i386/multiboot.c: Likewise.
22959 * loader/i386/pc/chainloader.c: Likewise.
22960 * loader/i386/xnu.c: Likewise.
22961 * loader/xnu.c: Likewise.
22962 * normal/main.c: Likewise.
22963 * normal/menu_text.c: Likewise.
22964 * util/getroot.c: Likewise.
22965 * util/grub-mkconfig_lib.in: Likewise.
22966 * util/grub.d/00_header.in: Likewise.
22967 * util/i386/pc/grub-mkimage.c: Likewise.
22968 * util/mkisofs/eltorito.c: Likewise.
22969 * util/mkisofs/exclude.h: Likewise.
22970 * util/mkisofs/hash.c: Likewise.
22971 * util/mkisofs/iso9660.h: Likewise.
22972 * util/mkisofs/joliet.c: Likewise.
22973 * util/mkisofs/mkisofs.c: Likewise.
22974 * util/mkisofs/mkisofs.h: Likewise.
22975 * util/mkisofs/multi.c: Likewise.
22976 * util/mkisofs/name.c: Likewise.
22977 * util/mkisofs/rock.c: Likewise.
22978 * util/mkisofs/tree.c: Likewise.
22979 * util/mkisofs/write.c: Likewise.
22980 * video/efi_gop.c: Likewise.
22981
009ec743
VS
229822009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22985 size counting.
22986
0ad46fd7 229872009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22988
22989 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22990 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22991
d3d30ea0
VS
229922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22993
22994 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22995 (GRUB_MOD_INIT(memrw)): Update help line.
22996
a34f5c70
VS
229972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22998
22999 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23000 Use grub_extcmd_t. All users updated.
23001 (options): New variable.
23002 (grub_cmd_read): Restructure for readability. Support "-v" option.
23003 (grub_cmd_write): Restructure for readability.
23004
0ad46fd7 230052009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23006
23007 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23008
0ad46fd7 230092009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23010
23011 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23012 with the actual contents of the correspondending make variable.
23013 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23014 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23015 specifying `*.lst' and `efiemu??.o'
23016
0ad46fd7 230172009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23018
23019 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23020 after function name.
23021 Noticed by Rene Engelhard <rene@debian.org>.
23022
dc77a799
VS
230232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23024
23025 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23026 (options): New variable.
23027 (iospace): Likewise.
23028 (grub_lspci_iter): List IO spaces if "-i" was given.
23029 (grub_cmd_lspci): Parse options.
23030 (GRUB_MOD_INIT(lspci)): Use extcmd.
23031 (GRUB_MOD_FINI(lspci)): Likewise.
23032
0ad46fd7 230332009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23034
23035 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23036 `function' keyword.
23037 Patch by Tony Mancill <tmancill@debian.org>.
23038
b5d5993b
VS
230392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23042 (grub_uhci_portstatus): Likewise.
23043 (grub_uhci_portstatus): Add necessary delay.
11d18281 23044 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23045
941903f2 230462009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23047
941903f2 23048 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23049 (GRUB_MOD_INIT): Likewise.
23050 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23051 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23052 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23053 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23054 (enable_rom_area): Likewise.
23055 (GRUB_MOD_INIT): Likewise.
23056 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23057 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23058 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23059 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23060 * commands/hexdump.c (options): Likewise.
23061 * commands/i386/cpuid.c (options): Likewise.
23062 (GRUB_MOD_INIT): Likewise.
23063 * commands/i386/pc/drivemap.c (options): Likewise.
23064 (GRUB_MOD_INIT): Likewise.
23065 * commands/i386/pc/halt (options): Likewise.
23066 (GRUB_MOD_INIT): Likewise.
23067 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23068 * commands/i386/pc/pxecmd.c (options): Likewise.
23069 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23070 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23071 * commands/keystatus.c (options): Likewise.
23072 (GRUB_MOD_INIT): Likewise.
23073 * commands/loadenv.c (options): Likewise.
23074 * commands/ls.c (options): Likewise.
23075 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23076 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23077 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23078 * commands/parttool.c (helpmsg): Likewise.
23079 * commands/probe.c (options): Likewise.
23080 * commands/read.c (GRUB_MOD_INIT): Likewise.
23081 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23082 * commands/search.c (options): Likewise.
23083 * commands/sleep.c (options): Likewise.
23084 * commands/test.c (GRUB_MOD_INIT): Likewise.
23085 * commands/true.c (GRUB_MOD_INIT): Likewise.
23086 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23087 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23088 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23089 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23090 `$(XGETTEXT)'.
98a50553 23091 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23092
0ad46fd7 230932009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23094
ef3c2c3a 23095 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23096 instead of specifying them explicit.
23097
7922f68b
RM
230982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23099
23100 * NEWS: Add grub-probe support for GNU/Hurd.
23101
537ce47f
RM
231022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23103
23104 * NEWS: gettext was added after 1.97.
23105
9b214e3a
RM
231062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23107
23108 * util/mkisofs/msdos_partition.h: New file (based on
23109 include/grub/msdos_partition.h).
23110 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23111 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23112 (ld_options, main): Recognize --protective-msdos-label.
23113 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23114 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23115 (padblock_write): If `use_protective_msdos_label' is set, patch a
23116 protective DOS-style label in the output image.
23117
23118 * util/grub-mkrescue.in: Use --protective-msdos-label.
23119
e9309813
RM
231202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23121
23122 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23123 boot.
23124
0ae56929
RM
231252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23126
23127 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23128 variables.
23129 (ld_options, main): Recognize `--embedded-boot'.
23130 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23131 declarations.
23132 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23133 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23134 (padblock_write): Likewise. Rewrite to support embedded boot image.
23135
23136 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23137 for BIOS-based disk boot instead of only ElTorito.
23138
b15937b1
RM
231392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23140
23141 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23142 build (not needed for bootstrap).
23143
52cc3ce0
RM
231442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23145
23146 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23147 from i386-pc build (not needed for bootstrap).
23148 Rewrite a pair of strings.
23149
36f5ff04
RM
231502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23151
23152 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23153
973c6c85 231542009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23155
23156 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23157
05d21547
AB
231582009-12-21 Andreas Born <futur.andy@googlemail.com>
23159
23160 * kern/env.c (grub_env_context_open): Mark exported variable for
23161 reexport.
23162
0175d51f
AB
231632009-12-21 Andreas Born <futur.andy@googlemail.com>
23164
23165 * kern/env.c (grub_env_export): Create nonexistent variables before
23166 exporting.
23167
7f39d92f 231682009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23169
7f39d92f 23170 * include/grub/auth.h: Include `<grub/i18n.h>'.
23171 (GRUB_GET_PASSWORD): Gettextizze string.
23172 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23173 menu_text.c.
23174 (grub_utf8_to_ucs4_alloc): Fix indentation.
23175 (grub_print_ucs4): Likewise.
23176 (grub_getstringwidth): Likewise.
23177 (print_message_indented): New declaration.
23178 * normal/auth.c: Include `<grub/i18n.h>'.
23179 (grub_auth_check_authentication): Gettexttize string.
23180 * normal/cmdline.c: Include `<grub/i18n.h>'.
23181 (grub_cmdline_get): Gettextizze.
23182 * normal/color.c: Include `<grub/i18n.h>'.
23183 (grub_parse_color_name_pair): Gettexttize strings.
23184 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23185 string (use `print_message_indented').
23186 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23187 `include/grub/normal.h'.
23188 (print_message_indented): Renamed to ...
23189 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23190 used in normal/main.c).
23191 (print_message): Use `grub_print_message_indented' instead of
23192 `print_message_indented'.
23193 (print_timeout): Likewise.
23194 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23195 (grub_normal_print_device_info): Gettexttize strings.
23196 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23197
3041d898
VS
231982009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23199
23200 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23201 of arguments. Return number of tokens and not arguments. All users
23202 updated.
23203
de15bf8e
VS
232042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23205
23206 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23207 non-MSDOS paritions.
23208
e0a6ca52
VS
232092009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 * include/grub/types.h (UNUSED): Removed since it conflicts with
23212 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23213 Reported by Grégoire Sutre.
23214
b99518d1 232152009-12-19 Carles Pina i Estany <carles@pina.cat>
23216
23217 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23218 (grub_print_ucs4_alloc): Likewise.
23219 (grub_getstringwidth): Likewise.
23220 * normal/main.c (grub_normal_init_page): Gettextize version string.
23221 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23222 (getstringwidth): Renamed to ...
23223 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23224 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23225 (grub_print_ucs4): Remove `static' qualifer (now used in
23226 normal/main.c).
23227 * po/POTFILES: Add normal/main.c.
23228
bfd5e52b 232292009-12-19 Carles Pina i Estany <carles@pina.cat>
23230
23231 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23232 (print_message_indented): Add `margin_left' and `margin_right'
23233 parameters.
23234 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23235 strings.
23236 (print_timeout): Use `print_message_indented' to print the message.
23237 Deletes `second_stage' parameter.
23238 (run_menu): Update `print_timeout' calls.
23239
5a1ad2b9
VS
232402009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23241
23242 Fix console palette on OpenFirmware.
23243
23244 * term/ieee1275/ofconsole.c (MAX): Removed.
23245 (colors): Redone based on VGA palette.
23246 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23247 colors are supported.
23248 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23249
b045f00a
VS
232502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23251
23252 Fix potential EfiEmu double prepare.
23253
23254 * efiemu/main.c (prepared): New variable
23255 (grub_efiemu_unload): Set prepare to '0'.
23256 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23257
23258 set_virtual_address_map support.
23259
23260 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23261 prototype.
23262 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23263 prototype.
23264 (grub_efiemu_crc32): Likewise.
23265 (grub_efiemu_crc64): Likewise.
23266 (grub_efiemu_set_virtual_address_map): Likewise.
23267 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23268 New definition.
23269 (grub_autoefi_set_virtual_address_map): Likewise.
23270 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23271 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23272 Restructure flow to accomodate it.
23273 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23274 (grub_efiemu_crc): Recompute CRC32.
23275 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23276 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23277 * efiemu/symbols.c (relocated_handle): New variable.
23278 (grub_efiemu_free_syms): Free relocated_handle.
23279 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23280 (grub_efiemu_write_sym_markers): New function.
23281 (grub_efiemu_set_virtual_address_map): Likewise.
23282
23283 Newer XNU parameters.
23284
23285 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23286 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23287 (grub_xnu_fill_devicetree): New prototype.
23288 (grub_xnu_heap_real_start): New variable.
23289 * loader/xnu.c (get_name_ptr): New function.
23290 (grub_xnu_load_driver): Fill namelen and name.
23291
23292 64-bit xnu support.
23293
23294 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23295 and 'loader/macho64.c'.
23296 * conf/i386-pc.rmk: Likewise.
23297 * conf/x86_64-efi.rmk: Likewise.
23298 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23299 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23300 * include/grub/macho.h (grub_macho_segment64): New structure.
23301 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23302 (grub_macho_size32): ... to this.
23303 (grub_macho32_get_entry_point): Renamed from ...
23304 (grub_macho_get_entry_point32): ... to this.
23305 (grub_macho_contains_macho64): New prototype.
23306 (grub_macho_size64): Likewise.
23307 (grub_macho_get_entry_point64): Likewise.
23308 (grub_macho32_load): Renamed from ...
23309 (grub_macho_load32): ... to this.
23310 (grub_macho32_filesize): Renamed from ...
23311 (grub_macho_filesize32): ... to this.
23312 (grub_macho32_readfile): Renamed from ...
23313 (grub_macho_readfile32): ... to this.
23314 (grub_macho_filesize64): New prototype.
23315 (grub_macho_readfile64): Likewise.
23316 (grub_macho_parse32): Likewise.
23317 (grub_macho_parse64): Likewise.
23318 * loader/macho.c: Split into ...
23319 * loader/machoXX.c: ... and this. Replace 32 with XX.
23320 * loader/macho32.c: New file.
23321 * loader/macho64.c: Likewise.
23322 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23323 (grub_cmd_xnu_kernel): Make 32-bit only.
23324 (grub_cmd_xnu_kernel64): New function.
23325 (grub_xnu_load_driver): Support Mach-O 64.
23326 (grub_cmd_xnu_mkext): Likewise.
23327 * util/grub.d/30_os-prober.in (osx_entry): New function.
23328 Generate entries for 64-bit boot too.
23329
23330 Eliminate ad-hoc tree format in XNU and EfiEmu.
23331
23332 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23333 * efiemu/pnvram.c: Rewritten to use environment variables.
23334 All users updated.
23335
23336 Inline utf16_to_utf8.
23337
23338 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23339 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23340 All users updated.
23341 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23342
23343 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23344 * commands/usbtest.c (grub_usb_get_string): ... move here.
23345 (usb_print_str): Fix error handling.
23346 * include/grub/usb.h (grub_usb_get_string): Remove.
23347
23348 UTF-8 to UTF-16 transformation.
23349
23350 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23351 (charset_mod_SOURCES): New variable.
23352 (charset_mod_CFLAGS): Likewise.
23353 (charset_mod_LDFLAGS): Likewise.
23354 * include/grub/utf.h: New file.
23355 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23356
23357 Support for device properties.
23358
23359 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23360 (grub_xnu_devprop_device_header): Likewise.
23361 (grub_xnu_devprop_device_descriptor): Likewise.
23362 (grub_xnu_devprop_add_device): New prototype.
23363 (grub_xnu_devprop_remove_device): Likewise.
23364 (grub_xnu_devprop_remove_property): Likewise.
23365 (grub_xnu_devprop_add_property_utf8): Likewise.
23366 (grub_xnu_devprop_add_property_utf16): Likewise.
23367 (grub_cpu_xnu_init): Likewise.
23368 (grub_cpu_xnu_fini): Likewise.
23369 (grub_cpu_xnu_unload): Likewise.
23370 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23371 (property_descriptor): Likewise.
23372 (devices): New variable.
23373 (grub_xnu_devprop_remove_property): New function.
23374 (grub_xnu_devprop_add_device): Likewise.
23375 (grub_xnu_devprop_remove_device): Likewise.
23376 (grub_xnu_devprop_add_property): Likewise.
23377 (grub_xnu_devprop_add_property_utf8): Likewise.
23378 (grub_xnu_devprop_add_property_utf16): Likewise.
23379 (hextoval): Likewise.
23380 (grub_cpu_xnu_fill_devprop): Likewise.
23381 (grub_cmd_devprop_load): Likewise.
23382 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23383 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23384 (cmd_devprop_load): New variable.
23385 (grub_cpu_xnu_init): New function.
23386 (grub_cpu_xnu_fini): Likewise.
23387 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23388 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23389 (grub_cmd_xnu_devtree): Likewise.
23390 (hextoval): New function.
23391 (unescape): Likewise.
23392 (grub_xnu_fill_devicetree): Likewise.
23393
23394 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23395 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23396
0945f181
VS
233972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23398
23399 Workaround for broken ATI VBE.
23400
23401 * video/i386/pc/vbe.c (last_set_mode): New variable.
23402 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23403 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23404 (grub_video_vbe_setup): Don't check for reserved flag.
23405
0ad46fd7 234062009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23407
23408 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23409 the `find' command.
23410
c179ebe4
VS
234112009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23412
23413 UUID support for HFS.
23414
23415 * fs/hfs.c (grub_hfs_uuid): New function.
23416 (grub_hfs_fs): New value .uuid.
23417 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23418
0ad46fd7 234192009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23420
23421 Fix a segfault with parsing unknown long options.
23422
23423 * util/grub-mkrelpath.c (options): Zero terminate it.
23424
c4a3e41a
CPE
234252009-12-13 Carles Pina i Estany <carles@pina.cat>
23426
23427 * include/grub/misc.h (grub_puts): New declaration.
23428 (grub_puts_): Likewise.
a22008a6 23429 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23430 (grub_puts_): Likewise.
23431
2e8a7602
RM
234322009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23433
23434 * util/grub-probe.c (probe): Improve error message.
23435
b50b77b9
RM
234362009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23437
23438 * loader/i386/multiboot_elfxx.c
23439 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23440 initialization.
23441
234422009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 Relocator framework
23445
23446 * loader/i386/xnu_helper.S: Removed. All users updated.
23447 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23448 (relocator_mod_SOURCES): New variable.
23449 (relocator_mod_CFLAGS): Likewise.
23450 (relocator_mod_LDFLAGS): Likewise.
23451 (relocator_mod_ASFLAGS): Likewise.
23452 * conf/x86_64.rmk: Likewise.
23453 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23454 (grub_multiboot_payload_entry_offset): Likewise.
23455 (grub_multiboot_forward_relocator): Likewise.
23456 (grub_multiboot_forward_relocator_end): Likewise.
23457 (grub_multiboot_backward_relocator): Likewise.
23458 (grub_multiboot_backward_relocator_end): Likewise.
23459 (grub_multiboot_payload_eip): New variable.
23460 (grub_multiboot_payload_orig): Likewise.
23461 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23462 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23463 * include/grub/i386/memory.h
23464 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23465 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23466 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23467 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23468 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23469 * include/grub/i386/relocator.h: New file.
23470 * include/grub/x86_64/relocator.h: Likewise.
23471 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23472 (XNU_RELOCATOR): New macro.
23473 (grub_xnu_launcher_start): Remove.
23474 (grub_xnu_launcher_end): Likewise.
23475 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23476 (grub_xnu_heap_real_start): Remove.
23477 (grub_xnu_heap_start): Change to void *. All users updated.
23478 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23479 * lib/i386/relocator.c: New file.
23480 * lib/i386/relocator_asm.S: Likewise.
23481 * lib/i386/relocator_backward.S: Likewise.
23482 * lib/mips/relocator.c: Likewise.
23483 * lib/mips/relocator_asm.S: Likewise.
23484 * lib/relocator.c: Likewise.
23485 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23486 (entry): Removed.
23487 (playground): Likewise.
23488 (grub_multiboot_payload_orig): New variable.
23489 (grub_multiboot_payload_dest): Likewise.
23490 (grub_multiboot_payload_size): Likewise.
23491 (grub_multiboot_payload_eip): Likewise.
23492 (grub_multiboot_payload_esp): Likewise.
23493 (grub_multiboot_boot): Use grub_relocator32_boot.
23494 (grub_multiboot_unload): Free relocators.
23495 (grub_multiboot): Setup stack. Use relocators.
23496 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23497 (grub_multiboot_load_elfXX): Use relocators.
23498 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23499 (grub_multiboot_payload_size): Likewise.
23500 (grub_multiboot_payload_dest): Likewise.
23501 (grub_multiboot_payload_entry_offset): Likewise.
23502 (grub_multiboot_forward_relocator): Likewise.
23503 (grub_multiboot_backward_relocator): Likewise.
23504 (grub_multiboot_real_boot): Likewise.
23505 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23506 (grub_xnu_entry_point): Likewise.
23507 (grub_xnu_arg1): Likewise.
23508 (grub_xnu_stack): Likewise.
23509 (grub_xnu_launch): Removed.
23510 (grub_xnu_boot_resume): New function.
23511 (grub_xnu_boot): Use relocators.
23512 * loader/i386/xnu_helper.S: Removed.
23513 * loader/xnu.c (grub_xnu_heap_start): New variable.
23514 (grub_xnu_heap_size): Likewise.
23515 (grub_xnu_heap_malloc): Use relocators.
23516 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23517
29eb90c6
VS
235182009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23521 anything.
23522
31027430
CPE
235232009-12-13 Carles Pina i Estany <carles@pina.cat>
23524
23525 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23526 GRUB_ERR_NONE before calling grub_env_set.
23527
dc0c71d9
RM
235282009-12-12 Robert Millan <rmh@aybabtu.com>
23529
23530 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23531 * genmk.rb (video): New variable.
23532 (CLEANFILES, VIDEOFILES): Add #{video}.
23533 (#{video}): New target rule.
23534 * genvideolist.sh: New file.
23535 * Makefile.in (pkglib_DATA): Add video.lst.
23536 (video.lst): New target rule.
23537 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23538 `video.lst'.
23539 * util/grub.d/30_os-prober.in: Replace `vbe' with
23540 ${GRUB_VIDEO_BACKEND}.
23541
2a4bfcf0
RM
235422009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23543
23544 * THANKS: Add David Miller.
23545
2a3aa4d5
RM
235462009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 libpciaccess support.
23549
23550 * Makefile.in (LIBPCIACCESS): New variable.
23551 (enable_grub_emu_pci): Likewise.
23552 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23553 util/pci.c and commands/lspci.c.
23554 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23555 * configure.ac (grub-emu-pci): New option.
23556 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23557 (grub_pci_device_unmap_range): Likewise.
23558 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23559 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23560 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23561 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23562 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23563 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23564 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23565 * include/grub/pciutils.h: New file.
23566 * util/pci.c: Likewise.
23567
0ad46fd7 235682009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23569
23570 * util/misc.c: Don't include <errno.h> twice.
23571
0ad46fd7 235722009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23573
23574 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23575 name in an error message.
23576 (grub_biosdisk_rw): Likewise.
23577
2e59983c
VS
235782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 Eliminate NTFS 4Gib barrier.
23581
23582 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23583 (read_run_data): Likewise.
23584 (grub_ntfs_read_run_list): Likewise.
23585 (grub_ntfs_read_block): Likewise.
23586 (grub_ntfs_iterate_dir): Likewise.
23587 (read_mft): Likewise.
23588 (read_data): Likewise.
23589 Use COM_LOG_LEN.
23590 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23591 to avoid 64-bit division
23592 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23593 (grub_ntfs_rlst): Use grub_disk_addr_t.
23594
71ee178a
VS
235952009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23596
23597 Eliminate grub-fstest 4Gib barrier.
23598
23599 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23600 (read_file): Fix error reporting.
23601
2520d4b8
VS
236022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 Eliminate hexdump 4Gib barrier.
23605
23606 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23607 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23608
e1f27065
VS
236092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23610
23611 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23612 Fixes amarsh bug.
23613
1a0f7f45
RM
236142009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23615
23616 Remove miscellaneous files in distclean target.
23617
23618 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23619
c631d9fb
CW
236202009-12-09 Colin Watson <cjwatson@ubuntu.com>
23621
23622 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23623 if they're already set. This resolves the conflict between my
23624 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23625 fixing the --grub-probe option again.
23626 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23627 change on 2009-10-06, so that we now once again source
23628 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23629
7c7b6106
RM
236302009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23631
23632 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23633 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23634 `util/devicemap.c'.
23635
e3069ec1
CPE
236362009-12-08 Carles Pina i Estany <carles@pina.cat>
23637
23638 * include/grub/misc.h (grub_printf_): New declaration.
23639 * kern/misc.c (grub_printf_): New definition.
23640 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23641 instead of `grub_printf' and `_'.
23642 * normal/menu_entry.c (store_completion): Likewise.
23643 (run): Likewise.
23644 (grub_menu_entry_run): Likewise.
23645 * normal/menu_text.c (grub_wait_after_message): Likewise.
23646 (notify_booting): Likewise.
23647 (notify_fallback): Likewise.
23648 (notify_execution_failure): Likewise.
23649
d6ceebf1
CW
236502009-12-07 Colin Watson <cjwatson@ubuntu.com>
23651
23652 * configure.ac: Check for vasprintf.
23653 * util/misc.c (asprintf): Move allocation from here ...
23654 (vasprintf): ... to here. New function.
23655 (xasprintf): New function.
23656 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23657 prototypes.
23658 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23659 * util/grub-mkfont.c (write_font): Likewise.
23660 * util/grub-probe.c (probe): Likewise.
23661 * util/hostdisk.c (make_device_name): Likewise.
23662
de6daa8b
DM
236632009-12-06 David S. Miller <davem@sunset.davemloft.net>
23664
23665 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23666 anything even prefixed with 'cdrom' as a cdrom.
23667
0ad46fd7 236682009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23669
23670 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23671 mount points.
23672
98d3dc02
CPE
236732009-12-05 Carles Pina i Estany <carles@pina.cat>
23674
23675 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23676 grub_gettext_msg_list.
23677 (grub_gettext_gettranslation_from_position): Return const char *
23678 and not char *.
a2c1332b 23679 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23680 returns from the list if existing there.
23681 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23682 (grub_gettext_delete_list): Delete the list.
23683 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23684 lang environment variable is changed.
23685 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23686
b283f108
VS
236872009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 Rename kernel.mod to kernel.img.
23690
23691 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23692 (kernel_mod_EXPORTS): Rename to ...
23693 (kernel_img_EXPORTS): ... this.
23694 (kernel_mod_SOURCES): Rename to ...
23695 (kernel_img_SOURCES): ... this.
23696 (kernel_mod_HEADERS): Rename to ...
23697 (kernel_img_HEADERS): ... this. All users updated.
23698 (kernel_mod_CFLAGS): Rename to ...
23699 (kernel_img_CFLAGS): ... this.
23700 (kernel_mod_ASFLAGS): Rename to ...
23701 (kernel_img_ASFLAGS): ... this.
23702 (kernel_mod_LDFLAGS): Rename to ...
23703 (kernel_img_LDFLAGS): ... this.
23704 * conf/x86_64-efi.rmk: Likewise.
23705 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23706 (read_kernel_image): ... this. All users updated.
23707 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23708
69055f8a
CPE
237092009-12-05 Carles Pina i Estany <carles@pina.cat>
23710
23711 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23712 (print_spaces): New function.
23713 (grub_print_ucs4): New function.
23714 (getstringwidth): New function.
23715 (print_message_indented): New function.
23716 (print_message): Gettexttize strings using print_message_indented.
23717 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23718 width.
23719 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23720 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23721 Gettextize.
23722 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23723 string.
23724 (run): Likewise.
23725 (grub_menu_entry_run): Likewise.
23726 * PO/POTFILES: Add normal/menu_entry.c.
23727
f616f51c
VS
237282009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23729
23730 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23731
57bbe3be
CPE
237322009-12-05 Carles Pina i Estany <carles@pina.cat>
23733
23734 * util/grub-install.in: Install gettext .mo files.
23735 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23736
013d67a1
CPE
237372009-12-05 Carles Pina i Estany <carles@pina.cat>
23738
23739 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23740 grub_dprintf.
23741
fb954db0
RM
237422009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23745 non-firmware-dependant one in realmode.S takes precedence.
23746
6b8474f8
RM
237472009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23748
23749 * commands/halt.c: Replace misc arch-specific headers with
23750 `<grub/misc.h>'.
23751 * commands/reboot.c: Likewise.
23752 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23753 `<grub/misc.h>'.
23754 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23755 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23756 (kernel_img_SOURCES): ... to here.
23757
23758 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23759 * include/grub/i386/pc/init.h: Likewise.
23760 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23761 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23762
23763 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23764
23765 * include/grub/i386/halt.h: Remove.
23766 * include/grub/i386/reboot.h: Likewise.
23767
23768 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23769
4b2e6ca2
DM
237702009-12-03 David S. Miller <davem@sunset.davemloft.net>
23771
23772 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23773 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23774 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23775 "progname.h"
23776 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23777 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23778 (usage): Add missing comma in printf.
23779
5239348f
RM
237802009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23781
23782 Use the same reboot approach on i386 coreboot and qemu as we do on
23783 BIOS.
23784
23785 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23786 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23787 * kern/i386/reboot.c: Remove.
23788 * include/grub/i386/reboot.h (grub_reboot): Export function.
23789 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23790 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23791 0xf000:0xfff0 instead of 0xffff:0x0000.
23792 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23793 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23794
ef34cbd4
RM
237952009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23796
23797 Fix $srcdir != $objdir build.
23798
23799 * Makefile.in (po/%.po): Rewrite as ...
23800 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23801
dc9837ea
ST
238022009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23803
23804 Fix GNU/Hurd grub-install crash.
23805 * util/grub-probe.c (probe): Try to access `path' only when it is not
23806 NULL.
23807
2f857f98
VS
238082009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23809
23810 Correct module naming.
23811
23812 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23813 (GRUB_MOD_INIT(efi_uga)): ... to this
23814 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23815 (GRUB_MOD_FINI(efi_uga)): ... to this
23816 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23817 (GRUB_MOD_INIT(efi_gop)): ... to this
23818 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23819 (GRUB_MOD_FINI(efi_gop)): ... to this
23820
c5448046
RM
238212009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23822
23823 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23824 translatable.
23825 (usage): Translate `arg' strings using gettext().
23826 Thanks to Jordi Mallach for the suggestion.
23827
c85184ad
VS
238282009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 GOP support. Based on patch from Bean
23831 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23832
23833 * video/efi_gop.c: New file.
23834 * include/grub/efi/graphics_output.h: Likewise.
23835 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23836 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23837 variables.
23838 * conf/x86_64-efi.rmk: Likewise.
23839
8a4c48d8
VS
238402009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23841
23842 Rename efi_fb to efi_uga.
23843
23844 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23845 'efi_uga.mod'.
23846 (efi_fb_mod_SOURCES): Rename this ...
23847 (efi_uga_mod_SOURCES): ... to this.
23848 (efi_fb_mod_CFLAGS): Rename this ...
23849 (efi_uga_mod_CFLAGS): ... to this.
23850 (efi_fb_mod_LDFLAGS): Rename this ...
23851 (efi_uga_mod_LDFLAGS): ... to this.
23852 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23853 'efi_uga.mod'.
23854 (efi_fb_mod_SOURCES): Rename this ...
23855 (efi_uga_mod_SOURCES): ... to this.
23856 (efi_fb_mod_CFLAGS): Rename this ...
23857 (efi_uga_mod_CFLAGS): ... to this.
23858 (efi_fb_mod_LDFLAGS): Rename this ...
23859 (efi_uga_mod_LDFLAGS): ... to this.
23860 * video/efi_fb.c: Move this ...
23861 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23862
fb6c1a7b
RM
238632009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23864
23865 * po/README: New file. Explain our PO file workflow.
23866
3bc7896c
RM
238672009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23868
23869 * po/ChangeLog: Remove. Move relevant entries back to ...
23870 * ChangeLog: ... here.
23871 * po/ca.po: Remove (now handled by TLP).
23872 * po/id.po: Likewise.
23873 * po/zh_CN.po: Likewise.
23874 * Makefile.in (LINGUAS): Initialize in a way that supports
23875 empty set.
23876
9ed4841d
RM
238772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23878
23879 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23880 reliing on po/LINGUAS.
23881 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23882 (po/%.po): ... this.
23883
0ad46fd7 238842009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23885
23886 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23887 (main): Use `program_name' instead of nonexistent `progname'.
23888
e30dd392
FZ
238892009-11-26 Felix Zielcke <fzielcke@z-51.de>
23890
23891 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23892 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23893
7656de4f
RM
238942009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23895
23896 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23897 commit.
23898 * conf/i386-efi.rmk: Likewise.
23899 * conf/i386-ieee1275.rmk: Likewise.
23900 * conf/powerpc-ieee1275.rmk: Likewise.
23901 * conf/sparc64-ieee1275.rmk: Likewise.
23902 * conf/x86_64-efi.rmk: Likewise.
23903
db77c4d4
FZ
239042009-11-26 Felix Zielcke <fzielcke@z-51.de>
23905
23906 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23907
a755bb04
FZ
239082009-11-26 Felix Zielcke <fzielcke@z-51.de>
23909
23910 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23911
8a4c07fd
RM
239122009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23913
23914 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23915 (grub_mkdevicemap_SOURCES): New variable.
23916 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23917 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23918 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23919 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23920 (grub_mkdevicemap_SOURCES): Remove.
23921 * conf/i386-efi.rmk: Likewise.
23922 * conf/i386-ieee1275.rmk: Likewise.
23923 * conf/i386-pc.rmk: Likewise.
23924 * conf/powerpc-ieee1275.rmk: Likewise.
23925 * conf/sparc64-ieee1275.rmk: Likewise.
23926 * conf/x86_64-efi.rmk: Likewise.
23927 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23928 (usage): Fix strings to use `program_name'.
23929 (main): Initialize gettext.
23930 * util/grub-editenv.c: Likewise.
23931 * util/grub-emu.c: Likewise.
23932 * util/grub-fstest.c: Likewise.
23933 * util/grub-mkdevicemap.c: Likewise.
23934 * util/grub-mkfont.c: Likewise.
23935 * util/grub-mkrelpath.c: Likewise.
23936 * util/grub-pe2elf.c: Likewise.
23937 * util/grub-probe.c: Likewise.
23938 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23939 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23940 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23941
23942 * util/misc.c: Include `"progname.h"'.
23943 (progname): Remove variable.
23944 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23945
6f61ed55
FZ
239462009-11-25 Felix Zielcke <fzielcke@z-51.de>
23947
23948 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23949 printf and print a newline after the menuentry header line.
23950 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23951
f022876b
FZ
239522009-11-25 Felix Zielcke <fzielcke@z-51.de>
23953
23954 autoconf >= 2.60 support $(localedir).
23955
23956 * INSTALL: Note that autoconf 2.60 is required.
23957 * configure.ac (AC_PREREQ): Bump to 2.60.
23958 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23959 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23960
6717926e
YB
239612009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23962
23963 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23964 aclocal is run.
23965
08806a54
RM
239662009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23967
23968 * normal/main.c (grub_normal_read_line): Fix off-by-one
23969 buffer overflow.
23970
13b33fba
RM
239712009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23974 "parser.grub" in grub_command_execute() call.
23975
4a8572e9
CPE
239762009-11-24 Carles Pina i Estany <carles@pina.cat>
23977
23978 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23979 * conf/i386-efi.rmk: Likewise.
23980 * conf/i386-ieee1275.rmk: Likewise.
23981 * conf/i386-pc.rmk: Likewise.
23982 * conf/powerpc-ieee1275.rmk: Likewise.
23983 * conf/sparc64-ieee1275.rmk: Likewise.
23984 * conf/x86_64-efi.rmk: Likewise.
23985 * gettext/gettex.c: Include <grub/i18n.h>.
23986 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23987 here ...
23988 * include/grub/i18n.h: ... to here
23989 * include/grub/i18n.h: ... to here.
23990 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23991 (grub_gettext_dummy): Move above user.
4a8572e9 23992
bee48093
FZ
239932009-11-24 Felix Zielcke <fzielcke@z-51.de>
23994
23995 * util/Makefile.in (install-local): Convert a `for' into a normal
23996 shell expansion.
23997
a031e91c
RM
239982009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23999
24000 * autogen.sh: Add automake call.
24001 * config.guess: Remove.
24002 * config.sub: Likewise.
24003 * install-sh: Likewise.
24004
26bec39d
FZ
240052009-11-24 Felix Zielcke <fzielcke@z-51.de>
24006
24007 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24008
8e2532fd
FZ
240092009-11-24 Felix Zielcke <fzielcke@z-51.de>
24010
24011 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24012 function to a normal shell `for'.
24013
fefa1b7d
FZ
240142009-11-24 Felix Zielcke <fzielcke@z-51.de>
24015
24016 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24017
4501250b
FZ
240182009-11-24 Felix Zielcke <fzielcke@z-51.de>
24019
24020 * util/grub-mkrelpath.c: New file.
24021 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24022 (grub_mkrelpath_SOURCES): New variable.
24023 * include/grub/util/misc.h: New function prototype.
24024 * util/misc.c (make_system_path_relative_to_its_root): New function.
24025
24026 * util/grub-mkconfig_lib.in (bindir): New variable.
24027 (grub_mkrelpath): Likewise.
24028 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24029
24030 * util/probe.c (probe): Make the file path relative to its root.
24031 Change a info message to use the GRUB path. Enable again the
24032 check if we can read the file with GRUB facilities.
24033
24034 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24035 to its root.
24036
11d9778b
FZ
240372009-11-24 Felix Zielcke <fzielcke@z-51.de>
24038
24039 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24040 platform.
24041
4465287d
FZ
240422009-11-24 Felix Zielcke <fzielcke@z-51.de>
24043
24044 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24045 strncmp().
24046
62b47f22
FZ
240472009-11-24 Felix Zielcke <fzielcke@z-51.de>
24048
24049 * util/getroot.c (grub_util_is_dmraid): New function.
24050 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24051 devices as normal ones, not as LVM.
24052
1eafb9b9 240532009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24054
24055 * conf/common.rmk: Add grub-gettext_lib target and updates
24056 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24057 LDFLAGS.
24058 * gettext/gettext.c: New file. (Reads mo files).
24059 * include/grub/file.h (grub_file_pread): New prototype.
24060 * include/grub/i18n.h (_): New prototype.
24061 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24062 prototypes.
24063 * kern/misc.c (grub_gettext_dummy): New function.
24064 * normal/menu_text.c: Include <grub/i18n.h>.
24065 * normal/menu_text.c (print_timeout): Gettexttize string.
24066 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24067 * po/POTFILES: Add `normal/menu_text.c'.
24068 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24069 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24070 gettext module and defines locale_dir and lang in grub.cfg.
24071 * NEWS: Add gettext support.
24072
0fdb2568
RM
240732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24074
24075 * util/hostdisk.c: Include `<grub/i18n.h>'.
24076 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24077 (make_device_name): Rewrite using asprintf.
24078 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24079 (find_system_device): If a device is not found, generate one just
24080 by reusing the OS path name.
24081 (read_device_map): Make it permissible for device.map not to exist.
24082
f515aa62
RM
240832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24084
24085 * script/sh/execute.c: Move from here ...
24086 * script/execute.c: ... to here. Update all users.
24087 * script/sh/function.c: Move from here ...
24088 * script/function.c: ... to here. Update all users.
24089 * script/sh/lexer.c: Move from here ...
24090 * script/lexer.c: ... to here. Update all users.
24091 * script/sh/main.c: Move from here ...
24092 * script/main.c: ... to here. Update all users.
24093 * script/sh/parser.y: Move from here ...
24094 * script/parser.y: ... to here. Update all users.
24095 * script/sh/script.c: Move from here ...
24096 * script/script.c: ... to here. Update all users.
24097
f84b481b
RM
240982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24099
24100 * configure.ac: Detect all `emu' platforms. Define
24101 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24102 --enable-grub-emu logic. Disable include/grub/machine
24103 symlink on `emu' platforms.
24104
24105 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24106 * gensymlist.sh.in: Likewise.
24107
24108 * include/grub/i386/coreboot/machine.h: Remove file.
24109 * include/grub/i386/efi/machine.h: Likewise.
24110 * include/grub/i386/ieee1275/machine.h: Likewise.
24111 * include/grub/i386/pc/machine.h: Likewise.
24112 * include/grub/i386/qemu/machine.h: Likewise.
24113 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24114 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24115 * include/grub/x86_64/efi/machine.h: Likewise.
24116
24117 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24118 * commands/halt.c: Likewise.
24119 * commands/reboot.c: Likewise.
24120 * include/grub/autoefi.h: Likewise.
24121 * include/grub/i386/at_keyboard.h: Likewise.
24122 * include/grub/i386/kernel.h: Likewise.
24123 * include/grub/i386/loader.h: Likewise.
24124 * include/grub/i386/pc/memory.h: Likewise.
24125 * kern/dl.c: Likewise.
24126 * kern/i386/coreboot/init.c: Likewise.
24127 * loader/i386/bsd.c: Likewise.
24128 * loader/i386/linux.c: Likewise.
24129 * loader/multiboot_loader.c: Likewise.
24130 * term/i386/pc/serial.c: Likewise.
24131 * term/usb_keyboard.c: Likewise.
24132
24133 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24134 `<grub/machine/machine.h>'
24135 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24136 * util/misc.c: Remove `<grub/machine/machine.h>' and
24137 `<grub/machine/time.h>'.
24138
24139 * Makefile.in (enable_grub_emu): Remove variable.
24140 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24141
24142 * conf/any-emu.rmk: New file.
24143 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24144 (grub_emu_init.c): Move from here ...
24145 * conf/any-emu.rmk: ... to here.
24146
24147 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24148 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24149 * conf/any-emu.rmk: ... to here.
24150
4efeab03
RM
241512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24152
24153 * include/grub/parser.h (grub_parser_register): Document need
24154 of `name' parameter.
24155 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24156 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24157 "sh" to "grub".
24158
ea1dd8bf
RM
241592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24160
24161 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24162 `$(XGETTEXT)'.
24163 * include/grub/i18n.h (N_): New macro.
24164 * util/mkisofs/mkisofs.h: Likewise.
24165 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24166 around N_().
24167 (usage): Use gettext() to translate help strings when printing them.
24168
0c140626
RM
241692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 Based on patch from Bean
24172 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24173
24174 * video/efi_fb.c: New file.
24175 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24176 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24177 variables.
24178 * conf/x86_64-efi.rmk: Likewise.
24179
87d58298
RM
241802009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24181
24182 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24183 * util/i386/pc/grub-setup.c: Likewise.
24184
994cc3a3
ST
241852009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24186
24187 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24188 <hurd/fs.h>
24189 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24190 file_get_storage_info to implement grub_guess_root_device.
24191
26a61d6a
FZ
241922009-11-21 Felix Zielcke <fzielcke@z-51.de>
24193
24194 * Makefile.in (target): Use make's builtin $(shell) function
24195 instead of calling directly $(SHELL) to create the locale directories,
24196 inside the $(foreach) function.
24197
74ff1dd5
FZ
241982009-11-21 Felix Zielcke <fzielcke@z-51.de>
24199
24200 * util/grub-mkrescue.in: Print an error and usage if output option
24201 has not been given.
24202
0b787d0e
FZ
242032009-11-21 Felix Zielcke <fzielcke@z-51.de>
24204
24205 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24206 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24207 root and /boot are on different devices.
24208
1164b270
RM
242092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 Fix build for srcdir != objdir.
24212
24213 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24214 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24215 $(srcdir).
24216 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24217 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24218 reference for input.
24219
13774a2f
RM
242202009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24221
24222 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24223 or hardlinking it). Remove -J option, Joliet is not compatible with
24224 multiple source directories.
24225
efda854e
RM
242262009-11-21 Carles Pina i Estany <carles@pina.cat>
242272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24228
24229 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24230 (process_input_dir): New function. Process an arbitrary input
24231 directory.
24232 Misc adjustments to support both "override mode" and system-wide mode.
24233
6c09890c
FZ
242342009-11-20 Felix Zielcke <fzielcke@z-51.de>
24235
24236 * configure.ac (UNIFONT_BDF): Rename to ...
24237 (FONT_SOURCE): ... this. Update all users.
24238
a797824f
FZ
242392009-11-20 Felix Zielcke <fzielcke@z-51.de>
24240
24241 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24242 to the list of unifont files to look for.
24243
cd4f42b0
RM
242442009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24245
24246 Patch from Joe Auricchio <jauricchio@gmail.com>
24247 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24248 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24249 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24250
393c783d
FZ
242512009-11-19 Felix Zielcke <fzielcke@z-51.de>
24252
24253 * Makefile.in (install-local): Add a missing backslash.
24254
b2f1e327
FZ
242552009-11-19 Felix Zielcke <fzielcke@z-51.de>
24256
24257 * include/grub/x86_64/io.h: New file.
24258
f577f7a0
RM
242592009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24260
24261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24262 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24263 Include `"progname.h"'.
24264 (main): Initialize gettext.
24265 * util/i386/pc/grub-setup.c: Gettexttize.
24266 * util/i386/pc/grub-mkimage.c: Likewise.
24267
24268 * Makefile.in (po/*.po): Redefine as ...
24269 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24270
3bc7896c
RM
24271 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24272
c37943b6
RM
242732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24276 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24277 (program_name): Remove.
24278 (main): Initialize gettext support.
6323f705
RM
24279 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24280 Include `<libintl.h>'.
24281 (_): New macro.
c37943b6
RM
24282
24283 * util/mkisofs/eltorito.c: Gettexttize.
24284 * util/mkisofs/joliet.c: Likewise.
24285 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24286 * util/mkisofs/multi.c: Likewise.
24287 * util/mkisofs/rock.c: Likewise.
24288 * util/mkisofs/tree.c: Likewise.
24289 * util/mkisofs/write.c: Likewise.
24290
3bc7896c
RM
24291 * po/POTFILES: Update with new files.
24292
5ce77c6e
RM
242932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24294
24295 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24296 * util/mkisofs/iso9660.h: Likewise.
24297 * util/mkisofs/joliet.c: Likewise.
24298 * util/mkisofs/mkisofs.c: Likewise.
24299 * util/mkisofs/mkisofs.h: Likewise.
24300 * util/mkisofs/rock.c: Likewise.
24301 * util/mkisofs/tree.c: Likewise.
24302 * util/mkisofs/write.c: Likewise.
24303
24304 * util/mkisofs/eltorito.c (rcsid): Remove.
24305 * util/mkisofs/hash.c: Likewise.
24306 * util/mkisofs/joliet.c: Likewise.
24307 * util/mkisofs/name.c: Likewise.
24308 * util/mkisofs/rock.c: Likewise.
24309 * util/mkisofs/tree.c: Likewise.
24310 * util/mkisofs/write.c: Likewise.
24311
1dabbc77
RM
243122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24313
24314 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24315 instead of static allocation.
24316 * util/mkisofs/match.h: Likewise.
24317
633877cb
RM
243182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24319
3bc7896c
RM
24320 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24321 and `util/grub.d/10_linux.in'.
633877cb
RM
24322 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24323 translatable Shell files.
24324
af1c0c85
RM
243252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24326
24327 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24328
769ae37b
RM
243292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24330
24331 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24332 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24333 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24334 Add gettext initialization.
24335 (kfreebsd_entry): Make menuentry output translatable.
24336
243372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24338
24339 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24340 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24341 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24342 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24343 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24344 * po/LINGUAS: New file.
769ae37b
RM
24345
243462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24347
24348 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24349 other things).
24350 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24351 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24352 bindtextdomain() calls for gettext initialization.
24353
243542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24355
24356 * gnulib/progname.c: New file (imported from Gnulib).
24357 * gnulib/progname.h: Likewise.
24358 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24359 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24360 (usage): Replace `progname' with `program_name'.
24361 (main): Use set_program_name() for program name initialization.
24362
243632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24364
24365 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24366 from here ...
24367 * Makefile.in (CPPFLAGS): ... to here.
24368
243692009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24370
24371 * aclocal.m4: Move from here ...
24372 * acinclude.m4: ... to here.
24373 * autogen.sh: Add call to `aclocal'.
24374 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24375
243762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24379 (LINGUAS): New variable.
24380 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24381 (install-local): Install MO files.
24382 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24383 * include/grub/i18n.h: New file.
3bc7896c
RM
24384 * po/POTFILES: New file.
24385 * po/ca.po: New file.
769ae37b
RM
24386 * util/grub.d/10_linux.in (bindir): New variable.
24387 Add gettext initialization.
24388 (linux_entry): Make menuentry output translatable.
24389 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24390 (usage): Make --help output translatable.
24391 (main): Initialize gettext.
24392
02c0a6ad
RM
243932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24394
24395 * import_gcry.py: New file (written by Vladimir with minor
24396 adjustments).
24397 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24398 ciphers.
24399 * INSTALL: Document that Python is required for bootstrap.
24400
244012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24402
24403 Import ciphers from libgcrypt 1.4.4.
24404
24405 * lib/libgcrypt/cipher/ChangeLog
24406 * lib/libgcrypt/cipher/ac.c
24407 * lib/libgcrypt/cipher/arcfour.c
24408 * lib/libgcrypt/cipher/bithelp.h
24409 * lib/libgcrypt/cipher/blowfish.c
24410 * lib/libgcrypt/cipher/camellia-glue.c
24411 * lib/libgcrypt/cipher/camellia.c
24412 * lib/libgcrypt/cipher/camellia.h
24413 * lib/libgcrypt/cipher/cast5.c
24414 * lib/libgcrypt/cipher/cipher.c
24415 * lib/libgcrypt/cipher/crc.c
24416 * lib/libgcrypt/cipher/des.c
24417 * lib/libgcrypt/cipher/dsa.c
24418 * lib/libgcrypt/cipher/ecc.c
24419 * lib/libgcrypt/cipher/elgamal.c
24420 * lib/libgcrypt/cipher/hash-common.c
24421 * lib/libgcrypt/cipher/hash-common.h
24422 * lib/libgcrypt/cipher/hmac-tests.c
24423 * lib/libgcrypt/cipher/md.c
24424 * lib/libgcrypt/cipher/md4.c
24425 * lib/libgcrypt/cipher/md5.c
24426 * lib/libgcrypt/cipher/primegen.c
24427 * lib/libgcrypt/cipher/pubkey.c
24428 * lib/libgcrypt/cipher/rfc2268.c
24429 * lib/libgcrypt/cipher/rijndael-tables.h
24430 * lib/libgcrypt/cipher/rijndael.c
24431 * lib/libgcrypt/cipher/rmd.h
24432 * lib/libgcrypt/cipher/rmd160.c
24433 * lib/libgcrypt/cipher/rsa.c
24434 * lib/libgcrypt/cipher/seed.c
24435 * lib/libgcrypt/cipher/serpent.c
24436 * lib/libgcrypt/cipher/sha1.c
24437 * lib/libgcrypt/cipher/sha256.c
24438 * lib/libgcrypt/cipher/sha512.c
24439 * lib/libgcrypt/cipher/tiger.c
24440 * lib/libgcrypt/cipher/twofish.c
24441 * lib/libgcrypt/cipher/whirlpool.c
24442
af2f93ac
RM
244432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24444
24445 Fix build for systems without error().
24446
24447 * gnulib/error.c: New file (imported from Gnulib).
24448 * gnulib/error.h: Likewise.
24449 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24450 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24451 (this variable is now used by error()).
24452
73fb3dd5
FZ
244532009-11-16 Felix Zielcke <fzielcke@z-51.de>
24454
814f5e96
FZ
24455 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24456 instead of relying that char is signed.
73fb3dd5 24457
a691ca33
VS
244582009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24461 blocksize different from specified.
24462 (grub_pxefs_read): Likewise.
24463
2af8f0f4
FZ
244642009-11-16 Felix Zielcke <fzielcke@z-51.de>
24465
24466 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24467
24468 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24469 (grub_ata_readwrite): Likewise. Update 2 format strings.
24470 (grub_atapi_read): Likewise.
24471
24472 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24473 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24474 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24475 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24476 (ata_mod_LDFLAGS): Move from here ...
24477 * conf/i386.rmk: ... to here ...
24478 * conf/x86_64-efi.rmk: ... and here.
24479 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24480 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24481
83bdecaf
RM
244822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24483
24484 Relicense multiboot.h, with RMS' blessing.
24485
24486 * include/multiboot.h: Change to X11 license.
24487
fd6fd3d7
RM
244882009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24489
24490 Support --version in grub-mkisofs.
24491
24492 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24493 (OPTION_VERSION): New macro.
24494 (ld_options): Recognize --version.
24495 (usage): Move `program_name' from here ...
24496 (program_name): ... to here. Add `static' qualifier.
24497 (main): Recognize `OPTION_VERSION'.
24498
16a88c49
FZ
244992009-11-15 Felix Zielcke <fzielcke@z-51.de>
24500
24501 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24502 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24503
a4158476
RM
245042009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24505
24506 Fix help2man generation for mkisofs.
24507
24508 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24509 (usage): Send output to stdout (rather than stderr).
24510
fc2208b0
RM
245112009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24512
24513 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24514 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24515 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24516 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24517 (bin_SCRIPTS): Add `grub-mkfloppy'.
24518 (grub_mkfloppy_SOURCES): New variable.
24519
24520 * util/grub-mkrescue.in: New file.
24521 * util/i386/pc/grub-mkfloppy.in: New file.
24522
24523 * util/i386/coreboot/grub-mkrescue.in: Remove.
24524 * util/i386/pc/grub-mkrescue.in: Remove.
24525
8d0edf4a
RM
245262009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24529 from here ...
24530 * include/multiboot.h (struct multiboot_header): ... to here. Update
24531 all users.
24532 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24533 from here ...
24534 * include/multiboot.h (struct multiboot_info): ... to here. Update
24535 all users.
24536 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24537 from here ...
24538 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24539 Update all users.
24540 * include/grub/multiboot.h (struct grub_mod_list): Move
24541 from here ...
24542 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24543 Update all users.
24544
a73f5969
RM
245452009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24546
24547 * include/multiboot2.h (multiboot_word): Rename from this ...
24548 (multiboot2_word): ... to this. Update all users.
24549 (multiboot_header): Rename from this ...
24550 (multiboot2_header): ... to this. Update all users.
24551 (multiboot_tag_header): Rename from this ...
24552 (multiboot2_tag_header): ... to this. Update all users.
24553 (multiboot_tag_start): Rename from this ...
24554 (multiboot2_tag_start): ... to this. Update all users.
24555 (multiboot_tag_name): Rename from this ...
24556 (multiboot2_tag_name): ... to this. Update all users.
24557 (multiboot_tag_module): Rename from this ...
24558 (multiboot2_tag_module): ... to this. Update all users.
24559 (multiboot_tag_memory): Rename from this ...
24560 (multiboot2_tag_memory): ... to this. Update all users.
24561 (multiboot_tag_unused): Rename from this ...
24562 (multiboot2_tag_unused): ... to this. Update all users.
24563 (multiboot_tag_end): Rename from this ...
24564 (multiboot2_tag_end): ... to this. Update all users.
24565
1c8927f0
RM
245662009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24567
24568 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24569 this platform we should support Multiboot1 first.
24570
24571 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24572 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24573 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24574
6e1e0d89
RM
245752009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24578 of write calls (converting them to fwrite() if they aren't already).
24579 (get_torito_desc): Likewise.
24580 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24581
7f2b34d8
RM
245822009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24583
24584 * util/i386/pc/grub-install.in: Move from here ...
24585 * util/grub-install.in: ... to here. Update all users.
24586
c0ef3311
CW
245872009-11-11 Colin Watson <cjwatson@ubuntu.com>
24588
24589 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24590
e1f240ff
RM
245912009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24592
24593 Support for El Torito without floppy emulation.
24594
24595 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24596 (init_boot_catalog): Improve error handling.
24597 (get_torito_desc): Don't use floppy emulation unless requested by
24598 user. Patch boot information table when requested via
24599 `-boot-info-table'.
24600 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24601 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24602 (use_boot_info_table): New variables.
24603 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24604 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24605 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24606 `--eltorito-emul-floppy'.
24607 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24608 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24609 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24610 (use_boot_info_table, get_731): New prototypes.
24611 * util/mkisofs/write.c (get_731): New function.
24612
af7d4de5
FZ
246132009-11-11 Felix Zielcke <fzielcke@z-51.de>
24614
24615 Fix the generation of the man page.
24616
24617 * util/pc/i386/grub-install.in: Source
24618 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24619
2c55dbc0
RM
246202009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24621
24622 Large file support for grub-mkisofs.
24623
24624 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24625 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24626 (session_start): Upgrade type to `uint64_t'. Update all users.
24627 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24628 (struct directory_entry): Upgrade type of `starting_block' and
24629 `size' to `uint64_t'. Update all users.
24630 (struct deferred): Remove unused structure.
24631 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24632 Update all users.
24633 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24634 file is larger than `UINT32_MAX'.
24635 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24636 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24637 return value.
24638 (struct deferred_write): Upgrade type of `extent' and `size' to
24639 `uint64_t'. Update all users.
24640 (last_extent_written): Upgrade type to `uint64_t'. Update all
24641 users.
24642 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24643 Update all users. Upgrade type of `remain' to `int64_t' and
24644 `use' to `size_t'. Use error() to handle fread() errors.
24645 (write_files): Rely on write_one_file() rather than calling
24646 xfwrite() directly.
24647
6a9cead5
FZ
246482009-11-09 Felix Zielcke <fzielcke@z-51.de>
24649
24650 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24651
4825d790
RM
246522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 * util/mkisofs/fnmatch.c: Remove.
24655 * util/mkisofs/getopt1.c: Likewise.
24656 * util/mkisofs/getopt.c: Likewise.
24657 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24658 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24659 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24660 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24661 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24662
24663 * configure.ac: Detect `mingw32msvc' host_os.
24664 Check for lstat(), getuid() and getgid().
24665
24666 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24667 instances of `u_char' with `uint8_t'.
24668
24669 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24670 [!HAVE_GETUID] (getuid): New function (stub).
24671 [!HAVE_GETGID] (getgid): Likewise.
24672 [!HAVE_LSTAT] (lstat): Likewise.
24673 [!S_IROTH] (S_IROTH): New macro (dummy).
24674 [!S_IRGRP] (S_IRGRP): Likewise.
24675
84b860d8
RM
246762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24677
24678 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24679 conditional expression).
24680
66e9b712
RM
246812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24682
24683 Import from Gnulib.
24684
24685 * gnulib/fnmatch.c: New file.
24686 * gnulib/fnmatch.h: Likewise.
24687 * gnulib/fnmatch_loop.c: Likewise.
24688 * gnulib/getopt.c: Likewise.
24689 * gnulib/getopt.h: Likewise.
24690 * gnulib/getopt1.c: Likewise.
24691 * gnulib/getopt_int.h: Likewise.
24692 * gnulib/gettext.h: Likewise.
24693
34f4a5b0
RM
246942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24695
24696 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24697 * normal/handler.c (read_handler_list): Likewise.
24698
ac451143
RM
246992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24700
24701 Misc cleanup.
24702
24703 * kern/command.c (grub_register_command_prio): Use
24704 grub_zalloc() instead of explicitly zeroing data.
24705 * kern/list.c: Include `<grub/mm.h>'.
24706 (grub_named_list_find): Replace `0' with `NULL'.
24707 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24708 (fs_module_list): Change type to `grub_named_list_t'. Update all
24709 users.
24710 * normal/dyncmd.c (read_command_list): Add space between function
24711 call and parenthesis.
24712 * normal/handler.c (read_handler_list): Likewise.
24713
4089b167
RM
247142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24715
24716 * normal/auth.c (punishment_delay): Moved from here ...
24717 (grub_auth_strcmp): ... to here (inside function).
24718
325f5037
RM
247192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24720
24721 * include/grub/list.h (struct grub_named_list): Remove `const'
24722 qualifier from `name'.
24723 (struct grub_prio_list): Likewise.
24724
7aea29a3
RM
247252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24726
24727 * normal/auth.c: Include `<grub/time.h>'.
24728 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24729
3fd6f044
RM
247302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24731
24732 * normal/auth.c (punishment_delay): New variable.
24733 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24734 (grub_auth_check_authentication): Punish failed login attempts with
24735 an incremental (2^N) delay.
24736
a4cd68e4
RM
247372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24738
24739 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24740 path with $(srcdir).
24741
7ad12f43
VS
247422009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24745
c1129f03
RM
247462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24747
24748 * util/i386/coreboot/grub-mkrescue.in: New file.
24749 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24750 variables.
24751
24752 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24753 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24754 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24755 requirements.
24756 * util/mkisofs/defaults.h: New file.
24757 * util/mkisofs/eltorito.c: Likewise.
24758 * util/mkisofs/exclude.h: Likewise.
24759 * util/mkisofs/fnmatch.c: Likewise.
24760 * util/mkisofs/getopt.c: Likewise.
24761 * util/mkisofs/getopt1.c: Likewise.
24762 * util/mkisofs/hash.c: Likewise.
24763 * util/mkisofs/include/fctldefs.h: Likewise.
24764 * util/mkisofs/include/mconfig.h: Likewise.
24765 * util/mkisofs/include/prototyp.h: Likewise.
24766 * util/mkisofs/include/statdefs.h: Likewise.
24767 * util/mkisofs/iso9660.h: Likewise.
24768 * util/mkisofs/joliet.c: Likewise.
24769 * util/mkisofs/match.c: Likewise.
24770 * util/mkisofs/match.h: Likewise.
24771 * util/mkisofs/mkisofs.c: Likewise.
24772 * util/mkisofs/mkisofs.h: Likewise.
24773 * util/mkisofs/multi.c: Likewise.
24774 * util/mkisofs/name.c: Likewise.
24775 * util/mkisofs/rock.c: Likewise.
24776 * util/mkisofs/tree.c: Likewise.
24777 * util/mkisofs/write.c: Likewise.
24778
ec8bb77d
VS
247792009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24780
24781 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24782 being insecure.
24783
3716b12c
RM
247842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24785
24786 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24787 `grub-mkimage' (and use $0 when possible).
24788
b97b7b91
RM
247892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24790
24791 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24792 error message for excessively large memory map.
24793
04114812
RM
247942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24795
24796 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24797 executable bit.
24798
e4eb2373
RM
247992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24800
24801 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24802 message for coreboot users.
24803
c926e1d5 248042009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24805
24806 Fix build with GNU gold.
24807
24808 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24809 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24810 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24811 link addresses.
24812 * aclocal.m4: Likewise.
24813
86e5b1db 248142009-11-04 Felix Zielcke <fzielcke@z-51.de>
24815
24816 * configure.ac (AC_PREREQ): Bump to 2.59d.
24817 * INSTALL: Make it more clear when Autoconf and Ruby are
24818 needed and when to run `./autogen.sh'.
24819
246cd78f 248202009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24821
24822 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24823 OSes.
24824
4f9dfb37 248252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24826
24827 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24828
b82bd5e1 248292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24830
24831 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24832 giving it to GNU Mach.
24833
ff1a9bca 248342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24835
24836 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24837 GNU partition number to get internal GRUB partition number.
24838
61697d9c 248392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24840
24841 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24842 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24843
a50569e1 248442009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24845
24846 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24847 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24848 case.
24849
5b153867 248502009-11-01 Felix Zielcke <fzielcke@z-51.de>
24851
24852 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24853
d9e2cd70 248542009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24855
24856 Fix build problem.
24857
24858 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24859 `-isystem=$(srcdir)/include'.
24860
805111a4 248612009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24862
24863 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24864 checked (grub-install doesn't currently rely on it).
24865
fa6e945f 248662009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24867
24868 Revert SVN r2660.
24869
24870 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24871 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24872 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24873 * conf/i386-ieee1275.rmk: Likewise.
24874 * conf/i386-pc.rmk: Likewise.
24875 * conf/powerpc-ieee1275.rmk: Likewise.
24876 * conf/sparc64-ieee1275.rmk: Likewise.
24877 * conf/x86_64-efi.rmk: Likewise.
24878
cee15086 248792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24880
24881 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24882
95b9239e 248832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24884
24885 * include/grub/misc.h: Stop checking for APPLE_CC.
24886
2ed19dfd 248872009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24890 doesn't cause an infinite call loop.
24891
fdcdde19 248922009-10-28 Felix Zielcke <fzielcke@z-51.de>
24893
24894 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24895 strings.
24896
cefabfe1 248972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24898
24899 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24900 variable.
24901 * Makefile.in: Likewise.
24902
ed96ab6d 249032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24904
24905 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24906
0579b753 249072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24908
24909 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24910
478df409 249112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24912
24913 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24914
083d1679 249152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24916
24917 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24918 from here ...
24919 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24920
5947ae32 249212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24922
24923 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24924 in $(MAKEINFO) invocation. This makes it clear in output that
24925 errors are being ignored.
24926
94180ff6 249272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24928
24929 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24930 from here ...
24931 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24932 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24933 * conf/i386-ieee1275.rmk: Likewise.
24934 * conf/i386-pc.rmk: Likewise.
24935 * conf/powerpc-ieee1275.rmk: Likewise.
24936 * conf/sparc64-ieee1275.rmk: Likewise.
24937 * conf/x86_64-efi.rmk: Likewise.
24938
9031b03a 249392009-10-26 Colin Watson <cjwatson@ubuntu.com>
24940
24941 * util/grub-editenv.c (main): If only a command is given, use
24942 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24943 (usage): FILENAME is now optional and has a default.
24944
e4f6809b 249452009-10-26 Colin Watson <cjwatson@ubuntu.com>
24946
24947 Improve grub-mkconfig performance when there are several menu
24948 entries on a single filesystem.
24949
24950 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24951 prepare_grub_to_access_device.
24952 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24953 * util/grub.d/30_os-prober.in: Likewise.
24954
67937d4d 249552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24956
24957 * util/grub.d/10_freebsd.in: Remove.
24958 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24959 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24960
ee3756cc 249612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24962
5c35048e 24963 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24964
4dea1c6f 249652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24966
24967 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24968 grub_util_error() call.
24969
042484d7 249702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24971
24972 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24973 `reserved_first_sector' member.
24974 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24975 `reserved_first_sector' to 1.
24976 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24977 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24978 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24979 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24980 filesystems which begin at first sector.
24981 (options): New option --skip-fs-probe.
24982 (main): Handle --skip-fs-probe and pass it to setup().
24983
d64448a7 249842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24985
24986 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24987 (memset): Fix function prototype.
24988
508d42ec 249892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
249902009-10-25 Vasily Averin <vvs@parallels.com>
24991
24992 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24993 `dirent.direntlen == 0'.
24994
b240e30c 249952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24996
24997 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24998 `cpio'.
24999 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25000
346e7fbe 250012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25002
25003 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25004 `__trampoline_setup' and `__ucmpdi2'.
25005 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25006 that libgcc provides.
25007
cdb308b0 250082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25009
25010 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25011 * include/grub/sparc64/libgcc.h (memset): Likewise.
25012 * include/grub/misc.h (memset, memcmp): New function prototypes.
25013
fb26abc2 250142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25015
25016 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25017 `cpio'.
25018 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25019
f6693890 250202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25021
25022 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25023 * docs/grub.cfg: Compensate for recent change in multiboot
25024 loader (since 2009-08-14 it won't pass filename to payload).
25025 * util/grub.d/10_hurd.in: Likewise.
25026
0933cdc0 250272009-10-21 Felix Zielcke <fzielcke@z-51.de>
25028
25029 * config.guess: Update to latest version from config git
25030 repository.
25031 * config.sub: Likewise.
25032
3b2fe8c2 250332009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25034
25035 Fix build on sparc64.
25036
25037 * configure.ac: Perform checks for libgcc symbols before
25038 adding `-nostdlib' to LDFLAGS.
25039
46695a62 250402009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25041
25042 Let user specify OpenBSD root device.
25043
25044 * loader/i386/bsd.c (openbsd_root): New variable.
25045 (openbsd_opts): New option 'root'.
25046 (OPENBSD_ROOT_ARG): New macro.
25047 (grub_openbsd_boot): Use 'openbsd_root'.
25048 (grub_cmd_openbsd): Fill 'openbsd_root'.
25049
d2b6b7fc 250502009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25051
25052 * NEWS: Misc adjustments.
25053
421bd7ac 250542009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25057
f1d29d87 250582009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25059
25060 * configure.ac: Bump version to 1.97.
25061
6f3cd880 250622009-10-16 Colin Watson <cjwatson@ubuntu.com>
25063
25064 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25065 -mno-3dnow on x86 architectures. Some toolchains enable these
25066 features by default, but they rely on registers that aren't enabled
25067 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25068
035f7122 250692009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25070
25071 Make entry text a bit more readable.
25072
25073 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25074
44998e58 250752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25076
25077 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25078
cd2851b3 250792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25080
25081 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25082 operations.
25083
c6f3b249 250842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25085
25086 * configure.ac: Add missing dollar.
25087
6b5886ba 250882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25089
25090 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25091
25092 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25093 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25094 exports.
25095 * include/grub/sparc64/libgcc.h: Likewise. Use
25096 preprocessor conditionals.
25097
e9d66f6d 250982009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25099
25100 * conf/common.rmk (grub-dumpbios): Remove rule.
25101 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25102 * util/grub-dumpbios.in: Remove file.
25103
9155bc17 251042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25105
25106 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25107 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25108
25109 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25110 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25111 users.
25112
25113 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25114 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25115 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25116 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25117 users.
25118
bf7f7a18 251192009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25120
25121 * term/tparm.c: Switch to GPLv3.
25122
86564c26 251232009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25124
25125 * include/grub/i386/cpuid.h: Add header protection.
25126
5c936493 251272009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25128
25129 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25130
25131 * include/grub/i386/cpuid.h: New file.
25132 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25133 (has_longmode): Rename to ...
25134 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25135 `static' attribute.
25136 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25137 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25138 on a CPU that doesn't implement AMD64 instruction set.
25139
186e7cf2 251402009-10-06 Colin Watson <cjwatson@ubuntu.com>
25141
25142 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25143 that version.texi is rebuilt on version number changes.
25144
83b65c4a 251452009-10-06 Colin Watson <cjwatson@ubuntu.com>
25146
25147 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25148 Fixes bug #27602.
25149
d244281c 251502009-10-06 Colin Watson <cjwatson@ubuntu.com>
25151
25152 * util/i386/pc/grub-install.in: Source
25153 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25154 that the --grub-probe option will work.
25155 * util/sparc64/ieee1275/grub-install.in: Likewise.
25156
da25306d 251572009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25158
25159 * configure.ac: Bump version to 1.97~beta4.
25160
e8ee83c0 251612009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25162
25163 Resync grub-mkdevicemap in x86_64-efi.
25164
25165 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25166 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25167 `util/devicemap.c'.
25168
50dcabcf 251692009-10-01 Colin Watson <cjwatson@ubuntu.com>
25170
25171 * util/grub-editenv.c (create_envblk_file): Write new block with a
25172 .new suffix and then rename it into place, to ensure atomic
25173 creation.
25174
0e51c3a7 251752009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25176
25177 Do not automatically install headers.
25178
25179 * Makefile.in (include_DATA): Remove. Update all users.
25180
31299a95 251812009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25182
25183 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25184 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25185
25186 * util/osdetect.lua: Remove.
25187 * script/lua/lauxlib.c: Likewise.
25188 * script/lua/ldebug.c: Likewise.
25189 * script/lua/grub_main.c: Likewise.
25190 * script/lua/lauxlib.h: Likewise.
25191 * script/lua/ldebug.h: Likewise.
25192 * script/lua/ltablib.c: Likewise.
25193 * script/lua/liolib.c: Likewise.
25194 * script/lua/lstrlib.c: Likewise.
25195 * script/lua/lualib.h: Likewise.
25196 * script/lua/ldo.c: Likewise.
25197 * script/lua/ldump.c: Likewise.
25198 * script/lua/ldo.h: Likewise.
25199 * script/lua/loslib.c: Likewise.
25200 * script/lua/lundump.c: Likewise.
25201 * script/lua/grub_lib.c: Likewise.
25202 * script/lua/ldblib.c: Likewise.
25203 * script/lua/lundump.h: Likewise.
25204 * script/lua/lmem.c: Likewise.
25205 * script/lua/grub_lib.h: Likewise.
25206 * script/lua/lmathlib.c: Likewise.
25207 * script/lua/lstate.c: Likewise.
25208 * script/lua/ltm.c: Likewise.
25209 * script/lua/lvm.c: Likewise.
25210 * script/lua/lmem.h: Likewise.
25211 * script/lua/lstate.h: Likewise.
25212 * script/lua/ltm.h: Likewise.
25213 * script/lua/ltable.c: Likewise.
25214 * script/lua/lvm.h: Likewise.
25215 * script/lua/llex.c: Likewise.
25216 * script/lua/lgc.c: Likewise.
25217 * script/lua/grub_lua.h: Likewise.
25218 * script/lua/loadlib.c: Likewise.
25219 * script/lua/lfunc.c: Likewise.
25220 * script/lua/lopcodes.c: Likewise.
25221 * script/lua/lparser.c: Likewise.
25222 * script/lua/ltable.h: Likewise.
25223 * script/lua/llex.h: Likewise.
25224 * script/lua/lgc.h: Likewise.
25225 * script/lua/lfunc.h: Likewise.
25226 * script/lua/lbaselib.c: Likewise.
25227 * script/lua/lopcodes.h: Likewise.
25228 * script/lua/lparser.h: Likewise.
25229 * script/lua/lzio.c: Likewise.
25230 * script/lua/linit.c: Likewise.
25231 * script/lua/lobject.c: Likewise.
25232 * script/lua/llimits.h: Likewise.
25233 * script/lua/lstring.c: Likewise.
25234 * script/lua/lzio.h: Likewise.
25235 * script/lua/lapi.c: Likewise.
25236 * script/lua/lcode.c: Likewise.
25237 * script/lua/lua.h: Likewise.
25238 * script/lua/lobject.h: Likewise.
25239 * script/lua/lstring.h: Likewise.
25240 * script/lua/lapi.h: Likewise.
25241 * script/lua/lcode.h: Likewise.
25242 * script/lua/luaconf.h: Likewise.
25243
cb8a2c38 252442009-09-26 Colin Watson <cjwatson@ubuntu.com>
25245
25246 * docs/grub.texi (Command-line and menu entry commands): Document
25247 date and echo commands.
25248
6b9b6276 252492009-09-24 Pavel Roskin <proski@gnu.org>
25250
25251 * include/grub/kernel.h (struct grub_module_header): Remove
25252 `grub_module_header_types'. Make `type' unsigned. Make `size'
25253 32-bit on all platforms.
25254 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25255 8-bit field. Use grub_host_to_target32() for `size'.
25256 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25257 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25258 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25259
4e5a02a7 252602009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25261
25262 Fix "lost keypress" bug in at_keyboard.
25263
25264 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25265 Checks for readyness of input buffer (without flushing it).
25266 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25267 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25268
c6dcedf6 252692009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25270
25271 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25272 size check within GRUB_MACHINE_PCBIOS section.
25273
74c958b1 252742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25275
25276 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25277 return value.
25278 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25279 KEYBOARD_ISREADY check.
25280 (grub_at_keyboard_checkkey): Rename to ...
25281 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25282 Remove gratuitous cast.
25283
ff420223 252842009-09-23 Colin Watson <cjwatson@ubuntu.com>
25285
25286 * configure.ac: Call AC_PROG_MKDIR_P.
25287 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25288 version.texi in $(builddir) rather than $(srcdir).
25289 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25290 to makeinfo's @include search path.
25291
d96875df 252922009-09-23 Felix Zielcke <fzielcke@z-51.de>
25293
25294 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25295
9b3f8365 252962009-09-23 Felix Zielcke <fzielcke@z-51.de>
25297
25298 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25299 for `*.dpkg-new'.
25300
c44c90db 253012009-09-21 Colin Watson <cjwatson@ubuntu.com>
25302
25303 Build info documentation. Some code borrowed from Automake.
25304
25305 * configure.ac: Check for makeinfo.
25306 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25307 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25308 docs/version.texi.
25309 (MOSTLYCLEANFILES): Add vti.tmp.
25310 (docs/version.texi, docs/stamp-vti): Update automatically.
25311 (docs/grub.info): Build info documentation. Use --force and ignore
25312 errors for now.
25313 (all-local): Add $(INFOS).
25314 (install-local): Install info files.
25315 (uninstall): Uninstall info files.
25316 * docs/version.texi: Remove from revision control. This file is
25317 automatically generated on build now.
25318 * gendistlist.sh: Add `*.info'.
25319
e0b37bb5 253202009-09-21 Felix Zielcke <fzielcke@z-51.de>
25321
25322 * kern/term.c: Fix indentation.
25323
5a78865b 253242009-09-21 Felix Zielcke <fzielcke@z-51.de>
25325
25326 * util/hostdisk.c: Fix a comment.
25327
dace7e8a 253282009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25329
25330 Fix regression introduced in r2539.
25331
25332 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25333 to 0xA1.
25334
a83d079b 253352009-09-19 Colin Watson <cjwatson@ubuntu.com>
25336
25337 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25338 os-prober. Under normal operation, it does not print anything to
25339 stderr; if it does, we need to debug it, and throwing away stderr
25340 makes that excessively difficult.
a83d079b 25341
be94a509 253422009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25345
63f745e8 253462009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25347
25348 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25349 AC_LANG_PROGRAM from autoconf.
25350 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25351 prototypes (fixes warning).
25352
25353 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25354 `--disable-werror' was used.
25355
bbb2a70f 253562009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25357
25358 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25359 uninitialized `lastaddr'.
25360
77c24f1d 253612009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25362
0f0b8c87 25363 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25364
07197f23 253652009-09-14 Colin Watson <cjwatson@ubuntu.com>
25366
25367 * commands/test.c (get_fileinfo): Return immediately if
25368 grub_fs_probe fails.
25369
dabf1798 253702009-09-14 José Martínez <xosemp@gmail.com>
25371
25372 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25373
d52109a7 253742009-09-14 Colin Watson <cjwatson@ubuntu.com>
25375
25376 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25377 output.
25378
56532179 253792009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25380
25381 * configure.ac: Remove --enable-grub-pe2elf. Only build
25382 grub-pe2elf when needed by the build system itself.
25383 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25384
8ef070f5 253852009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25386
25387 * configure.ac: Bump version to 1.97~beta3.
25388 * docs/version.texi: Likewise.
25389
61229557 253902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25391
25392 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25393 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25394 from here ...
25395 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25396 (grub_linux_setup_video): ... to here (with some adjustments).
25397
5c9f8d84 253982009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25399
25400 Fix memory corruption issue (spotted by Colin Watson).
25401
25402 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25403 causing returned size to be stored in an incorrect memory location.
25404 Fix use of uninitialized value when storing the returned size.
25405
e8f5d6e9 254062009-09-12 Yves Blusseau <blusseau@zetam.org>
25407
25408 Change clean rules to properly remove files
25409
25410 * genmk.rb: add new clean rules
25411 * Makefile.in (clean): add the new targets
25412 (mostlyclean): likewise
25413
cda2a409 254142009-09-11 Colin Watson <cjwatson@ubuntu.com>
25415
25416 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25417 to grub_uint64_t.
25418 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25419 non-resident files.
25420
86695375 254212009-09-11 Colin Watson <cjwatson@ubuntu.com>
25422
25423 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25424 part of bug #27349.
25425
8aa1541a 254262009-09-10 Felix Zielcke <fzielcke@z-51.de>
25427
25428 * util/grub-mkconfig.in: Make the created config mode 400 and
25429 print a warning if it fails.
25430
48d9bb0a 254312009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25432
25433 * util/grub.d/40_custom.in: Ask user to type custom entries below
25434 comment, rather than below 'exec tail' line.
25435
3b0521be 254362009-09-10 Colin Watson <cjwatson@ubuntu.com>
25437
25438 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25439 visible in grub.cfg.
25440
50051d55 254412009-09-10 Colin Watson <cjwatson@ubuntu.com>
25442
25443 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25444 file.
25445
c0d34387 254462009-09-10 Felix Zielcke <fzielcke@z-51.de>
25447
25448 * docs/grub.cfg: Add an example menu entry for memtest86+.
25449
80a608f3 254502009-09-09 Felix Zielcke <fzielcke@z-51.de>
25451
a2094832 25452 * config.guess: Update to latest version from config git.
80a608f3 25453 * config.sub: Likewise.
25454
99423078 254552009-09-08 Colin Watson <cjwatson@ubuntu.com>
25456
25457 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25458 unknown-command case. Fixes bug #27320.
25459
44454e4c 254602009-09-08 Felix Zielcke <fzielcke@z-51.de>
25461
25462 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25463 `help' if the command exists.
25464
e30d87ad 254652009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25466
25467 * INSTALL: Require GCC 4.1.3 or later.
25468
9a86f1ec 254692009-09-06 Yves Blusseau <blusseau@zetam.org>
25470
25471 * Makefile.in (RMKFILES): add i386-qemu.rmk
25472 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25473 $(srcdir)/stamp-h.in
25474
7f26d466 254752009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25476
25477 * util/grub-probe.c (probe): Comment out buggy codepath, which
25478 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25479 should be re-enabled after 1.97.
25480
3a613259 254812009-09-05 Felix Zielcke <fzielcke@z-51.de>
25482
25483 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25484 find searches for.
25485
197f76c7 254862009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25487
25488 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25489 unnecessary calls to grub_error.
25490
70ba68ce 254912009-09-04 Colin Watson <cjwatson@ubuntu.com>
25492
25493 * NEWS: Mention `keystatus' and Unicode fonts.
25494
4ff0d7a4 254952009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25496
25497 * configure.ac: Bump version to 1.97~beta2.
25498 * docs/version.texi: Likewise.
25499
77c55a87 255002009-09-03 Colin Watson <cjwatson@ubuntu.com>
25501
25502 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25503 containing unwind information in some cases where it previously did
25504 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25505 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25506 discussion.
25507
f79572cd 255082009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25509
25510 Embedding loadenv module into grub-emu
25511
25512 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25513 commands/loadenv.c
25514 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25515 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25518 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25519 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25520
93a81088 255212009-09-03 Magnus Granberg <zorry@ume.nu>
25522
25523 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25524 include -fPIE in the default specs.
25525 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25526 to TARGET_CFLAGS.
25527
160034b2 255282009-09-03 Felix Zielcke <fzielcke@z-51.de>
25529
25530 * INSTALL: Note that GNU Bison 2.3 or later is required.
25531
087c07c4 255322009-09-03 Colin Watson <cjwatson@ubuntu.com>
25533
25534 * kern/i386/pc/startup.S: Fix typo.
25535
cbf978c0 255362009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25539 according to GCS.
25540
255412009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25542
25543 * docs/grub.texi (Naming convention): Describe one-based partition
25544 numbering.
25545 (Device syntax): Likewise.
25546 (File name syntax): Likewise.
25547 (Block list syntax): Likewise.
25548 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25549 menu.lst.
25550 (File name syntax): Likewise.
25551 (Command-line and menu entry commands): Document acpi, blocklist,
25552 crc, export, insmod, keystatus, ls, set, and unset commands.
25553
f3e8cdfd 255542009-09-02 Colin Watson <cjwatson@ubuntu.com>
25555
25556 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25557 to avoid implying that only one of --shift, --ctrl, or --alt may be
25558 used.
25559
c0bc232b 255602009-09-02 Colin Watson <cjwatson@ubuntu.com>
25561
25562 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25563 rather than comparing against S_IFREG, which will almost never work.
25564
aa0f752d 255652009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25566
25567 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25568 (write_blocklists): Likewise.
25569
ecb3166a 255702009-09-01 Colin Watson <cjwatson@ubuntu.com>
25571
25572 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25573 argument to grub_printf.
25574
c403a125 255752009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25576
25577 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25578 non GNU test.
31aba781 25579
b5e7312c 255802009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * kern/file.c (grub_file_read): Spelling fix
25583
fe00f472 255842009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25587 loading of headers in some cases.
25588
cc55302e 255892009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25590
25591 * configure.ac: Bump version to 1.97~beta1.
25592 * docs/version.texi: Likewise.
25593
5c90cdd2 255942009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25595
25596 * include/grub/i386/xnu.h: Add license header.
25597 include grub/err.h explicitly.
25598
c90edae4 255992009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25600
25601 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25602 to `ufs' in the vfs.root.mountfrom kernel parameter.
25603
d8888b5c 256042009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25605
25606 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25607
25608 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25609 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25610
25611 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25612 `ARRAY_SIZE' macro.
25613
6f07b921 256142009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 * kern/file.c (grub_file_read): Check offset.
25617 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25618 * fs/jfs.c (grub_jfs_read_file): Likewise.
25619 * fs/ntfs.c (grub_ntfs_read): Likewise.
25620 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25621 * fs/minix.c (grub_minix_read_file): Correct offset check.
25622 * fs/ufs.c (grub_ufs_read_file): Likewise.
25623
b4f34077 256242009-08-28 Colin Watson <cjwatson@ubuntu.com>
25625
25626 * term/i386/pc/console.c (bios_data_area): Cast
25627 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25628
e7c69859 256292009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25630
25631 1-bit optimised blitters.
25632
25633 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25634 prototype.
25635 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25636 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25637 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25638 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25639 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25640 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25641 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25642 function.
25643 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25644 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25645 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25646 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25647 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25648 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25649 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25650 when possible.
25651 * video/video.c (grub_video_get_blit_format): Return
25652 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25653
a57da43f 256542009-08-28 Colin Watson <cjwatson@ubuntu.com>
25655
25656 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25657 the first argument to grub_printf.
25658
4cbe67e5 256592009-08-28 Colin Watson <cjwatson@ubuntu.com>
256602009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25661
25662 Add `getkeystatus' terminal method. Add a new `keystatus' command
25663 to query it.
25664
25665 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25666 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25667 modifier key bitmasks.
25668 (struct grub_term_input): Add `getkeystatus' member.
25669 (grub_getkeystatus): Add prototype.
25670 * kern/term.c (grub_getkeystatus): New function.
25671
25672 * include/grub/i386/pc/memory.h
25673 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25674 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25675 Data Area layout.
25676 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25677 (grub_console_term_input): Set `getkeystatus' member.
25678 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25679 constants.
25680 (grub_usb_keyboard_getreport): Likewise.
25681 (grub_usb_keyboard_checkkey): Likewise.
25682 (grub_usb_keyboard_getkeystatus): New function.
25683 (grub_usb_keyboard_term): Set `getkeystatus' member.
25684
25685 * commands/keystatus.c: New file.
25686 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25687 (keystatus_mod_SOURCES): New variable.
25688 (keystatus_mod_CFLAGS): Likewise.
25689 (keystatus_mod_LDFLAGS): Likewise.
25690 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25691 commands/keystatus.c.
25692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25694 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25696 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25697 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25698
6e2a9085 256992009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 Split befs.mod and afs.mod into *_be.mod and *.mod
25702
25703 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25704 (grub_fstest_SOURCES): Likewise.
25705 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25706 (afs_be_mod_SOURCES): New variable.
25707 (afs_be_mod_CFLAGS): Likewise.
25708 (afs_be_mod_LDFLAGS): Likewise.
25709 (befs_be_mod_SOURCES): Likewise.
25710 (befs_be_mod_CFLAGS): Likewise.
25711 (befs_be_mod_LDFLAGS): Likewise.
25712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25713 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25715 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25716 (grub_emu_SOURCES): Likewise.
25717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25719 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25720 * fs/afs_be.c: New file.
25721 * fs/befs_be.c: New file.
25722 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25723 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25724 (U16): Replaced with ...
25725 (grub_afs_to_cpu16): ...this. All users updated.
25726 (U32): Replaced with ...
25727 (grub_afs_to_cpu32): ...this. All users updated.
25728 (U64): Replaced with ...
25729 (grub_afs_to_cpu64): ...this. All users updated.
25730 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25731 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25732 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25733 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25734 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25735 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25736 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25737 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25738 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25739 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25740 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25741
32a71655 257422009-08-26 Bean <bean123ch@gmail.com>
25743
25744 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25745 64-bit number.
25746 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25747 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25748 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25749
552bf6c5 257502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 NetBSD memory map support.
25753
25754 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25755 (grub_netbsd_btinfo_mmap_header): New structure.
25756 (grub_netbsd_btinfo_mmap_entry): Likewise.
25757 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25758
1ae2078c 257592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25760
25761 Enable bsd.mod on coreboot.
25762
25763 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25764 (bsd_mod_SOURCES): New variable.
25765 (bsd_mod_CFLAGS): Likewise.
25766 (bsd_mod_LDFLAGS): Likewise.
25767 (bsd_mod_ASFLAGS): Likewise.
25768 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25769 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25770
beefc598 257712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25772
25773 Cleanup NetBSD root support.
25774
25775 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25776 grub_bsd_get_device.
25777 Fix typo.
25778
3b76e68b 257792009-08-25 Felix Zielcke <fzielcke@z-51.de>
25780
25781 * util/grub.d/00_header.in: Move check for the video backend of
25782 gfxterm from here ...
25783 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25784 a suitable video backend.
25785
aea664ea 257862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 Fix breakage in grub-setup.
25789
25790 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25791 "msdos_partition_map".
25792
ff747d50 257932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 Fix breakage in normal/auth.c.
25796
25797 * normal/auth.c (grub_iswordseparator): New function.
25798
e7e1f93f 257992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25800
25801 Authentication support.
25802
25803 * commands/password.c: New file.
25804 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25805 (password_mod_SOURCES): New variable.
25806 (password_mod_CFLAGS): Likewise.
25807 (password_mod_LDFLAGS): Likewise.
25808 (normal_mod_SOURCES): Add normal/auth.c.
25809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25810 normal/auth.c.
25811 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25815 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25816 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25817 * include/grub/auth.h: New file.
25818 * include/grub/err.h (grub_err_t): New enum value
25819 GRUB_ERR_ACCESS_DENIED.
25820 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25821 'users'.
25822 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25823 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25824 users updated.
25825 * normal/auth.c: New file.
25826 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25827 (grub_cmdline_run): Don't allow to go to command line without
25828 authentication.
25829 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25830 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25831 menuentry without superuser rights.
25832 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25833 user isn't a superuser.
25834
70f1161d 258352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25836
25837 Save space by inlining misc.c functions.
25838
25839 * kern/misc.c (grub_iswordseparator): Made static.
25840 * kern/misc.c (grub_strcat): Moved from here ...
25841 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25842 * kern/misc.c (grub_strncat): Moved from here ...
25843 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25844 * kern/misc.c (grub_strcasecmp): Moved from here ...
25845 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25846 * kern/misc.c (grub_strncasecmp): Moved from here ...
25847 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25848 * kern/misc.c (grub_isalpha): Moved from here ...
25849 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25850 * kern/misc.c (grub_isdigit): Moved from here ...
25851 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25852 * kern/misc.c (grub_isgraph): Moved from here ...
25853 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25854 * kern/misc.c (grub_tolower): Moved from here ...
25855 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25856
48e40bff 258572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 * script/sh/function.c (grub_script_function_find): Cut error message
25860 not to flood terminal.
25861 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25862 limit.
25863 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25864
c385bfc3 258652009-08-24 Colin Watson <cjwatson@ubuntu.com>
25866
25867 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25868 `report' grub_uint8_t *.
25869 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25870 Use a 50-millisecond timeout rather than just repeating
25871 grub_usb_keyboard_getreport 50 times.
25872 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25873
2d21e3e8 258742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25875
25876 Rename *_partition_map to part_*
25877
25878 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25879 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25880 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25881 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25882 All users updated.
25883 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25884 All users updated.
25885 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25886 * util/grub-probe.c (probe_partmap): Don't transform partition name
25887 to get module name.
25888
dd103c4e 258892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25890
25891 Fix OpenBSD and NetBSD support.
25892
25893 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25894 memory address conflict.
25895 (OPENBSD_MMAP_ACPI): New definition.
25896 (OPENBSD_MMAP_NVS): Likewise.
25897 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25898 and OPENBSD_MMAP_NVS.
25899 Add memory map terminator
25900 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25901 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25902
16c84d74 259032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25904
25905 Let user specify NetBSD root device.
25906
25907 * loader/i386/bsd.c (netbsd_root): New variable.
25908 (netbsd_opts): New option 'root'.
25909 (NETBSD_ROOT_ARG): New macro.
25910 (grub_netbsd_boot): Use 'netbsd_root'.
25911 (grub_bsd_unload): Free 'netbsd_root'.
25912 (grub_cmd_netbsd): Fill 'netbsd_root'.
25913
adb29902 259142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25915
25916 Support for 64-bit NetBSD.
25917
25918 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25919 point when booting non-FreeBSD.
25920
f5ae9f74 259212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25922
25923 Support --no-smp and --no-acpi for NetBSD.
25924
25925 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25926 (NETBSD_AB_NOACPI): Likewise.
25927 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25928 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25929
de74f136 259302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25933 errors.
25934 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25935 errors. Call grub_error when needed.
25936
e9a925da 259372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 * commands/search.c (search_fs): Try searching without autoload first.
25940 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25941 filesystem module explicitly for faster booting.
25942
5174302b 259432009-08-23 Colin Watson <cjwatson@ubuntu.com>
25944
25945 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25946
c8c80635 259472009-08-23 Colin Watson <cjwatson@ubuntu.com>
25948
25949 * util/grub.d/30_os-prober.in: Disable os-prober if
25950 `GRUB_DISABLE_OS_PROBER' was set to true.
25951
71acf5e5 259522009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25953
25954 * partmap/pc.c: Rename to ...
25955 * partmap/msdos.c: ... this. Update all users.
25956 (grub_pc_partition_map): Rename to ...
25957 (grub_msdos_partition_map): ... this. Update all users.
25958
25959 * parttool/pcpart.c: Rename to ...
25960 * parttool/msdospart.c: ... this. Update all users.
25961
25962 * include/grub/pc_partition.h: Rename to ...
25963 * include/grub/msdos_partition.h: ... this. Update all users.
25964 (grub_pc_partition_bsd_entry): Rename to ...
25965 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25966 (grub_pc_partition_disk_label): Rename to ...
25967 (grub_msdos_partition_disk_label): ... this. Update all users.
25968 (grub_pc_partition_entry): Rename to ...
25969 (grub_msdos_partition_entry): ... this. Update all users.
25970 (grub_pc_partition_mbr): Rename to ...
25971 (grub_msdos_partition_mbr): ... this. Update all users.
25972 (grub_pc_partition): Rename to ...
25973 (grub_msdos_partition): ... this. Update all users.
25974 (grub_pc_partition_is_empty): Rename to ...
25975 (grub_msdos_partition_is_empty): ... this. Update all users.
25976 (grub_pc_partition_is_extended): Rename to ...
25977 (grub_msdos_partition_is_extended): ... this. Update all users.
25978 (grub_pc_partition_is_bsd): Rename to ...
25979 (grub_msdos_partition_is_bsd): ... this. Update all users.
25980
25981 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25982 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25983 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25984 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25985 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25986 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25987 (gpt_mod_LDFLAGS): Rename to ...
25988 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25989 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25990 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25991 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25992 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25993 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25994 (part_gpt_mod_LDFLAGS): ... this.
25995 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25996 `pcpart.mod' to `msdospart.mod'.
25997 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25998 to ...
25999 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26000 (msdospart_mod_LDFLAGS): ... this.
26001
c11fded5 260022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26003
26004 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26005 (openbsd_opts): Likewise.
26006 (netbsd_opts): Likewise.
26007 (freebsd_flags): Added 0 terminator.
26008 (openbsd_flags): Likewise.
26009 (netbsd_flags): Likewise.
26010 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26011 (grub_cmd_freebsd): Transformed into extended command.
26012 (grub_cmd_openbsd): Likewise.
26013 (grub_cmd_netbsd): Likewise.
26014 (cmd_freebsd): Changed type to grub_extcmd_t.
26015 (cmd_openbsd): Likewise.
26016 (cmd_netbsd): Likewise.
26017 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26018 grub_cmd_openbsd as extended commands.
26019 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26020 cmd_netbsd and cmd_openbsd
26021
11d1c769 260222009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26025
7a9094e5 260262009-08-21 Pavel Roskin <proski@gnu.org>
26027
5496c37e 26028 * Makefile.in (install-local): When checking if a file is in the
26029 build directory, use "test -e" to detect symlinks.
26030
7a9094e5 26031 * Makefile.in (install-local): Remove all files in
26032 $(DESTDIR)$(pkglibdir) before installing new files there.
26033
e53cea11 260342009-08-18 Felix Zielcke <fzielcke@z-51.de>
26035
26036 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26037 grub-mkelfimage.
26038
9aced544 260392009-08-18 Felix Zielcke <fzielcke@z-51.de>
26040
26041 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26042 explicitly specified by the user.
26043
b7da6bab 260442009-08-18 Pavel Roskin <proski@gnu.org>
26045
26046 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26047 grub_uint8_t pointer for data.
26048 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26049 Likewise.
26050 * video/fb/fbutil.c: Remove unnecessary casts.
26051
19f1b335 260522009-08-17 Michal Suchanek <hramrach@centrum.cz>
26053
26054 VBE cleanup.
26055
26056 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26057 (grub_vbe_set_video_mode): Save active mode info
26058 only after setting the mode.
26059 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26060 second argument.
26061
2f467aa9 260622009-08-17 Michal Suchanek <hramrach@centrum.cz>
26063
26064 Rename variables for clarity.
26065
26066 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26067 (active_vbe_mode_info): ... this. All users updated.
26068 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26069 All users updated.
26070 (initial_mode): Rename to ...
26071 (initial_vbe_mode): ... this. All users updated.
26072 (mode_in_use): Rename to ..
26073 (vbe_mode_in_use): ... this. All users updated.
26074 (mode_list): Rename to ..
26075 (vbe_mode_list): ... this. All users updated.
26076 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26077 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26078 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26079 'mode_list_size' to 'vbe_mode_list_size'.
26080 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26081 'best_mode_info' to 'best_vbe_mode_info' and
26082 'best_mode' to 'best_vbe_mode'
26083
6025fcd7 260842009-08-17 Michal Suchanek <hramrach@centrum.cz>
26085
26086 Remove duplicate grub_video_fb_get_video_ptr.
26087
26088 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26089 (grub_video_fb_get_video_ptr): ... this.
26090 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26091 * video/fb/fbutil.c: Add comment about addressing.
26092 (get_data_ptr): Rename to ...
26093 (grub_video_fb_get_video_ptr): ... this. All users updated.
26094 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26095
cc8c6faf 260962009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26097
26098 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26099 grub_dprintf() that was just added.
26100
08aa61f0 261012009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26104 (DEFAULT_VIDEO_MODE): Remove macros.
26105 (grub_linux_boot): Remove assumption that Linux has FB support,
26106 and use "text" as default video mode.
26107
7cef4f75 261082009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26111 grub_dprintf.
26112 * fs/fat.c (grub_fat_read_data): Likewise.
26113
e1f39873 261142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26115
26116 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26117 payload.
26118 (grub_module): Likewise.
26119
c166d79e 261202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26123 mbi->cmdline but free playground.
26124
c60cee8e 261252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 Handle group offset on UFS1.
26128
26129 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26130 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26131
c0d8b5d4 261322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26133
26134 Split ufs.mod into ufs1.mod and ufs2.mod.
26135
26136 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26137 (grub_fstest_SOURCES): Likewise.
26138 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26139 (ufs_mod_SOURCES): Remove.
26140 (ufs_mod_CFLAGS): Likewise.
26141 (ufs_mod_LDFLAGS): Likewise.
26142 (ufs1_mod_SOURCES): New variable.
26143 (ufs1_mod_CFLAGS): Likewise.
26144 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26145 (ufs2_mod_SOURCES): New variable.
26146 (ufs2_mod_CFLAGS): Likewise.
26147 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26148 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26149 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26150 Likewise.
26151 (grub_emu_SOURCES): Likewise.
26152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26153 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26154 (grub_setup_SOURCES): Likewise.
26155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26156 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26157 (grub_setup_SOURCES): Likewise.
26158 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26159 Likewise.
26160 * fs/ufs2.c: New file.
26161 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26162
d3539132 261632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 Framebuffer split.
26166
26167 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26168 subsystem at the end.
26169 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26170 (video_fb_mod_SOURCES): New variable.
26171 (video_fb_mod_CFLAGS): Likewise.
26172 (video_fb_mod_LDFLAGS): Likewise.
26173 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26174 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26175 * video/i386/pc/vbeblit.c: Moved from here ...
26176 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26177 * video/i386/pc/vbefill.c: Moved from here ...
26178 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26179 * video/i386/pc/vbeutil.c: Moved from here ...
26180 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26181 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26182 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26183 * include/grub/i386/pc/vbefill.h: Moved from here ...
26184 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26185 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26186 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26187 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26188 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26189 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26190 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26191 (grub_video_adapter): Added 'get_info_and_fini'.
26192 (grub_video_get_info_and_fini): New prototype.
26193 (grub_video_set_mode): make modestring const char *.
26194 * loader/i386/linux.c (grub_linux_setup_video): Use
26195 grub_video_get_info_and_fini.
26196 (grub_linux_boot): Move modesetting just before booting.
26197 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26198 grub_video_get_info_and_fini.
26199 * video/i386/pc/vbe.c: Moved framebuffer part ...
26200 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26201 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26202 grub_video_fbstd_colors and grub_video_fb_set_palette.
26203 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26204 grub_video_fb_init.
26205 (grub_video_vbe_fini): Use grub_video_fb_fini.
26206 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26207 render_target and use grub_video_fb_set_active_render_target and
26208 grub_video_fb_set_palette.
26209 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26210 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26211 (grub_video_vbe_adapter): Use framebuffer.
26212 * video/video.c (grub_video_get_info_and_fini): New function.
26213 (grub_video_set_mode): Make modestring const char *.
26214 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26215 values are already initialised.
26216
d404ee56 262172009-08-14 Pavel Roskin <proski@gnu.org>
26218
26219 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26220 ABS and APPLE_CC.
26221 * boot/i386/pc/diskboot.S: Likewise.
26222 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26223 sectors allow compilation on MacOSX.
26224 * conf/i386-pc.rmk: Enable unconditional compilation of
26225 lnxboot.img.
26226
9a10df16 262272009-08-13 Colin Watson <cjwatson@ubuntu.com>
26228
26229 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26230 * util/grub.d/00_header.in: Enter interruptible sleep if
26231 GRUB_HIDDEN_TIMEOUT is set.
26232
be3c9ca7 262332009-08-13 Yves Blusseau <blusseau@zetam.org>
26234
26235 * include/grub/symbol.h: Add the LOCAL macro.
26236 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26237 starting with "L_".
26238
1f9e557e 262392009-08-13 Pavel Roskin <proski@gnu.org>
26240
9ca62843 26241 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26242 any modern compilers we support.
26243
1f9e557e 26244 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26245 Use local labels starting with "L_" so that Apple assembler
26246 knows they are local.
26247
81623db6 262482009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26249
26250 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26251 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26252 (bsd_kernel_types): ... this enum.
26253
26254 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26255 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26256 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26257
26258 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26259 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26260 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26261 messages.
26262
f5d35e7a 262632009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26264
26265 * util/grub-dumpdevtree: Moved from here ...
26266 * util/i386/efi/grub-dumpdevtree: ... to here.
26267 (hexify): New function. Converts a string to its hex version.
26268 Generate hex versions of "efi" and "device-properties" by calling
26269 hexify() on the ASCII strings rather than by hardcoding numbers.
26270
d1e1d527 262712009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 * fs/jfs.c: Update copyright year.
26274
1ebbe064 262752009-08-08 Felix Zielcke <fzielcke@z-51.de>
26276
26277 * util/grub.d/00_header.in: Fix a comment.
26278 * util/grub.d/10_linux.in: Likewise.
26279 * util/grub.d/10_windows.in: Likewise.
26280 * util/grub.d/10_hurd.in: Likewise.
26281
a78c8d24 262822009-08-08 Felix Zielcke <fzielcke@z-51.de>
26283
26284 * util/grub-mkconfig.in: Allow the user to specify the used font
26285 with GRUB_FONT.
26286
29a6b9e8 262872009-08-08 Pavel Roskin <proski@gnu.org>
26288
b5f16cc4 26289 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26290 available, xfs.mod needs it now.
26291
2f5cb827 26292 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26293 the "g" modifier in sed when the intention is to strip something
26294 once. This fixes comparison of kernels with multiple dashes.
26295
29a6b9e8 26296 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26297 on it. Add missing space before closing bracket. Fix
26298 misleading formatting.
26299
892a3d98 263002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26301
26302 * docs/grub.texi: Major overhaul. Remove all sections that are
26303 specific to GRUB Legacy, or mostly composed of Legacy-specific
26304 information.
26305
ed94253f 263062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26307
26308 * docs/version.texi: New file. Provides version information for
26309 grub.texi.
26310
126d6628 263112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26312
26313 * docs/grub.texi: Update CVS information to SVN.
26314 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26315
998b5aa9 263162009-08-07 Felix Zielcke <fzielcke@z-51.de>
26317
26318 * util/grub-mkconfig.in: Remove a wrong `fi'.
26319
818e094a 263202009-08-07 Felix Zielcke <fzielcke@z-51.de>
26321
26322 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26323 (grub_jfs_uuid): New function.
26324 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26325
b969c52f 263262009-08-07 Felix Zielcke <fzielcke@z-51.de>
26327
26328 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26329 of it to ...
26330 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26331 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26332
7a4894cc 263332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26334
26335 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26336 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26337 Update all users.
26338
26339 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26340 not just "vmlinu[zx]".
26341 Moved from here ...
26342 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26343 all users.
26344
26345 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26346 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26347 all users.
26348
4e2171f8 263492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26350
26351 * util/grub.d/10_freebsd.in: Use an absolute device path for
26352 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26353
6dcfcb32 263542009-08-06 Felix Zielcke <fzielcke@z-51.de>
26355
26356 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26357 handling of multiple abstraction modules.
26358
f56a8756 263592009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26360
26361 Fix a bug resulting in black screen when loading Linux using a
26362 packed video mode.
26363
26364 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26365 function.
26366
26367 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26368 (grub_vbe_bios_getset_dac_palette_width): New function.
26369 (grub_vbe_bios_get_dac_palette_width)
26370 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26371 grub_vbe_bios_getset_dac_palette_width()).
26372
26373 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26374 check for return status.
26375 (grub_vbe_get_video_mode_info): When getting information for a packed
26376 mode (<= 8 bpp), obtain DAC palette width using
26377 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26378 {red,green,blue}_mark_size.
26379
222671b2 263802009-08-04 Felix Zielcke <fzielcke@z-51.de>
26381
ecb1a6d9 26382 * commands/search.c (options): Fix help output to match actual code.
222671b2 26383
f84114f5 263842009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26385
26386 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26387 of homegrown code.
26388
bd288a20 263892009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26390
26391 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26392 on XFS or ReiserFS.
26393
8aab5e25 263942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26395
26396 Support Apple partition map with sector size different from 512 bytes.
26397
26398 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26399 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26400 and 'apart.partmap_size'.
26401
6ad6258a 264022009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
264032009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26404
26405 Fix cpuid command.
26406
26407 * commands/i386/cpuid.c (options): New variable.
26408 (grub_cmd_cpuid): Return real error.
26409 (GRUB_MOD_INIT(cpuid)): Declare options.
26410
67459bc6 264112009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26414 valid.
26415
fbc6ab54 264162009-07-31 Bean <bean123ch@gmail.com>
26417
26418 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26419 log2_inode.
26420 (grub_fshelp_node): Move inode field to the end.
26421 (grub_xfs_data): Remove inode field.
26422 (grub_xfs_inode_block): Calculate inode size using sblock.
26423 (grub_xfs_inode_offset): Likewise.
26424 (grub_xfs_read_inode): Calculate inode size using sblock.
26425 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26426 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26427 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26428 to match inode size.
26429 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26430 not accessible when data is null.
26431 (grub_xfs_open): Likewise.
26432
f45d6cfc 264332009-07-31 Bean <bean123ch@gmail.com>
26434
26435 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26436 Don't change pv->disk if it's already set.
26437
26438 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26439 (grub_raid_register): ... here.
26440 (grub_raid_rescan): Removed.
26441
26442 * include/grub/raid.h (grub_raid_rescan): Removed.
26443
26444 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26445 (fstest): Replace grub_raid_rescan with module fini function followed
26446 by init function.
26447
26448 * util/grub-probe.c: Add include file <grub/raid.h>.
26449 (probe_raid_level): New function.
26450 (probe): Detect abstraction by walking the disk device, support two
26451 level of abstraction (LVM on RAID) when detecting partition map.
26452
24443b5a 264532009-07-31 Pavel Roskin <proski@gnu.org>
26454
26455 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26456 to grub_zalloc(), it was erroneous.
26457 Reported by Bean <bean123ch@gmail.com>
26458
a275d9e7 264592009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26460
26461 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26462 embedding zone, not only the first one.
a275d9e7 26463
56c5a47f 264642009-07-29 Joe Auricchio <jauricchio@gmail.com>
26465
26466 * term/gfxterm.c (clear_char): New function.
26467 (grub_virtual_screen_setup): Use clear_char.
26468 (scroll_up): Likewise.
26469 (grub_virtual_screen_cls): Likewise.
26470
67bb323a 264712009-07-29 Felix Zielcke <fzielcke@z-51.de>
26472
26473 * util/deviceiter.c (get_acceleraid_disk_name): New static
26474 function.
26475 (grub_util_iterate_devices): Handle Accelraid devices.
26476 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26477
388a7c75 264782009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26479
26480 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26481 separator for the suggested gfxpayload string (';' collides with the
26482 parser and needs escaping).
26483
3bb7abcf 264842009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26487 Clear direction flag before jumping to OS.
26488 (grub_multiboot2_real_boot): Likewise.
26489
2ddd36d7 264902009-07-28 Felix Zielcke <fzielcke@z-51.de>
26491
26492 * util/i386/pc/grub-install: Fix parsing of --disk-module
26493 option.
26494
c521b62b 264952009-07-28 Felix Zielcke <fzielcke@z-51.de>
26496
26497 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26498 when embedding.
26499
880e0a0c 265002009-07-26 Felix Zielcke <fzielcke@z-51.de>
26501
26502 * util/grub-mkconfig.in (package_version): New variable.
26503 Use it do display the version.
26504
2366e356 265052009-07-25 Felix Zielcke <fzielcke@z-51.de>
26506
26507 * kern/file.c (grub_file_open): Revert to previous check with
26508 grub_errno.
26509
7ad8c80e 265102009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26511
26512 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26513 from help line. It's out of sync with code.
26514
72b9658b 265152009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26516
26517 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26518 entries on failed boot.
26519
77435277 265202009-07-25 Felix Zielcke <fzielcke@z-51.de>
26521
26522 * kern/file.c (grub_file_open): Fix an error check.
26523
fcaa8b21 265242009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26525
35d16c74 26526 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26527 partition map couldn't be identified.
fcaa8b21 26528
48904cd1 265292009-07-23 Pavel Roskin <proski@gnu.org>
26530
ef3c317f 26531 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26532 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26533 case of little endian words becomes just an optimization.
26534 Respect const modifier.
ad8ea1f4 26535 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26536
48904cd1 26537 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26538 to avoid loss of upper bits if align is unsigned and shorter
26539 than addr.
26540
260c9a89 265412009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 UUID support for UFS
26544
26545 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26546 (grub_ufs_uuid): New function.
26547 (grub_ufs_fs): add .uuid
26548
f76ce889 265492009-07-21 Pavel Roskin <proski@gnu.org>
26550
26551 * kern/dl.c (grub_dl_check_header): Make static.
26552
6a6cbcaf 265532009-07-21 Felix Zielcke <fzielcke@z-51.de>
26554
26555 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26556 add drivemap for Vista. It breaks Windows 7.
26557
cffcddb2 265582009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26561 128 bytes
26562
1ef44b80 265632009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26564
26565 Add BFS support
26566
26567 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26568 (grub_fstest_SOURCES): Likewise.
26569 (pkglib_MODULES): Add befs.mod.
26570 (befs_mod_SOURCES): New variable.
26571 (befs_mod_CFLAGS): Likewise.
26572 (befs_mod_LDFLAGS): Likewise.
26573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26576 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26577 (grub_setup_SOURCES): Likewise.
26578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26580 (grub_setup_SOURCES): Likewise.
26581 * fs/befs.c: New file.
26582 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26583 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26584 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26585 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26586 (B_KEY_INDEX_ALIGN): New declaration.
26587 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26588 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26589 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26590 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26591 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26592 (grub_afs_mount) [MODE_BFS]: Likewise.
26593 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26594 (grub_afs_fs): Use GRUB_AFS_FSNAME
26595 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26596 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26597 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26598 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26599
4f253044 266002009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26601
26602 * util/getroot.c (find_root_device): Add support for MacOSX.
26603 * util/hostdisk.c: Likewise.
26604
57a55913 266052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26606
26607 * font/font.c (find_glyph): Check whether a font is present to avoid
26608 segmentation fault.
75421ca9 26609
266102009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26611
26612 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26613
e98cd0c2 266142009-07-20 Pavel Roskin <proski@gnu.org>
26615
26616 * configure.ac: Trim excessively wordy excuses.
26617
1d2d169a 266182009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26619
26620 Add symlink, mtime and label support to AtheFS.
26621
26622 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26623 (grub_afs_iterate_dir): Handle symlinks.
26624 (grub_afs_open): Use grub_afs_read_symlink.
26625 (grub_afs_dir): Likewise.
26626 Pass mtime.
26627 (grub_afs_label): New function.
26628 (grub_afs_fs): Add grub_afs_label.
26629 (grub_afs_read_symlink): New function.
26630
186f3189 266312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26632
26633 Fix AtheFS support.
26634
26635 * fs/afs.c: Fix comments style.
26636 (grub_afs_blockrun): Declare as packed.
26637 (grub_afs_datastream): Likewise.
26638 (grub_afs_bnode): Likewise.
26639 (grub_afs_btree): Likewise.
26640 (grub_afs_sblock): Likewise.
26641 Declare `name' as char.
26642 (grub_afs_inode): Declare as packed.
26643 Change void *vnode to grub_uint32_t unused.
26644 (grub_afs_iterate_dir): Check that key_size is positive.
26645 (grub_afs_mount): Don't read superblock twice.
75421ca9 26646 (grub_afs_dir): Don't free node in case of error,
186f3189 26647 grub_fshelp_find_file already handles this.
26648 (grub_afs_open): Likewise.
26649
5680109e 266502009-07-19 Pavel Roskin <proski@gnu.org>
26651
26652 * Makefile.in: Remove LIBLZO and enable_lzo.
26653 * conf/i386-pc.rmk: Remove lzo support.
26654 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26655 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26656 support.
26657 * kern/i386/pc/lzo1x.S: Remove.
26658 * kern/i386/pc/startup.S: Remove lzo support.
26659 * util/i386/pc/grub-mkimage.c: Likewise.
26660
ac70fa32 266612009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26664 * fs/xfs.c (grub_xfs_dir): Likewise.
26665 * fs/afs.c (grub_afs_dir): Likewise.
26666 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26667 (grub_iso9660_open): Likewise.
26668 * fs/jfs.c (grub_jfs_open): Likewise.
26669 * fs/ext2.c (grub_ext2_dir): Likewise.
26670 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26671 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26672
eab58da2 266732009-07-16 Pavel Roskin <proski@gnu.org>
26674
d2838156 26675 * configure.ac: Never add "-c" to CFLAGS.
26676
55c70904 26677 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26678
43e6200c 26679 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26680 grub_cv_cc_efiemu should be used.
26681
ce7a733d 26682 * configure.ac: Typo fixes.
26683
eab58da2 26684 * kern/mm.c (grub_zalloc): New function.
26685 (grub_debug_zalloc): Likewise.
26686 * include/grub/mm.h: Declare grub_zalloc() and
26687 grub_debug_zalloc().
26688 * util/misc.c (grub_zalloc): New function.
26689 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26690 instead of grub_malloc(), remove unneeded initializations.
26691 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26692 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26693 * commands/parttool.c (grub_cmd_parttool): Likewise.
26694 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26695 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26696 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26697 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26698 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26699 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26700 (grub_cmd_efiemu_pnvram): Likewise.
26701 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26702 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26703 (grub_iso9660_iterate_dir): Likewise.
26704 * fs/jfs.c (grub_jfs_opendir): Likewise.
26705 * fs/ntfs.c (list_file): Likewise.
26706 (grub_ntfs_mount): Likewise.
26707 * kern/disk.c (grub_disk_open): Likewise.
26708 * kern/dl.c (grub_dl_load_core): Likewise.
26709 * kern/elf.c (grub_elf_file): Likewise.
26710 * kern/env.c (grub_env_context_open): Likewise.
26711 (grub_env_set): Likewise.
26712 (grub_env_set_data_slot): Likewise.
26713 * kern/file.c (grub_file_open): Likewise.
26714 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26715 * loader/i386/multiboot.c (grub_module): Likewise.
26716 * loader/xnu.c (grub_xnu_create_key): Likewise.
26717 (grub_xnu_create_value): Likewise.
26718 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26719 (read_config_file): Likewise.
26720 * normal/menu_entry.c (make_screen): Likewise.
26721 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26722 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26723 * script/sh/script.c (grub_script_parse): Likewise.
26724 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26725 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26726 * video/readers/png.c (grub_png_output_byte): Likewise.
26727 (grub_video_reader_png): Likewise.
26728
830afef7 267292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26730
26731 Enable all targets that can be built by default
26732
830afef7 26733 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26734 grub-mkfont and grub-fstest if they can be built
26735
ee293aee 267362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 Fix hang and segmentation fault in grub-emu-usb
26739
26740 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26741 * util/usb.c (grub_libusb_devices): likewise
26742 (grub_libusb_init): rename to ...
26743 (GRUB_MOD_INIT (libusb)):...this
26744 (grub_libusb_fini): rename to ..
26745 (GRUB_MOD_FINI (libusb)):...this
26746 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26747 * include/grub/disk.h (grub_raid_init): removed, it's useless
26748 (grub_raid_fini): likewise
26749 (grub_lvm_init): likewise
26750 (grub_lvm_fini): likewise
26751 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26752 by grub_init_all
26753
94414221 267542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26755
26756 Fix libusb
26757
26758 * Makefile.in (LIBUSB): new macro
26759 * genmk.rb (Utility/print_tail): new method
26760 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26761 (top level): call util.print_tail at the end.
26762
59ade63d 267632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26764
26765 Make FreeBSD accept zpool.cache
26766
26767 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26768 type is /boot/zfs/zpool.cache
26769
a58da8c7 267702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 Fix 64-bit efiemu
26773
26774 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26775 correct wrong typedef
26776 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26777
20591577 267782009-07-15 Pavel Roskin <proski@gnu.org>
26779
560ca572 26780 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26781 * kern/disk.c (struct grub_disk_cache): Likewise.
26782
e8e8e4fd 26783 * commands/probe.c (options): Typo fix.
26784
fde24e10 26785 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26786 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26787 accordingly.
26788 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26789
379c54c1 26790 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26791 the end of "Error" to make the message more readable.
26792
7bd8f5bf 26793 * boot/i386/pc/boot.S (kernel_segment): Remove.
26794 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26795 for destination.
26796
40b132c5 26797 * boot/i386/pc/boot.S (boot_version): Remove.
26798 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26799 Remove.
26800
20591577 26801 * include/grub/i386/pc/boot.h: Sort all offsets.
26802 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26803 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26804 * boot/i386/pc/boot.S: Assert location of every offset listed in
26805 include/grub/i386/pc/boot.h.
26806
2df32b2c 268072009-07-13 Pavel Roskin <proski@gnu.org>
26808
44b5d879 26809 * include/grub/i386/coreboot/machine.h: Rename
26810 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26811 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26812 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26813
17dc3751 26814 * kern/dl.c: Force native word size to suppress warnings when
26815 compiling grub-emu.
26816
2df32b2c 26817 * kern/device.c (grub_device_iterate): Change struct part_ent to
26818 hold the name, not a pointer to it. Use one grub_malloc() per
26819 partition, not two. Free partition_name if grub_malloc() fails.
26820 Set ents to NULL only before grub_partition_iterate() is called.
26821
75c59f59 268222009-07-11 Bean <bean123ch@gmail.com>
26823
26824 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26825 childname.
26826
0ae1bf88 268272009-07-10 Bean <bean123ch@gmail.com>
268282009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26829
26830 * kern/ieee1275/openfw.c (grub_children_iterate)
26831 (grub_devalias_iterate): Fix size evaluation for property or path
26832 strings, which was broken since r2132.
26833
8279cade 268342009-07-07 Pavel Roskin <proski@gnu.org>
26835
7d8a52d3 26836 * commands/search.c (search_file): Merge into ...
26837 (search_fs): ... this. Accept search type as argument.
26838 (grub_cmd_search): Pass search type to search_fs().
26839
25f9a05a 26840 * include/grub/util/console.h: New file.
26841 * util/console.c: Use it instead of grub/machine/console.h.
26842 * util/grub-emu.c: Likewise.
26843
8279cade 26844 * lib/arg.c (find_long_option): Remove.
26845 (find_long): Add `len' argument, make `s' const char *.
26846 (grub_arg_parse): Parse long options in place, not in a
26847 temporary buffer.
26848
4a11b60f 268492009-07-06 Pavel Roskin <proski@gnu.org>
26850
99f68041 26851 * commands/search.c (search_fs): Fix potential NULL pointer
26852 dereference.
26853
4a11b60f 26854 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26855 function pointer.
26856
e110f4de 268572009-07-06 Daniel Mierswa <impulze@impulze.org>
26858
26859 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26860 comparison.
26861
46eeb6a2 268622009-07-05 Pavel Roskin <proski@gnu.org>
26863
bab74958 26864 * include/grub/i386/linux.h (struct linux_kernel_params):
26865 Restore padding3, it's still needed.
26866
46eeb6a2 26867 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26868 FreeBSD.
26869 * util/osdetect.lua: Likewise.
26870
b4a1dc79 268712009-07-05 Bean <bean123ch@gmail.com>
26872
26873 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26874
26875 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26876 (grub_lua_getenv): Likewise.
26877 (grub_lua_setenv): Likewise.
26878 (save_errno): New function.
26879 (push_result): Likewise.
26880 (grub_lua_enum_device): Likewise.
26881 (grub_lua_enum_file): Likewise.
26882 (grub_lua_file_open): Likewise.
26883 (grub_lua_file_close): Likewise.
26884 (grub_lua_file_seek): Likewise.
26885 (grub_lua_file_read): Likewise.
26886 (grub_lua_file_getline): Likewise.
26887 (grub_lua_file_getsize): Likewise.
26888 (grub_lua_file_getpos): Likewise.
26889 (grub_lua_file_eof): Likewise.
26890 (grub_lua_file_exist): Likewise.
26891 (grub_lua_add_menu): Likewise.
26892
26893 * script/lua/grub_lua.h (isupper): New inline function.
26894 (islower): Likewise.
26895 (ispunct): Likewise.
26896 (isxdigit): Likewise.
26897 (strcspn): Change to normal function.
26898 (strpbkr): New function declaration.
26899 (memchr): Likewise.
26900
26901 * script/lua/grub_main.c (scan_str): New function.
26902 (strcspn): Likewise.
26903 (strpbrk): Likewise.
26904 (memchr): Likewise.
26905
26906 * script/lua/linit.c (lualibs): Enable the string library.
26907
26908 * util/osdetect.lua: New file.
26909
2da92295 269102009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26911
26912 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26913 `capabilities' member.
26914
b2582ec9 269152009-07-02 Pavel Roskin <proski@gnu.org>
26916
26917 * genparttoollist.sh: Add missing newline at the end.
26918
32622956 269192009-07-01 Pavel Roskin <proski@gnu.org>
26920
87a7339e 26921 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26922
d23af54e 26923 * util/hostdisk.c (open_device): Remove `const' from
26924 `sysctl_size', as sysctlbyname() can change it (in this case it
26925 doesn't actually happen).
26926
c94b18a9 26927 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26928 using signed long int constants.
26929
c6cd3ef0 26930 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26931 constant to avoid a warning on FreeBSD.
26932
0df63420 26933 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26934 where it's needed.
26935
999577f1 26936 * Makefile.in: Install include/grub/machine symlink.
26937
6f41557f 26938 * Makefile.in: When installing symlinks, use "cp -fR", which
26939 works on FreeBSD and MacOSX.
26940 From Yves Blusseau <cl7m42e02@sneakemail.com>
26941
c8d22988 26942 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26943 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26944
1b96e952 26945 * util/misc.c: Move grub_reboot() and grub_halt() ...
26946 * util/grub-emu.c: ... here. Make main_env static.
26947 * include/grub/util/misc.h: Remove main_env.
26948
2ef0084d 26949 * kern/mm.c: Use correct format to print size_t.
26950
32622956 26951 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26952 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26953 * kern/powerpc/dl.c: Likewise.
26954 * kern/sparc64/dl.c: Likewise.
26955 * kern/x86_64/dl.c: Likewise.
26956
3f7f0cd0 269572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26958
26959 Fix grub-emu build on sparc64-ieee1275.
26960
75421ca9 26961 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26963
211d06b5 269642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26965
26966 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26967 (grub_reboot, grub_halt): New functions.
26968
26969 * util/i386/pc/misc.c: Delete. Update all users.
26970 * util/sparc64/ieee1275/misc.c: Likewise.
26971 * util/powerpc/ieee1275/misc.c: Likewise.
26972
aaf53e3c 269732009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26974
26975 * conf/i386.rmk (setjmp_mod_SOURCES)
26976 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26977 * conf/common.rmk (setjmp_mod_SOURCES)
26978 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26979 to use $(target_cpu).
26980 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26981 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26982 * conf/powerpc-ieee1275.rmk: Likewise.
26983 * conf/sparc64-ieee1275.rmk: Likewise.
26984
26985 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26986 $(target_cpu) for kern/$(target_cpu)/dl.c.
26987 * conf/i386-efi.rmk: Likewise.
26988 * conf/i386-ieee1275.rmk: Likewise.
26989 * conf/x86_64-efi.rmk: Likewise.
26990 * conf/i386-coreboot.rmk: Likewise.
26991 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26992 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26993 kern/$(target_cpu)/cache.S.
26994 * conf/sparc64-ieee1275.rmk: Likewise.
26995
a337130b 269962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26997
26998 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26999 type to `grub_uint8_t', and adjust `padding9' accordingly.
27000
c6fe4d53 270012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27002
b09db61d 27003 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27004
c6fe4d53 27005 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27006 assembly in final jump, using register constraints.
27007
b09db61d 27008 (grub_linux_boot): For text mode, initialize `have_vga' using
27009 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27010
27011 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27012 right before the final jump.
27013
27014 Set `video_mode' to 0x3.
27015
27016 Document initialization of `video_page', `video_mode' and
27017 `video_ega_bx'.
27018
28333ad0 270192009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27020
27021 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27022 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27023 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27024
02164e1b 270252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27026
27027 Fix build on Debian / sparc.
27028
27029 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27030
18b6c557 270312009-06-28 Pavel Roskin <proski@gnu.org>
27032
85f2aab6 27033 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27034 fix a warning.
27035
18b6c557 27036 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27037
ad760f81 270382009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27039
27040 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27041 `err'.
27042
87a4623b 270432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27044
27045 Revert r2338.
27046
27047 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27048 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27049 grub_errno / grub_errmsg appropriately.
87a4623b 27050 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27051
8231fb77 270522009-06-27 Pavel Roskin <proski@gnu.org>
270532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27054
27055 * include/grub/dl.h: Include grub/elf.h.
27056 (struct grub_dl): Add symtab field.
27057 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27058 GRUB_MODULES_MACHINE_READONLY.
27059 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27060 of the header for read-only modules.
27061 (grub_dl_unload): Free mod->symtab for read-only modules.
27062 * kern/i386/dl.c: Use mod->symtab.
27063 * kern/powerpc/dl.c: Likewise.
27064 * kern/sparc64/dl.c: Likewise.
27065 * kern/x86_64/dl.c: Likewise.
27066
27067 * conf/i386-qemu.rmk: New file.
27068 * kern/i386/qemu/startup.S: Likewise.
27069 * kern/i386/qemu/mmap.c: Likewise.
27070 * boot/i386/qemu/boot.S: Likewise.
27071 * include/grub/i386/qemu/time.h: Likewise.
27072 * include/grub/i386/qemu/serial.h: Likewise.
27073 * include/grub/i386/qemu/kernel.h: Likewise.
27074 * include/grub/i386/qemu/console.h: Likewise.
27075 * include/grub/i386/qemu/boot.h: Likewise.
27076 * include/grub/i386/qemu/init.h: Likewise.
27077 * include/grub/i386/qemu/machine.h: Likewise.
27078 * include/grub/i386/qemu/loader.h: Likewise.
27079 * include/grub/i386/qemu/memory.h: Likewise.
27080
27081 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27082 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27083 [qemu] (pkglib_IMAGES): Add `boot.img'.
27084 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27085 [qemu] (boot_img_FORMAT): New variables.
27086 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27087 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27088 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27089 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27090 [qemu] (kernel_img_FORMAT): New variables.
27091
27092 * configure.ac: Recognise `i386-qemu'.
27093
27094 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27095 (for no compression).
27096 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27097 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27098 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27099 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27100 ifdefs).
27101
97fe384e 271022009-06-27 Pavel Roskin <proski@gnu.org>
27103
27104 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27105 read.
27106 * efiemu/prepare32.c: Likewise.
27107 * efiemu/prepare64.c: Likewise.
27108
c402ab17 271092009-06-26 Pavel Roskin <proski@gnu.org>
27110
27111 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27112 * include/grub/elf.h: Define symbols without "32" or "64" based
27113 on GRUB_TARGET_WORDSIZE.
27114 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27115 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27116 ELF definitions.
27117 * efiemu/loadcore64.c: Likewise.
27118 * loader/i386/bsd32.c: Likewise.
27119 * loader/i386/bsd64.c: Likewise.
27120 * kern/dl.c: Remove own ELF definitions.
27121 * util/i386/efi/grub-mkimage.c: Likewise.
27122
9bbdfd4d 271232009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27124
27125 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27126 segment 0x0 unconditionally, because the reference generated by
27127 GAS is an absolute address.
27128
a42ce6e9 271292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27130
27131 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27132 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27133
c952cf92 271342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27135
27136 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27137 indexes. Check for -f explicitly.
cc3752ad 27138 (search_file): Improve error message.
27139 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27140
132a0a59 271412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27142
27143 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27144 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27145
387a140c 271462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27147
27148 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27149 * conf/i386-ieee1275.rmk: Likewise.
27150 * conf/i386-coreboot.rmk: Likewise.
27151
27152 * kern/i386/pc/startup.S (grub_stop): Remove function.
27153 * kern/i386/ieee1275/startup.S: Likewise.
27154 * kern/i386/coreboot/startup.S: Likewise.
27155 * kern/i386/misc.S (grub_stop): New function.
27156
41da9665 271572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27158
27159 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27160 * kern/i386/realmode.S (real_to_prot): ... to here.
27161
bf337234 271622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27165 with `kernel.img'.
27166 (kernel_elf_SOURCES): Rename to ...
27167 (kernel_img_SOURCES): ... this.
27168 (kernel_elf_HEADERS): Rename to ...
27169 (kernel_img_HEADERS): ... this. Update all users.
27170 (kernel_elf_ASFLAGS): Rename to ...
27171 (kernel_img_ASFLAGS): ... this.
27172 (kernel_elf_CFLAGS): Rename to ...
27173 (kernel_img_CFLAGS): ... this.
27174 (kernel_elf_LDFLAGS): Rename to ...
27175 (kernel_img_LDFLAGS): ... this.
27176 * conf/i386-coreboot.rmk: Likewise.
27177 * conf/powerpc-ieee1275.rmk: Likewise.
27178
27179 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27180 with "kernel.img".
27181
f52196ff 271822009-06-21 Pavel Roskin <proski@gnu.org>
27183
c3cee413 27184 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27185 to match nested functions.
27186 * loader/sparc64/ieee1275/linux.c: Likewise.
27187
f52196ff 27188 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27189
58750afc 271902009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27191
27192 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27193 all i386 platforms.
27194
15355c7d 271952009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 Fix asm file handling on ELF, and remove workarounds.
27198
27199 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27200 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27201 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27202 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27203
3f3ec72b 272042009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 Load BSD ELF modules
27207
27208 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27209 and loader/i386/bsd64.c
27210 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27211 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27212 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27213 (grub_freebsd_load_elfmodule32): New declaration
27214 (grub_freebsd_load_elfmoduleobj64): Likewise
27215 (grub_freebsd_load_elf_meta32): Likewise
27216 (grub_freebsd_load_elf_meta64): Likewise
27217 (grub_freebsd_add_meta): Likewise
27218 (grub_freebsd_add_meta_module): Likewise
27219 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27220 (grub_freebsd_add_meta_module): Likewise and move module-specific
27221 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27222 (grub_cmd_freebsd): Add elf-kernel specific parts
27223 based on grub_freebsd_add_meta_module
27224 (grub_cmd_freebsd_module): Add type parsing moved from
27225 grub_freebsd_add_meta_module
27226 (grub_cmd_freebsd_module_elf): New function
27227 (cmd_freebsd_module_elf): New variable
27228 (GRUB_MOD_INIT): Register freebsd_module_elf
27229 * loader/i386/bsd32.c: New file
27230 * loader/i386/bsd64.c: Likewise
27231 * loader/i386/bsdXX.c: Likewise
27232 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27233 (grub_elf64_load): Likewise
27234 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27235 All users updated
27236 (grub_elf64_load_hook_t): Likewise
27237
0db15301 272382009-06-21 Colin Watson <cjwatson@ubuntu.com>
27239
27240 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27241 variable.
27242 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27243 don't write a menu entry for recovery mode.
27244
546796c1 272452009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27248 after it's no longer needed.
27249
cd7310d5 272502009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27251
27252 * include/grub/i386/loader.h (grub_linux_prot_size)
27253 (grub_linux_tmp_addr, grub_linux_real_addr)
27254 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27255 GRUB_MACHINE_PCBIOS.
27256 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27257 common grub_util_info() call to ...
27258 (generate_image): ... here.
27259 Fix use of uninitialized memory, comparison of signed with
27260 unsigned integers and memory leak.
27261 Remove bogus module address message.
27262
ab32d3b5 272632009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27264
27265 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27266 grub_raid_register
27267 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27268
024ef597 272692009-06-19 Pavel Roskin <proski@gnu.org>
27270
27271 * configure.ac: Remove stray AC_MSG_CHECKING.
27272
3ac72b51 272732009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27274
27275 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27276
e14cd814 272772009-06-18 Pavel Roskin <proski@gnu.org>
27278
27279 * conf/common.rmk: Add fs_file.mod.
27280 * disk/fs_file.c: New file.
27281 * include/grub/disk.h (enum grub_disk_dev_id): Add
27282 GRUB_DISK_DEVICE_FILE_ID.
27283
26586d98 272842009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27285
27286 Fix build with Apple's toolchain. Part 2
27287
27288 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27289 a fake start
27290
26de2bcd 272912009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 Fix build with Apple's toolchain. Part 1
27294
27295 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27296 for long calls
27297 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27298 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27299 Apple's toolchain
27300
09b3490b 273012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27302
27303 Fix warnings
27304
27305 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27306 (decomp_block): initialize ch
27307 use grub_memcpy instead of memcpy
27308
c22a006a 273092009-06-17 Pavel Roskin <proski@gnu.org>
27310
d3638678 27311 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27312 version, use declarations needed to use vga_text as the startup
27313 console.
27314
c22a006a 27315 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27316 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27317 the kernel.
27318 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27319 and grub_at_keyboard_fini(), it's done on module load and
27320 unload.
27321
05b129e0 273222009-06-17 Felix Zielcke <fzielcke@z-51.de>
27323
27324 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27325 file can't be found.
27326 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27327
cf24ed9e 273282009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 Fix newline handling
27331
27332 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27333 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27334 (grub_script_yylex): don't segfault on unterminated script
27335 newline terminates command and variable
27336
74aa8e4b 273372009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 avoid double grub_adjust_range call. Bug reported by David Simner
27340
27341 * kern/disk.c (grub_disk_write): change to raw disk access before
27342 calling disk_read
27343
1bd265f3 273442009-06-17 Colin Watson <cjwatson@ubuntu.com>
27345
27346 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27347 spaces, for the benefit of help2man.
27348 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27349
a2d08c06 273502009-06-16 Pavel Roskin <proski@gnu.org>
27351
27352 * kern/i386/halt.c: Include grub/machine/init.h.
27353 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27354
b97bcb19 273552009-06-16 Felix Zielcke <fzielcke@z-51.de>
27356
27357 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27358 drivemap menuentry.
27359
0644f96c 273602009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27361
27362 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27363 `echo' command.
27364
3ef17a2e 273652009-06-16 Pavel Roskin <proski@gnu.org>
27366
27367 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27368 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27369 save %dx, we only need %dl and we never change it.
27370 * boot/i386/pc/cdboot.S: Don't set the root drive.
27371 * boot/i386/pc/pxeboot.S: Likewise.
27372 * include/grub/i386/pc/boot.h: Remove
27373 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27374 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27375 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27376 * kern/i386/pc/init.c (make_install_device): Remove references
27377 to grub_root_drive.
27378 * kern/i386/pc/startup.S: Likewise.
27379 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27380
693fe637 273812009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27382
27383 xnu_uuid command
27384
27385 * commands/xnu_uuid.c: new file
27386 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27387 (xnu_uuid_mod_SOURCES): new variable
27388 (xnu_uuid_mod_CFLAGS): likewise
27389 (xnu_uuid_mod_LDFLAGS): likewise
27390 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27391 * conf/i386-ieee1275.rmk: likewise
27392 * conf/i386-pc.rmk: likewise
27393 * conf/powerpc-ieee1275.rmk: likewise
27394 * conf/sparc64-ieee1275.rmk: likewise
27395 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27396
c9da87d0 273972009-06-16 Pavel Roskin <proski@gnu.org>
27398
27399 * configure.ac: Avoid '==' in test command, it's not portable.
27400
9c6f4596 274012009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27402
27403 Probe command
27404
27405 * commands/probe.c: new file
27406 * conf/common.rmk (pkglib_MODULES): add probe.mod
27407 (probe_mod_SOURCES): new variable
27408 (probe_mod_CFLAGS): likewise
27409 (probe_mod_LDFLAGS): likewise
27410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27411 * conf/i386-ieee1275.rmk: likewise
27412 * conf/i386-pc.rmk: likewise
27413 * conf/powerpc-ieee1275.rmk: likewise
27414 * conf/sparc64-ieee1275.rmk: likewise
27415
70b7f9fd 274162009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27417
27418 Fix handling of string like \"hello\" and "a
27419 b"
27420
27421 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27422 (grub_script_yylex): fix parsing of quoting, escaping and newline
27423
71c79a6b 274242009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27425
dd74360c 27426 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27427 handling
dd74360c 27428
0644f96c 274292009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27430
27431 * util/grub-mkconfig.in: Fix parsing of --output option.
27432
e40893c3 274332009-06-12 Pavel Roskin <proski@gnu.org>
27434
27435 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27436 genmk.rb don't need to be generated or installed.
27437
3a1acfe2 274382009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27439
27440 * commands/i386/pc/drivemap_int13h.S: add more comments
27441
3a4575d4 274422009-06-11 Pavel Roskin <proski@gnu.org>
27443
0658e928 27444 * Makefile.in (uninstall): Uninstall manuals.
27445
ca0388f0 27446 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27447 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27448 and update-grub_lib in two places.
27449 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27450
e3b27c39 27451 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27452 a compiler warning.
27453
3a4575d4 27454 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27455 `entry_lo' to fix variable shadowing.
27456
af1f4f55 274572009-06-11 Christian Franke <franke@computer.org>
27458
27459 * kern/misc.c (__enable_execute_stack): Add missing return type
27460 to prevent gcc warning.
27461
5225e649 274622009-06-11 Felix Zielcke <fzielcke@z-51.de>
27463
27464 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27465
7d83bd47 274662009-06-11 Pavel Roskin <proski@gnu.org>
27467
c1cb63ba 27468 * Makefile.in: Don't rely on any scripts being executable.
27469 Always use $(SHELL) to run shell scripts.
27470
7d83bd47 27471 * configure.ac: Always define ___main if using -nostdlib. This
27472 fixes tests on Cygwin.
27473
948f48e7 274742009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27475
27476 UDF fix
27477
7d83bd47 27478 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27479 is in bytes and not in blocks
7d83bd47 27480
8ada9bc1 274812009-06-11 Pavel Roskin <proski@gnu.org>
27482
27483 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27484 warning.
27485
25ad2323 274862009-06-11 Felix Zielcke <fzielcke@z-51.de>
27487
27488 * util/grub.d/30_os-prober.in: Fix a comment. Source
27489 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27490 to set the root device. Place drivemap command in the generated
27491 chain entry.
27492
e65acb0c 274932009-06-11 Pavel Roskin <proski@gnu.org>
27494
27495 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27496 have long been resolved.
27497
f285fe2d 274982009-06-11 Colin Watson <cjwatson@ubuntu.com>
27499
bd47b0b5 27500 * util/grub.d/10_linux.in: Capitalise "Linux".
27501
f285fe2d 27502 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27503
a0c62e4e 275042009-06-11 Pavel Roskin <proski@gnu.org>
27505
b6783cb2 27506 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27507 fix a gcc warning and ensure that the function won't ever exit.
27508
dde032e8 27509 * kern/i386/ieee1275/init.c: Add missing prototype for
27510 grub_stop_floppy().
27511
22cd079d 27512 * loader/ieee1275/multiboot2.c [__i386__]: Include
27513 grub/cpu/multiboot.h.
27514
a0c62e4e 27515 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27516 casts to short - they are not portable and cause warnings. Fix
27517 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27518
63963d17 275192009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27520
27521 Drivemap fixes
27522
27523 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27524 new function
27525 (grub_get_root_biosnumber_saved): new variable
27526 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27527 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27528 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27529 %dx after the call if necessary
27530 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27531 (boot_mod_SOURCES): remove
27532 (boot_mod_CFLAGS): remove
27533 (boot_mod_LDFLAGS): remove
27534 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27535 (boot_mod_SOURCES): new variable
27536 (boot_mod_CFLAGS): likewise
27537 (boot_mod_LDFLAGS): likewise
27538 * conf/i386-efi.rmk: likewise
27539 * conf/i386-ieee1275.rmk: likewise
27540 * conf/i386-pc.rmk: likewise
27541 * conf/powerpc-ieee1275.rmk: likewise
27542 * conf/sparc64-ieee1275.rmk: likewise
27543 * conf/x86_64-efi.rmk: likewise
27544 * include/grub/i386/pc/biosnum.h: new file
27545 * lib/i386/pc/biosnum.c: likewise
27546 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27547 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27548 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27549
33abf7ae 275502009-06-10 Pavel Roskin <proski@gnu.org>
27551
5ac35b35 27552 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27553 Use separate variables. Read only the file size at the end, but
27554 not the checksum that we don't use.
27555
5c5215d5 27556 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27557 Adjust all callers.
27558
27d5fef7 27559 * kern/ieee1275/openfw.c: Remove libc includes.
27560 * kern/ieee1275/cmain.c: Likewise.
27561 * include/grub/ieee1275/ieee1275.h: Likewise.
27562
33abf7ae 27563 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27564 compiler warnings.
27565
19d50c2b 275662009-06-10 Felix Zielcke <fzielcke@z-51.de>
27567
27568 * Makefile.in: Remove all trailing whitespace.
27569 * conf/i386-pc.rmk: Likewise.
27570 * conf/powerpc-ieee1275.rmk: Likewise.
27571 * conf/sparc64-ieee1275.rmk: Likewise.
27572 * docs/grub.texi: Likewise.
27573 * docs/texinfo.tex: Likewise.
27574 * disk/fs_uuid.c: Likewise.
27575 * disk/lvm.c: Likewise.
27576 * disk/scsi.c: Likewise.
27577 * disk/ata.c: Likewise.
27578 * disk/ieee1275/ofdisk.c: Likewise.
27579 * disk/i386/pc/biosdisk.c: Likewise.
27580 * disk/host.c: Likewise.
27581 * disk/raid.c: Likewise.
27582 * disk/efi/efidisk.c: Likewise.
27583 * disk/usbms.c: Likewise.
27584 * disk/memdisk.c: Likewise.
27585 * disk/loopback.c: Likewise.
27586 * kern/powerpc/dl.c: Likewise.
27587 * kern/device.c: Likewise.
27588 * kern/dl.c: Likewise.
27589 * kern/sparc64/dl.c: Likewise.
27590 * kern/ieee1275/ieee1275.c: Likewise.
27591 * kern/term.c: Likewise.
27592 * kern/fs.c: Likewise.
27593 * kern/i386/dl.c: Likewise.
27594 * kern/i386/pc/startup.S: Likewise.
27595 * kern/i386/pc/init.c: Likewise.
27596 * kern/i386/pc/mmap.c: Likewise.
27597 * kern/i386/pc/lzo1x.S: Likewise.
27598 * kern/i386/ieee1275/init.c: Likewise.
27599 * kern/i386/realmode.S: Likewise.
27600 * kern/i386/tsc.c: Likewise.
27601 * kern/partition.c: Likewise.
27602 * kern/corecmd.c: Likewise.
27603 * kern/file.c: Likewise.
27604 * kern/efi/efi.c: Likewise.
27605 * kern/efi/init.c: Likewise.
27606 * kern/efi/mm.c: Likewise.
27607 * kern/main.c: Likewise.
27608 * kern/err.c: Likewise.
27609 * kern/env.c: Likewise.
27610 * kern/disk.c: Likewise.
27611 * kern/generic/millisleep.c: Likewise.
27612 * kern/generic/rtc_get_time_ms.c: Likewise.
27613 * kern/misc.c: Likewise.
27614 * kern/parser.c: Likewise.
27615 * genmk.rb: Likewise.
27616 * configure.ac: Likewise.
27617 * boot/i386/pc/diskboot.S: Likewise.
27618 * boot/i386/pc/pxeboot.S: Likewise.
27619 * boot/i386/pc/boot.S: Likewise.
27620 * boot/i386/pc/lnxboot.S: Likewise.
27621 * boot/i386/pc/cdboot.S: Likewise.
27622 * parttool/pcpart.c: Likewise.
27623 * video/readers/tga.c: Likewise.
27624 * video/video.c: Likewise.
27625 * video/bitmap.c: Likewise.
27626 * lib/envblk.c: Likewise.
27627 * lib/i386/setjmp.S: Likewise.
27628 * fs/xfs.c: Likewise.
27629 * fs/afs.c: Likewise.
27630 * fs/fat.c: Likewise.
27631 * fs/ntfs.c: Likewise.
27632 * fs/udf.c: Likewise.
27633 * fs/affs.c: Likewise.
27634 * fs/iso9660.c: Likewise.
27635 * fs/hfs.c: Likewise.
27636 * fs/fshelp.c: Likewise.
27637 * fs/ext2.c: Likewise.
27638 * fs/jfs.c: Likewise.
27639 * fs/reiserfs.c: Likewise.
27640 * fs/hfsplus.c: Likewise.
27641 * fs/minix.c: Likewise.
27642 * fs/cpio.c: Likewise.
27643 * fs/sfs.c: Likewise.
27644 * fs/ufs.c: Likewise.
27645 * efiemu/prepare.c: Likewise.
27646 * efiemu/loadcore_common.c: Likewise.
27647 * efiemu/runtime/efiemu.sh: Likewise.
27648 * efiemu/runtime/efiemu.S: Likewise.
27649 * efiemu/runtime/efiemu.c: Likewise.
27650 * efiemu/pnvram.c: Likewise.
27651 * efiemu/main.c: Likewise.
27652 * efiemu/i386/pc/cfgtables.c: Likewise.
27653 * efiemu/i386/loadcore64.c: Likewise.
27654 * efiemu/i386/loadcore32.c: Likewise.
27655 * efiemu/loadcore.c: Likewise.
27656 * efiemu/symbols.c: Likewise.
27657 * efiemu/mm.c: Likewise.
27658 * include/grub/autoefi.h: Likewise.
27659 * include/grub/datetime.h: Likewise.
27660 * include/grub/term.h: Likewise.
27661 * include/grub/hfs.h: Likewise.
27662 * include/grub/lvm.h: Likewise.
27663 * include/grub/i386/tsc.h: Likewise.
27664 * include/grub/i386/linux.h: Likewise.
27665 * include/grub/i386/xnu.h: Likewise.
27666 * include/grub/i386/efiemu.h: Likewise.
27667 * include/grub/i386/pc/biosdisk.h: Likewise.
27668 * include/grub/i386/pc/memory.h: Likewise.
27669 * include/grub/i386/pc/vbe.h: Likewise.
27670 * include/grub/parttool.h: Likewise.
27671 * include/grub/video.h: Likewise.
27672 * include/grub/memory.h: Likewise.
27673 * include/grub/fs.h: Likewise.
27674 * include/grub/partition.h: Likewise.
27675 * include/grub/xnu.h: Likewise.
27676 * include/grub/efi/api.h: Likewise.
27677 * include/grub/efi/pe32.h: Likewise.
27678 * include/grub/efi/memory.h: Likewise.
27679 * include/grub/multiboot.h: Likewise.
27680 * include/grub/usbdesc.h: Likewise.
27681 * include/grub/multiboot2.h: Likewise.
27682 * include/grub/acpi.h: Likewise.
27683 * include/grub/efiemu/efiemu.h: Likewise.
27684 * include/grub/disk.h: Likewise.
27685 * include/grub/ieee1275/ieee1275.h: Likewise.
27686 * include/grub/net.h: Likewise.
27687 * include/grub/machoload.h: Likewise.
27688 * include/grub/macho.h: Likewise.
27689 * include/multiboot.h: Likewise.
27690 * genmoddep.awk: Likewise.
27691 * normal/main.c: Likewise.
27692 * normal/menu_entry.c: Likewise.
27693 * normal/menu_viewer.c: Likewise.
27694 * normal/completion.c: Likewise.
27695 * normal/cmdline.c: Likewise.
27696 * normal/misc.c: Likewise.
27697 * normal/datetime.c: Likewise.
27698 * bus/usb/usbtrans.c: Likewise.
27699 * bus/usb/ohci.c: Likewise.
27700 * bus/usb/uhci.c: Likewise.
27701 * bus/usb/usb.c: Likewise.
27702 * mmap/efi/mmap.c: Likewise.
27703 * mmap/i386/pc/mmap_helper.S: Likewise.
27704 * mmap/i386/pc/mmap.c: Likewise.
27705 * mmap/i386/mmap.c: Likewise.
27706 * mmap/i386/uppermem.c: Likewise.
27707 * mmap/mmap.c: Likewise.
27708 * commands/acpi.c: Likewise.
27709 * commands/echo.c: Likewise.
27710 * commands/blocklist.c: Likewise.
27711 * commands/loadenv.c: Likewise.
27712 * commands/usbtest.c: Likewise.
27713 * commands/boot.c: Likewise.
27714 * commands/parttool.c: Likewise.
27715 * commands/search.c: Likewise.
27716 * commands/cat.c: Likewise.
27717 * commands/i386/pc/play.c: Likewise.
27718 * commands/i386/pc/drivemap.c: Likewise.
27719 * commands/i386/pc/vbeinfo.c: Likewise.
27720 * commands/i386/pc/acpi.c: Likewise.
27721 * commands/i386/pc/vbetest.c: Likewise.
27722 * commands/ls.c: Likewise.
27723 * commands/cmp.c: Likewise.
27724 * commands/test.c: Likewise.
27725 * commands/efi/acpi.c: Likewise.
27726 * commands/gptsync.c: Likewise.
27727 * commands/help.c: Likewise.
27728 * partmap/amiga.c: Likewise.
27729 * partmap/apple.c: Likewise.
27730 * partmap/acorn.c: Likewise.
27731 * partmap/pc.c: Likewise.
27732 * partmap/sun.c: Likewise.
27733 * partmap/gpt.c: Likewise.
27734 * script/sh/lexer.c: Likewise.
27735 * script/sh/function.c: Likewise.
27736 * font/font.c: Likewise.
27737 * font/font_cmd.c: Likewise.
27738 * loader/powerpc/ieee1275/linux.c: Likewise.
27739 * loader/efi/chainloader.c: Likewise.
27740 * loader/multiboot_loader.c: Likewise.
27741 * loader/macho.c: Likewise.
27742 * loader/i386/multiboot.c: Likewise.
27743 * loader/i386/linux.c: Likewise.
27744 * loader/i386/pc/linux.c: Likewise.
27745 * loader/i386/pc/multiboot2.c: Likewise.
27746 * loader/i386/pc/chainloader.c: Likewise.
27747 * loader/i386/pc/xnu.c: Likewise.
27748 * loader/i386/bsd_trampoline.S: Likewise.
27749 * loader/i386/efi/linux.c: Likewise.
27750 * loader/i386/multiboot_elfxx.c: Likewise.
27751 * loader/i386/bsd_helper.S: Likewise.
27752 * loader/i386/bsd.c: Likewise.
27753 * loader/i386/linux_trampoline.S: Likewise.
27754 * loader/i386/xnu_helper.S: Likewise.
27755 * loader/i386/xnu.c: Likewise.
27756 * loader/i386/bsd_pagetable.c: Likewise.
27757 * loader/i386/multiboot_helper.S: Likewise.
27758 * loader/xnu.c: Likewise.
27759 * loader/xnu_resume.c: Likewise.
27760 * io/gzio.c: Likewise.
27761 * term/efi/console.c: Likewise.
27762 * term/terminfo.c: Likewise.
27763 * term/ieee1275/ofconsole.c: Likewise.
27764 * term/i386/pc/serial.c: Likewise.
27765 * term/i386/pc/vesafb.c: Likewise.
27766 * term/i386/pc/vga.c: Likewise.
27767 * term/usb_keyboard.c: Likewise.
27768 * term/gfxterm.c: Likewise.
27769 * aclocal.m4: Likewise.
27770 * util/lvm.c: Likewise.
27771 * util/grub.d/30_os-prober.in: Likewise.
27772 * util/grub.d/10_hurd.in: Likewise.
27773 * util/console.c: Likewise.
27774 * util/grub-macho2img.c: Likewise.
27775 * util/grub-probe.c: Likewise.
27776 * util/hostfs.c: Likewise.
27777 * util/i386/pc/grub-mkimage.c: Likewise.
27778 * util/i386/pc/grub-setup.c: Likewise.
27779 * util/i386/efi/grub-mkimage.c: Likewise.
27780 * util/grub-mkconfig.in: Likewise.
27781 * util/raid.c: Likewise.
27782 * util/resolve.c: Likewise.
27783 * util/grub-mkdevicemap.c: Likewise.
27784 * util/grub-emu.c: Likewise.
27785 * util/getroot.c: Likewise.
27786 * util/hostdisk.c: Likewise.
27787 * util/usb.c: Likewise.
27788 * util/grub-editenv.c: Likewise.
27789 * util/misc.c: Likewise.
27790
d2d49665 277912009-06-10 Felix Zielcke <fzielcke@z-51.de>
27792
27793 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27794 `genparttoollist.sh'.
27795 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27796 Add `*.sh' to the list find searches for and change `mdate.sh'
27797 to `mdate-sh'.
27798
fe052e37 277992009-06-10 Pavel Roskin <proski@gnu.org>
27800
2763ac18 27801 * include/grub/multiboot2.h: Provide compatibility defines for
27802 multiboot2.h.
27803 * include/multiboot2.h: Include stdint.h only if needed, using
27804 angle brackets.
27805 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27806 grub/multiboot2.h.
27807 * loader/ieee1275/multiboot2.c: Likewise.
27808 * loader/multiboot2.c: Likewise.
27809 * loader/multiboot_loader.c: Likewise.
27810
437e6adc 27811 * configure.ac: Use -nostdlib when probing for the target. It
27812 should not be required to have libc for the target.
27813
06a6836c 27814 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27815 they fail without libc headers for the target.
27816 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27817 exports.
27818 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27819 preprocessor conditionals.
27820
fe052e37 27821 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27822 build system doesn't need to be aware of the tar.c internals.
27823
afd22553 278242009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27825
afd22553 27826 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27827
6b787c4f 278282009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27829
27830 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27831 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27832
278332009-06-09 Felix Zielcke <fzielcke@z-51.de>
27834
27835 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27836 aren't available if ata.mod gets used.
6b787c4f 27837
473d1e45 278382009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27839
473d1e45 27840 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27841 initialising controller.
473d1e45 27842 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27843
255a27d4 278442009-06-08 Felix Zielcke <fzielcke@z-51.de>
27845
27846 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27847 to choose between ata and biosdisk module on i386-pc.
27848
473d1e45 278492009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27850
d55842d8 27851 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27852 Subclass and Programming Interface fields in terms of the 3 byte
27853 Class Code register.
27854 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27855
fa5db0b1 27856 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27857 interface is OHCI. Add grub_dprintf for symmetry with
27858 bus/usb/uhci.c.
27859 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27860 interface is UHCI. Add interf variable for programming
27861 interface. Print interface with class/subclass.
27862
c0947beb 27863 * bus/usb/ohci.c: Set interf with correct field.
27864
69da8877 27865 * bus/usb/uhci.c: Remove unneeded doubled lines.
27866 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27867 Remove whitespace inside comment.
27868
9e172e30 278692009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27870
27871 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27872 as fallback an equivalent option without depth.
27873
de65ee2b 278742009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 Not fail if unable to retrieve C/H/S on LBA disks
27877
473d1e45 27878 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27879 if unable to retrieve C/H/S on LBA disks
27880
b57ea2c9 278812009-06-08 Pavel Roskin <proski@gnu.org>
27882
27883 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27884 about aliasing.
27885
af361263 278862009-06-08 Felix Zielcke <fzielcke@z-51.de>
27887
27888 * Makefile.in (uninstall): Remove all $lib_DATA files.
27889
4c9ec6b3 278902009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27891
27892 Bugfix: install on partitionless device
27893
27894 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27895 is a whole disk
27896
e76fc924 278972009-06-08 Felix Zielcke <fzielcke@z-51.de>
27898
27899 * Makefile.in (uninstall): Remove all $include_DATA files.
27900
ba5a0d05 279012009-06-08 Felix Zielcke <fzielcke@z-51.de>
27902
27903 * commands/true.c: New file. Implement the true and false commands.
27904 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27905 (true_mod_SOURCES): New variable.
27906 (true_mod_CFLAGS): Likewise.
27907 (true_mod_LDFLAGS): Likewise.
27908
c8048e32 279092009-06-05 Colin D Bennett <colin@gibibit.com>
27910
27911 Optimized font character lookup using binary search instead of linear
27912 search. Fonts now are required to have the character index ordered by
27913 code point.
27914
27915 * font/font.c (load_font_index): Verify that fonts have ordered
27916 character indices.
27917 (find_glyph): Use binary search instead of linear search to find a
27918 character in a font.
27919
408305be 279202009-06-05 Michael Scherer <misc@mandriva.org>
27921
27922 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27923 uses case sensitive btree.
27924 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27925 only for case insensitive filesystems.
27926
8ee1e0d9 279272009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27930 * conf/common.rmk (search_mod_CFLAGS): likewise
27931
a9966eb1 279322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27933
473d1e45 27934 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27935 compensate a compiler bug
27936
9e7100fb 279372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27938
473d1e45 27939 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27940 instead of '\b'
473d1e45 27941
ede21d71 279422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 Definitions for creating asm symbols with Apple's CC
27945
27946 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27947 [APPLE_CC] (VARIABLE): likewise
27948
9dbf7653 279492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 Disable lnxboot.img when compiled
27952 with Apple's CC
27953
27954 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27955 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27956 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27957 [! APPLE_CC] (CODE_LENG): skip
27958 [! APPLE_CC] (setup_sects): likewise
27959 [! APPLE_CC]: skip filling
473d1e45 27960
e93cdc3d 279612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27962
27963 Address in trampolines based on 32-bit registers when compiled
27964 with Apple's CC
27965
473d1e45 27966 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27967 for addresses
27968 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27969
6c688477 279702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27973
27974 * kern/misc.c [APPLE_CC] (memcpy): new function
27975 [APPLE_CC] (memmove): likewise
27976 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27977 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27978 (memset): likewise
27979 (abort): likewise
27980 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27981 APPLE_CC are defined
27982 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27983 (grub_assert_fail): make prototype conditional
27984
e37ffc5c 279852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27988
473d1e45 27989 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27990 grub-macho2img
e37ffc5c 27991 (CLEANFILES): add grub-macho2img
27992 (grub_macho2img_SOURCES): new variable
27993 * kern/i386/pc/startup.S (bss_start): new variable
27994 (bss_end): likewise
27995 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27996 * util/grub-macho2img.c: new file
27997
cf00df31 279982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 Use objconv when compiling with Apple's CC
28001
28002 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28003 (efiemu64.o): likewise
28004 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28005 when compiling with Apple's CC
28006 (efiemu64_s.o): likewise
28007 * configure.ac: check for objconv when compiling with Apple's CC
28008 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28009
d119a20c 280102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 Define segment as well as section when compiling with
28013 Apple's CC
28014
28015 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28016 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28017 (efiemu_convert_pointer): likewise
28018 (efiemu_set_virtual_address_map): likewise
28019 (efiemu_convert_pointer): likewise
28020 (efiemu_getcrc32): likewise
28021 (init_crc32_table): likewise
28022 (reflect): likewise
28023 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28024 (GRUB_MOD_DEP): likewise
473d1e45 28025
c8600122 280262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28027
28028 Allow a compilation without -mcmodel=large
28029
28030 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28031 when compiled without -mcmodel=large
473d1e45 28032 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28033 without -mcmodel=large
473d1e45 28034 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28035 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28036
e8df1d4e 280372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28038
28039 Remove nested functions in efiemu core
28040
28041 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28042
cc6c3ac1 280432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28046
28047 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28048 temporary storage
473d1e45 28049 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28050 using Apple's CC
cc6c3ac1 28051 (grub_cpu_is_tsc_supported): likewise
28052 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28053
3e325901 280542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28055
28056 Absolute addressing through constant with Apple's cc
28057
28058 * kern/i386/pc/startup.S: Define necessary constants
28059 and address through it when using ABS with Apple's CC
28060 * boot/i386/pc/diskboot.S: likewise
28061 * boot/i386/pc/boot.S: likewise
28062 * boot/i386/pc/lnxboot.S: likewise
28063 * boot/i386/pc/cdboot.S: likewise
28064 * mmap/i386/pc/mmap_helper.S: likewise
28065 * commands/i386/pc/drivemap_int13h.S: likewise
28066
2b167a72 280672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28068
28069 Check if compiler is apple cc
28070
28071 * Makefile.in (ASFLAGS): new variable
28072 (TARGET_ASFLAGS): likewise
28073 (TARGET_MODULE_FORMAT): likewise
28074 (TARGET_APPLE_CC): likewise
28075 (OBJCONV): likewise
28076 (TARGET_IMG_CFLAGS): likewise
28077 (TARGET_CPPFLAGS): add includedir
28078 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28079 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28080 Check for linker script only if compiler isn't Apple's CC
28081 (TARGET_MODULE_FORMAT): set
28082 (TARGET_APPLE_CC): likewise
28083 (TARGET_ASFLAGS): likewise
28084 (ASFLAGS): likewise
28085 Check for objcopy only if compiler isn't Apple's CC
28086 Check for BSS symbol only if compiler isn't Apple's CC
28087 * genmk.rb: adapt nm options if we use Apple's utils
28088 * aclocal.m4 (grub_apple_cc): new test
28089 (grub_apple_target_cc): likewise
473d1e45 28090
fb14123e 280912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28092
28093 Simplify sed expressions and improve awk
28094
28095 * Makefile.in (install-local): simplify sed expression
28096 * gencmdlist.sh: likewise
28097 * genmoddep.awk: avoid adding module as a dependency of itself
28098
5b889789 280992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 Add missing start symbols
28102
28103 * boot/i386/pc/boot.S: add start
fb14123e 28104 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28105
fd2bf2e3 281062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28107
28108 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28109
28110 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28111 (relocate_addresses): consider both r_addend and value at offset
28112 (make_mods_section): zerofill modinfo and header
28113 (convert_elf): write prefix here
473d1e45 28114
5389763d 281152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 Use .asciz instead of .string
28118
28119 * i386/pc/diskboot.S: use .asciz instead of .string
28120 * i386/pc/boot.S: likewise
28121 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28122 (GRUB_MOD_NAME): likewise
473d1e45 28123
3eb5ed4e 281242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28125
28126 gfxpayload support
28127
28128 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28129 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28130 (grub_video_setup): remove
28131 (grub_video_set_mode): new prototype
28132 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28133 (vid_mode): remove
28134 (linux_vesafb_res): compile only on PCBIOS
28135 (grub_linux_boot): support gfxpayload
28136 * loader/i386/pc/xnu.c (video_hook): new function
28137 (grub_xnu_set_video): support gfxpayload
28138 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28139 (DEFAULT_VIDEO_HEIGHT): likewise
28140 (DEFAULT_VIDEO_FLAGS): likewise
28141 (DEFAULT_VIDEO_MODE): new definition
28142 (video_hook): new function
28143 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28144 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28145 loading xnu
28146 * video/video.c (grub_video_setup): removed
473d1e45 28147 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28148 grub_video_setup
28149
4b0e1143 281502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28151
28152 Avoid calling biosdisk in drivemap
28153
28154 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28155 (revparse_biosdisk): likewise
28156 (list_mappings): derive name from id directly
28157 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28158
fda6cb98 281592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 Script fixes
28162
28163 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28164 (grub_lexer_param): add tokenonhold
28165 (grub_script_create_cmdline): remove cmdline. All callers updated
28166 (grub_script_function_create): make functionname
28167 grub_script_arg. All callers updated
28168 (grub_script_execute_argument_to_string): new prototype
28169 * kern/parser.c (state_transitions): reorder
28170 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28171 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28172 make global
28173 (grub_script_execute_cmdline): use new format
28174 * script/sh/function.c (grub_script_function_create): make functionname
28175 grub_script_arg. All callers updated
473d1e45 28176 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28177 (grub_script_yylex): remove
28178 (grub_script_yylex2): renamed to ...
28179 (grub_script_yylex): ...renamed
28180 parse the expressions like a${b}c
28181 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28182 (GRUB_PARSER_TOKEN_VAR): remove
28183 (GRUB_PARSER_TOKEN_NAME): likewise
28184 ("if"): declare as typeless
28185 ("while"): likewise
28186 ("function"): likewise
28187 ("else"): likewise
28188 ("then"): likewise
28189 ("fi"): likewise
28190 (text): remove
28191 (argument): likewise
28192 (script): accept empty scripts and make exit on error
28193 (arguments): use GRUB_PARSER_TOKEN_ARG
28194 (function): likewise
28195 (command): move error handling to script
28196 (menuentry): move grub_script_lexer_ref before
473d1e45 28197 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28198 argument. All callers updated
28199
f4448a07 282002009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 Prevent GRUB from probing floppies during boot.
28203
28204 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28205 * commands/search.c (options): Add --no-floppy.
28206 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28207 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28208 --no-floppy when searching for UUIDs.
28209
2bf5885a 282102009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28211
28212 Simplify the code duplication in commands/search.c.
28213
28214 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28215 (search_fs): ... this. Update all users.
28216
f6fd460a 282172009-06-03 Felix Zielcke <fzielcke@z-51.de>
28218
28219 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28220
cbb3c83e 282212009-05-28 Pavel Roskin <proski@gnu.org>
28222
57788cfd 28223 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28224 Remove the original symlink explicitly.
28225
cbb3c83e 28226 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28227 just one slash. That's how grub_fshelp_find_file() does it.
28228
cd0d5e30 282292009-05-26 Pavel Roskin <proski@gnu.org>
28230
f0f8bbe2 28231 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28232 to `str'.
28233
cd0d5e30 28234 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28235 possibly unused.
28236
8c2cab51 282372009-05-25 Christian Franke <franke@computer.org>
28238
28239 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28240 register.
28241 (grub_atapi_identify): Add wait after drive select.
28242 (grub_ata_identify): Do more strict status register check before
28243 calling grub_atapi_identify (). Suppress error message if status
28244 register is 0x00 after command failure. Add status register
28245 check after PIO read to avoid bogus identify due to stuck DRQ.
28246 Thanks to Pavel Roskin for testing.
28247 (grub_device_initialize): Remove unsafe status register check.
28248 Thanks to 'phcoder' for problem report and patch.
28249 Prevent sign extension in debug message.
28250
230c0ad6 282512009-05-23 Colin D Bennett <colin@gibibit.com>
28252
28253 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28254 definition file, and functions defined in `normal/menu.c' have had
28255 their prototypes moved to `include/grub/menu.h' for consistency.
28256
28257 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28258 from normal.h.
28259 (grub_menu_get_entry): Likewise.
28260 (grub_menu_get_timeout): Likewise.
28261 (grub_menu_set_timeout): Likewise.
28262 (grub_menu_execute_entry): Likewise.
28263 (grub_menu_execute_with_fallback): Likewise.
28264 (grub_menu_entry_run): Likewise.
28265
28266 * include/grub/normal.h: Re-ordered and grouped function
28267 prototypes by file that the function is defined in.
28268 (grub_menu_execute_callback): Removed; moved to menu.h.
28269 (grub_menu_get_entry): Likewise.
28270 (grub_menu_get_timeout): Likewise.
28271 (grub_menu_set_timeout): Likewise.
28272 (grub_menu_execute_entry): Likewise.
28273 (grub_menu_execute_with_fallback): Likewise.
28274 (grub_menu_entry_run): Likewise.
28275 (grub_menu_addentry): Renamed from this ...
28276 (grub_normal_add_menu_entry): ... to this.
28277
28278 * normal/main.c (grub_menu_addentry): Renamed from this ...
28279 (grub_normal_add_menu_entry): ... to this.
28280
28281 * script/sh/execute.c (grub_script_execute_menuentry): Update
28282 reference to renamed grub_menu_addentry function.
28283
861f03a5 282842009-05-23 Felix Zielcke <fzielcke@z-51.de>
28285
28286 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28287
96b1619a 282882009-05-22 Pavel Roskin <proski@gnu.org>
28289
bf6a5fb2 28290 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28291 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28292 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28293 compiling for the i386 targets, but not for the utilities.
28294
96b1619a 28295 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28296 to grub_uint8_t.
28297 (grub_root_drive): Likewise.
28298 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28299 remove alignment.
28300 (grub_root_drive): Change size to byte.
28301 (grub_start_addr): Remove.
28302 (grub_end_addr): Likewise.
28303 (grub_apm_bios_info): Likewise.
28304
b729776b 283052009-05-21 Felix Zielcke <fzielcke@z-51.de>
28306
28307 * normal/i386: Remove.
28308 * normal/powerpc: Likewise.
28309 * normal/sparc64: Likewise.
28310 * normal/x86_64: Likewise.
28311
0a15ce80 283122009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28315 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28316 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28317
33db9015 283182009-05-18 Colin D Bennett <colin@gibibit.com>
28319
d6da58e6 28320 Display error messages when parsing a Lua statement fails.
28321 Previously, executing a syntactically invalid statement like
28322 ")foo" or "bar;" would silently fail.
33db9015 28323
28324 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28325 (grub_lua_parse_line): Improved reporting of Lua parser and
28326 execution errors.
33db9015 28327
46422c89 283282009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 Remove -Werror which causes build to fail on some systems
28331
28332 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28333 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28334 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28335
22f53a96 283362009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 trampoline for linux on 64-bit platform
28339
18f547ad 28340 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28341 loader/i386/efi/linux_trampoline.S
28342 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28343 declaration
d6da58e6 28344 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28345 here
22f53a96 28346 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28347 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28348 trampoline
22f53a96 28349 (jumpvector): removed
28350 (grub_linux_trampoline_start): new declaration
28351 (grub_linux_trampoline_end): likewise
28352 (grub_linux_boot): use trampoline when on 64-bit platform
28353 * loader/i386/linux.c: likewise
28354
cb5a0f40 283552009-05-16 Pavel Roskin <proski@gnu.org>
28356
28357 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28358 const to avoid a warning.
28359 (grub_lua_setenv): Likewise.
28360 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28361 lmsg to fix a warning.
28362
334f2c28 283632009-05-16 Felix Zielcke <fzielcke@z-51.de>
28364
28365 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28366 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28367 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28368 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28369 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28370 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28371 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28372 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28373
59e5d3ec 283742009-05-16 Felix Zielcke <fzielcke@z-51.de>
28375
28376 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28377
9d87a1ba 283782009-05-16 Bean <bean123ch@gmail.com>
28379
28380 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28381 (lua_mod_SOURCES): New variable.
28382 (lua_mod_CFLAGS): Likewise.
28383 (lua_mod_LDFLAGS): Likewise.
28384
28385 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28386 (setjmp_mod_SOURCES): New variable.
28387 (setjmp_mod_CFLAGS): Likewise.
28388 (setjmp_LDFLAGS): Likewise.
28389
28390 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28391 (setjmp_mod_SOURCES): New variable.
28392 (setjmp_mod_CFLAGS): Likewise.
28393 (setjmp_LDFLAGS): Likewise.
28394
28395 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28396 (setjmp_mod_SOURCES): New variable.
28397 (setjmp_mod_CFLAGS): Likewise.
28398 (setjmp_LDFLAGS): Likewise.
28399
28400 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28401 (setjmp_mod_SOURCES): New variable.
28402 (setjmp_mod_CFLAGS): Likewise.
28403 (setjmp_LDFLAGS): Likewise.
28404
28405 * normal/i386/setjmp.S: Moved from here ...
28406 * lib/i386/setjmp.S: ... Moved here
28407 * normal/x86_64/setjmp.S: Moved from here ...
28408 * lib/x86_64/setjmp.S: ... Moved here
28409 * normal/powerpc/setjmp.S: Moved from here ...
28410 * lib/powerpc/setjmp.S: ... Moved here
28411 * normal/sparc64/setjmp.S: Moved from here ...
28412 * lib/sparc64/setjmp.S: ... Moved here
28413
28414 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28415 returns_twice in mingw.
28416
28417 * script/lua/grub_lib.c: New file.
28418 * script/lua/grub_lib.h: Likewise.
28419 * script/lua/grub_lua.h: Likewise.
28420 * script/lua/grub_main.c: Likewise.
28421 * script/lua/lapi.c: Likewise.
28422 * script/lua/lapi.h: Likewise.
28423 * script/lua/lauxlib.c: Likewise.
28424 * script/lua/lauxlib.h: Likewise.
28425 * script/lua/lbaselib.c: Likewise.
28426 * script/lua/lcode.c: Likewise.
28427 * script/lua/lcode.h: Likewise.
28428 * script/lua/ldblib.c: Likewise.
28429 * script/lua/ldebug.c: Likewise.
28430 * script/lua/ldebug.h: Likewise.
28431 * script/lua/ldo.c: Likewise.
28432 * script/lua/ldo.h: Likewise.
28433 * script/lua/ldump.c: Likewise.
28434 * script/lua/lfunc.c: Likewise.
28435 * script/lua/lfunc.h: Likewise.
28436 * script/lua/lgc.c: Likewise.
28437 * script/lua/lgc.h: Likewise.
28438 * script/lua/linit.c: Likewise.
28439 * script/lua/liolib.c: Likewise.
28440 * script/lua/llex.c: Likewise.
28441 * script/lua/llex.h: Likewise.
28442 * script/lua/llimits.h: Likewise.
28443 * script/lua/lmathlib.c: Likewise.
28444 * script/lua/lmem.c: Likewise.
28445 * script/lua/lmem.h: Likewise.
28446 * script/lua/loadlib.c: Likewise.
28447 * script/lua/lobject.c: Likewise.
28448 * script/lua/lobject.h: Likewise.
28449 * script/lua/lopcodes.c: Likewise.
28450 * script/lua/lopcodes.h: Likewise.
28451 * script/lua/loslib.c: Likewise.
28452 * script/lua/lparser.c: Likewise.
28453 * script/lua/lparser.h: Likewise.
28454 * script/lua/lstate.c: Likewise.
28455 * script/lua/lstate.h: Likewise.
28456 * script/lua/lstring.c: Likewise.
28457 * script/lua/lstring.h: Likewise.
28458 * script/lua/lstrlib.c: Likewise.
28459 * script/lua/ltable.c: Likewise.
28460 * script/lua/ltable.h: Likewise.
28461 * script/lua/ltablib.c: Likewise.
28462 * script/lua/ltm.c: Likewise.
28463 * script/lua/ltm.h: Likewise.
28464 * script/lua/lua.h: Likewise.
28465 * script/lua/luaconf.h: Likewise.
28466 * script/lua/lualib.h: Likewise.
28467 * script/lua/lundump.c: Likewise.
28468 * script/lua/lundump.h: Likewise.
28469 * script/lua/lvm.c: Likewise.
28470 * script/lua/lvm.h: Likewise.
28471 * script/lua/lzio.c: Likewise.
28472 * script/lua/lzio.h: Likewise.
28473
5e898c9d 284742009-05-16 Bean <bean123ch@gmail.com>
28475
28476 * include/grub/kernel.h (grub_module_header_types): Add type
28477 OBJ_TYPE_CONFIG.
28478
28479 * kern/main.c (grub_load_config): New function.
28480 (grub_main): Call grub_load_config to read boot config.
28481
28482 * grub-mkimage (generate_image): New parameter config_path.
28483 (options): New option --config.
28484 (main): Parse --config option, and pass it to generate_image.
28485
cf353a47 284862009-05-14 Christian Franke <franke@computer.org>
28487
28488 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28489 This fixes build on Cygwin.
28490
3834887f 284912009-05-14 Pavel Roskin <proski@gnu.org>
28492
28493 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28494 jump. This saves two bytes, so the typical case of 2 swapped
28495 drives would fit 32 bytes.
28496
8090fc01 284972009-05-13 Pavel Roskin <proski@gnu.org>
28498
ac963883 28499 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28500 grub_uint32_t to avoid a warning.
28501
8090fc01 28502 * loader/i386/linux.c (allocate_pages): When assigning
28503 real_mode_mem, cast through grub_size_t to fix a warning. The
28504 code already makes sure that the value would fit a pointer.
28505 (grub_linux_setup_video): Cast render_target->data to
28506 grub_size_t to fix a warning.
28507
18f547ad 285082009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28509
28510 * commands/i386/pc/drivemap.c: New file - implement drivemap
28511 command.
28512 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28513 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28514
6f6a8b28 285152009-05-13 Pavel Roskin <proski@gnu.org>
28516
28517 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28518 embedding_area_exists.
28519
15fbf4c4 285202009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28521
28522 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28523 it easier to understand / work with.
59978c8a 28524 Improve warning messages for cases where there's no embedding area,
28525 or when it is too small (or core.img too large).
15fbf4c4 28526
238e871f 285272009-05-13 Pavel Roskin <proski@gnu.org>
28528
0ab3a9a4 28529 * loader/i386/pc/multiboot2.c: Add necessary includes for
28530 grub_multiboot2_real_boot().
28531
a2c8c5f8 28532 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28533 PX record is always little-endian. We only need the lower 2
28534 bytes of the mode.
28535
faec96af 28536 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28537 facilitate code reuse.
28538 (grub_cpio_mount): Use "struct head", not a char buffer. This
28539 fixes a warning reported by gcc 4.4.
28540
238e871f 28541 * kernel/disk.c (grub_disk_read): Use void pointer for the
28542 buffer.
28543 (grub_disk_write): Use const void pointer for the buffer.
28544 Adjust all callers. Remove unnecessary casts.
28545
901d2f0c 285462009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28547
28548 * util/i386/pc/grub-install.in: Update copyright year.
28549
18f547ad 285502009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28551
28552 gptsync
28553
28554 * commands/gptsync.c: new file
28555 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28556 (gptsync_mod_SOURCES): new variable
28557 (gptsync_mod_CFLAGS): likewise
28558 (gptsync_mod_LDFLAGS): likewise
18f547ad 28559 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28560 new definition
28561 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28563 * conf/i386-ieee1275.rmk: likewise
28564 * conf/i386-pc.rmk: likewise
28565 * conf/powerpc-ieee1275.rmk: likewise
28566
b4ba690a 285672009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28568
28569 Fixed grub-emu
28570
28571 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28572 (grub_dl_ref): likewise
28573
317e1a44 285742009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28575
28576 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28577 split in two functions (one for msdos and one for gpt).
28578
041b8094 285792009-05-08 Pavel Roskin <proski@gnu.org>
28580
752473c2 28581 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28582 not modified.
28583
041b8094 28584 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28585 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28586 Initialize them with -1. Add sanity check for bad1. Eliminate
28587 nerr variable.
28588
172800ce 285892009-05-08 David S. Miller <davem@davemloft.net>
28590
28591 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28592
29aa5e81 285932009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28594
28595 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28596 existence.
29aa5e81 28597
96613b62 285982009-05-05 Felix Zielcke <fzielcke@z-51.de>
28599
28600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28601 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28602
eef73c8a 286032009-05-05 David S. Miller <davem@davemloft.net>
28604
28605 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28606
119494b5 286072009-05-05 Pavel Roskin <proski@gnu.org>
28608
28609 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28610 of grub_dl_ref() and grub_dl_unref().
28611 * commands/parttool.c: Remove preprocessor conditionals around
28612 grub_dl_ref() and grub_dl_unref().
28613 * fs/affs.c: Likewise.
28614 * fs/afs.c: Likewise.
28615 * fs/cpio.c: Likewise.
28616 * fs/ext2.c: Likewise.
28617 * fs/fat.c: Likewise.
28618 * fs/hfs.c: Likewise.
28619 * fs/hfsplus.c: Likewise.
28620 * fs/iso9660.c: Likewise.
28621 * fs/jfs.c: Likewise.
28622 * fs/minix.c: Likewise.
28623 * fs/ntfs.c: Likewise.
28624 * fs/reiserfs.c: Likewise.
28625 * fs/sfs.c: Likewise.
28626 * fs/udf.c: Likewise.
28627 * fs/ufs.c: Likewise.
28628 * fs/xfs.c: Likewise.
28629 * include/grub/dl.h: Likewise.
28630 * loader/xnu.c: Likewise.
28631
de5fd76e 286322009-05-04 Pavel Roskin <proski@gnu.org>
28633
28634 * commands/acpi.c: Remove unused variable my_mod.
28635 * partmap/amiga.c: Likewise.
28636 * partmap/apple.c: Likewise.
28637 * partmap/gpt.c: Likewise.
28638 * partmap/pc.c: Likewise.
28639 * partmap/sun.c: Likewise.
28640 * term/gfxterm.c: Likewise.
28641 * term/i386/pc/vesafb.c: Likewise.
28642 * term/i386/pc/vga.c: Likewise.
28643
983598ad 286442009-05-04 David S. Miller <davem@davemloft.net>
28645
28646 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28647 pointer args to grub_ieee1275_get_property().
28648
8aadec43 28649 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28650
9554b15e 28651 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28652 devices, and do not traverse down under controller nodes.
28653
67e23c90 28654 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28655 (grub_ofdisk_open): Use it to un-escape "," characters.
28656 * kern/disk.c (find_part_sep): New.
28657 (grub_disk_open): Use it to find the first non-escaped ','
28658 character in the disk name.
28659 * util/ieee1275/devicemap.c (escape_of_path): New.
28660 (grub_util_emit_devicemap_entry): Use it.
28661 * util/sparc64/ieee1275/grub-install.in: Update script to
28662 strip partition specifiers properly by not triggering on
28663 '\' escaped ',' characters.
28664
74bfdd2f 286652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28666
28667 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28668 to 0x300.
28669 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28670 resolutions.
28671 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28672 on documentation from Wikipedia).
28673
4241d2b1 286742009-05-04 Pavel Roskin <proski@gnu.org>
28675
28676 * disk/ata.c: Spelling fixes.
28677 * disk/raid.c: Likewise.
28678 * disk/usbms.c: Likewise.
28679 * disk/dmraid_nvidia.c: Likewise.
28680 * kern/ieee1275/openfw.c: Likewise.
28681 * kern/ieee1275/init.c: Likewise.
28682 * kern/ieee1275/cmain.c: Likewise.
28683 * boot/i386/pc/cdboot.S: Likewise.
28684 * video/readers/png.c: Likewise.
28685 * video/i386/pc/vbe.c: Likewise.
28686 * fs/udf.c: Likewise.
28687 * fs/hfs.c: Likewise.
28688 * fs/reiserfs.c: Likewise.
28689 * efiemu/runtime/efiemu.c: Likewise.
28690 * efiemu/main.c: Likewise.
28691 * efiemu/mm.c: Likewise.
28692 * include/grub/elf.h: Likewise.
28693 * include/grub/xnu.h: Likewise.
28694 * include/grub/usbdesc.h: Likewise.
28695 * include/grub/usb.h: Likewise.
28696 * include/grub/script_sh.h: Likewise.
28697 * include/grub/lib/LzmaEnc.h: Likewise.
28698 * include/grub/efiemu/efiemu.h: Likewise.
28699 * include/grub/command.h: Likewise.
28700 * normal/menu.c: Likewise.
28701 * normal/main.c: Likewise.
28702 * normal/datetime.c: Likewise.
28703 * bus/usb/uhci.c: Likewise.
28704 * mmap/i386/uppermem.c: Likewise.
28705 * mmap/mmap.c: Likewise.
28706 * commands/acpi.c: Likewise.
28707 * commands/test.c: Likewise.
28708 * partmap/apple.c: Likewise.
28709 * font/font.c: Likewise.
28710 * loader/sparc64/ieee1275/linux.c: Likewise.
28711 * loader/macho.c: Likewise.
28712 * loader/i386/bsd_trampoline.S: Likewise.
28713 * loader/i386/bsd.c: Likewise.
28714 * loader/xnu.c: Likewise.
28715 * term/i386/pc/vesafb.c: Likewise.
28716 * term/usb_keyboard.c: Likewise.
28717 * util/resolve.c: Likewise.
28718 * util/getroot.c: Likewise.
28719
0cfc0083 287202009-05-04 Felix Zielcke <fzielcke@z-51.de>
28721
28722 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28723
7c1d00cd 287242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28727 build error.
28728
b01f0548 287292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28732 parameter only available on BIOS.
28733
ecc3eb22 287342009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 Removed wrong semicolon in declaration
28737
28738 * grub/misc.h (grub_dprintf): remove semicolon
28739
112972a9 287402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28741
28742 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28743 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28744 is done by grub_cmd_linux() now).
28745 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28746 restore video to text mode.
28747 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28748 indicates lack of "vga=" parameter. "vga=0" is mapped to
28749 `GRUB_LINUX_VID_MODE_NORMAL'.
28750
afd5c115 287512009-05-04 Felix Zielcke <fzielcke@z-51.de>
28752
28753 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28754 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28755 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28756 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28757 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28758 `grub_script.tab.c'.
28759
28760 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28761 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28764 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28765
faa517ce 28766 * Makefile.in: Remove duplicated 2008 in Copyright line.
28767
ae0c0bdc 287682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28769
473d1e45 28770 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28771 unconditionally.
28772 * include/grub/util/misc.h (grub_util_warn): New declaration.
28773
28774 * util/i386/pc/grub-install.in: Understand --force and pass it down
28775 to grub-setup.
28776
28777 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28778 down to setup().
28779 (setup): Improve error messages and add warnings when requested to
28780 install in odd layouts. Refuse to install using blocklists unless
28781 --force was set.
28782
18f547ad 287832009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28784
28785 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28786
6d260daa 287872009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28788
28789 Updated copyright year
28790
28791 * fs/hfsplus.c: updated copyright year
18f547ad 28792
69f853f8 287932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 HFS+ UUID
28796
18f547ad 28797 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28798 in the space previously used by unused3
28799 (grub_hfsplus_uuid): new function
28800 (grub_hfsplus_fs): added uuid field
28801
4c402e73 288022009-05-03 Pavel Roskin <proski@gnu.org>
28803
28804 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28805 suppress warnings. It's no longer needed.
28806 * disk/host.c: Likewise.
28807 * disk/ata_pthru.c: Likewise.
28808 * disk/loopback.c: Likewise.
28809 * hook/datehook.c: Likewise.
28810 * parttool/pcpart.c: Likewise.
28811 * fs/i386/pc/pxe.c: Likewise.
28812 * fs/ntfscomp.c: Likewise.
28813 * efiemu/main.c: Likewise.
28814 * mmap/mmap.c: Likewise.
28815 * commands/crc.c: Likewise.
28816 * commands/hexdump.c: Likewise.
28817 * commands/hdparm.c: Likewise.
28818 * commands/acpi.c: Likewise.
28819 * commands/echo.c: Likewise.
28820 * commands/minicmd.c: Likewise.
28821 * commands/blocklist.c: Likewise.
28822 * commands/memrw.c: Likewise.
28823 * commands/loadenv.c: Likewise.
28824 * commands/usbtest.c: Likewise.
28825 * commands/lsmmap.c: Likewise.
28826 * commands/boot.c: Likewise.
28827 * commands/parttool.c: Likewise.
28828 * commands/configfile.c: Likewise.
28829 * commands/search.c: Likewise.
28830 * commands/ieee1275/suspend.c: Likewise.
28831 * commands/cat.c: Likewise.
28832 * commands/i386/pc/pxecmd.c: Likewise.
28833 * commands/i386/pc/play.c: Likewise.
28834 * commands/i386/pc/halt.c: Likewise.
28835 * commands/i386/pc/vbeinfo.c: Likewise.
28836 * commands/i386/pc/vbetest.c: Likewise.
28837 * commands/lspci.c: Likewise.
28838 * commands/date.c: Likewise.
28839 * commands/handler.c: Likewise.
28840 * commands/ls.c: Likewise.
28841 * commands/test.c: Likewise.
28842 * commands/cmp.c: Likewise.
28843 * commands/efi/loadbios.c: Likewise.
28844 * commands/efi/fixvideo.c: Likewise.
28845 * commands/halt.c: Likewise.
28846 * commands/help.c: Likewise.
28847 * commands/reboot.c: Likewise.
28848 * hello/hello.c: Likewise.
28849 * script/sh/main.c: Likewise.
28850 * loader/xnu.c: Likewise.
28851 * term/terminfo.c: Likewise.
28852 * term/i386/pc/serial.c: Likewise.
28853 * term/usb_keyboard.c: Likewise.
28854
515b5079 288552009-05-03 David S. Miller <davem@davemloft.net>
28856
28857 * normal/menu.c: Include grub/parser.h
28858
dfc31a22 288592009-05-03 Pavel Roskin <proski@gnu.org>
28860
2fee74f1 28861 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28862 not char*.
28863 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28864 Suggested by Javier Martín <lordhabbit@gmail.com>
28865
dfc31a22 28866 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28867 efiemu??.o doesn't exist.
28868 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28869 copying.
28870
18f547ad 288712009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28872
28873 FreeBSD 64-bit support
28874
18f547ad 28875 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28876 and loader/i386/bsd_trampoline.S
28877 (bsd_mod_ASFLAGS): new variable
28878 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28879 (FREEBSD_MODTYPE_KERNEL64): likewise
28880 (grub_bsd64_trampoline_start): likewise
28881 (grub_bsd64_trampoline_end): likewise
28882 (grub_bsd64_trampoline_selfjump): likewise
28883 (grub_bsd64_trampoline_gdt): likewise
28884 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28885 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28886 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28887 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28888 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28889 of "attrib" member
28890 * loader/i386/bsd_pagetable.c: new file
28891 * loader/i386/bsd_trampoline.S: likewise
28892 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28893 (ALIGN_VAR): likewise
28894 (entry_hi): new variable
28895 (kern_end_mdofs): likewise
28896 (is_64bit): likewise
28897 (grub_freebsd_add_meta): use ALIGN_VAR
28898 (grub_e820_mmap): new declaration
28899 (grub_freebsd_add_mmap): new function
28900 (grub_freebsd_add_meta_module): support 64 bit kernels
28901 (grub_freebsd_list_modules): use ALIGN_VAR
28902 (gdt_descriptor): new declaration
28903 (grub_freebsd_boot): support 64 bit kernels
28904 (grub_bsd_elf64_hook): new function
28905 (grub_bsd_load_elf): support elf64
28906
038c5720 289072009-05-03 Bean <bean123ch@gmail.com>
28908
28909 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28910 after we get the result of if statement.
28911
fc45fb58 289122009-05-03 Bean <bean123ch@gmail.com>
28913
28914 * Makefile.in (enable_efiemu): New variable.
28915
28916 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28917 set.
28918 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28919 path.
28920 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28921 path, add -mno-red-zone option.
28922 (efiemu64_s.o): Likewise.
28923 (efiemu64.o): Use macro $^ for source file.
28924
28925 * configure.ac (--enable-efiemu): New option.
28926
bbee0f2b 289272009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28928
28929 xnu support
28930
28931 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28932 (pkglib_MODULES): add xnu.mod
28933 (xnu_mod_SOURCES): new variable
28934 (xnu_mod_CFLAGS): likewise
28935 (xnu_mod_LDFLAGS): likewise
28936 (xnu_mod_ASFLAGS): likewise
28937 * conf/i386-pc.rmk: likewise
28938 * conf/x86_64-efi.rmk: likewise
7dd4a573 28939 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28940 new declaration
28941 * include/grub/i386/macho.h: new file
28942 * include/grub/i386/xnu.h: likewise
28943 * include/grub/macho.h: likewise
28944 * include/grub/machoload.h: likewise
28945 * include/grub/x86_64/macho.h: likewise
28946 * include/grub/x86_64/xnu.h: likewise
28947 * include/grub/xnu.h: likewise
28948 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28949 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28950 * loader/i386/efi/xnu.c: new file
28951 * loader/i386/pc/xnu.c: likewise
28952 * loader/i386/xnu.c: likewise
28953 * loader/i386/xnu_helper.S: likewise
28954 * loader/macho.c: likewise
28955 * loader/xnu.c: likewise
28956 * loader/xnu_resume.c: likewise
28957 * util/grub-dumpdevtree: likewise
28958 * include/grub/i386/pit.h: include grub/err.h
28959 (grub_pit_wait): export
28960 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28961
5caf964d 289622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28963
28964 Efiemu
7dd4a573 28965
5caf964d 28966 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28967 _linux_efi, linux_efi.
28968 new files in grub-emu
5caf964d 28969 new targets efiemu32.o and efiemu64.o
28970 * loader/linux_normal_efiemu.c: likewise
28971 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28972 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28973 files to copy
28974 * include/grub/autoefi.h: new file
7dd4a573 28975 * include/grub/i386/efiemu.h: likewise
5caf964d 28976 * include/grub/i386/pc/efiemu.h: likewise
28977 * include/grub/efi/api.h: add LL suffix when necessary
28978 new definitions relating to tables
28979 * include/grub/efiemu/efiemu.h: new file
28980 * include/grub/efiemu/runtime.h: likewise
28981 * efiemu/prepare.c: likewise
28982 * efiemu/loadcore_common.c: likewise
28983 * efiemu/loadcore64.c: likewise
28984 * efiemu/runtime/efiemu.sh: likewise
28985 * efiemu/runtime/efiemu.S: likewise
28986 * efiemu/runtime/efiemu.c: likewise
28987 * efiemu/runtime/config.h: likewise
28988 * efiemu/prepare32.c: likewise
28989 * efiemu/main.c: likewise
28990 * efiemu/modules/pnvram.c: likewise
28991 * efiemu/modules/i386: likewise
28992 * efiemu/modules/i386/pc: likewise
28993 * efiemu/modules/acpi.c: likewise
28994 * efiemu/i386/pc/cfgtables.c: likewise
28995 * efiemu/i386/loadcore64.c: likewise
28996 * efiemu/i386/loadcore32.c: likewise
28997 * efiemu/prepare64.c: likewise
28998 * efiemu/loadcore.c: likewise
28999 * efiemu/symbols.c: likewise
29000 * efiemu/mm.c: likewise
29001 * efiemu/loadcore32.c: likewise
7dd4a573 29002
290032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29004
29005 ACPI spoofing
29006
29007 * commands/acpi.c: new file
29008 * commands/i386/pc/acpi.c: likewise
29009 * commands/efi/acpi.c: likewise
29010 * include/grub/acpi.h: likewise
29011 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29012 (acpi_mod_SOURCES): new variable
29013 (acpi_mod_CFLAGS): likewise
29014 (acpi_mod_LDFLAGS): likewise
29015 * conf/i386-efi.rmk: likewise
29016 * conf/x86_64-efi.rmk: likewise
29017
7dd4a573 290182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29019
29020 Missing part from mmap patch
29021
29022 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29023 (grub_mmap_unregister)
29024 (grub_mmap_free_and_unregister): use grub_mmap_register
29025
7dd4a573 290262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29027
29028 Mmap services
29029
29030 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29031 * loader/i386/linux.c (find_mmap_size): likewise
29032 (allocate_pages): likewise
29033 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29034 (grub_fill_multiboot_mmap): likewise
29035 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29036 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29037 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29038 (OPENBSD_MMAP_RESERVED): likewise
29039 * include/grub/i386/pc/memory.h: include grub/memory.h
29040 (grub_lower_mem): removed
29041 (grub_upper_mem): likewise
29042 (GRUB_MACHINE_MEMORY_ACPI): new definition
29043 (GRUB_MACHINE_MEMORY_NVS): likewise
29044 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29045 (GRUB_MACHINE_MEMORY_HOLE): likewise
29046 (grub_machine_mmap_register): likewise
29047 (grub_machine_mmap_unregister): likewise
29048 (grub_machine_get_upper): likewise
29049 (grub_machine_get_lower): likewise
29050 (grub_machine_get_post64): likewise
29051 * include/grub/i386/efi/memory.h: new file
29052 * include/grub/x86_64/efi/memory.h: likewise
29053 * include/grub/efi/memory.h: likewise
29054 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29055 (mmap_mod_SOURCES): new variable
29056 (mmap_mod_LDFLAGS): likewise
29057 (mmap_mod_ASFLAGS): likewise
29058 * conf/i386-coreboot.rmk: likewise
29059 * conf/i386-ieee1275.rmk: likewise
29060 * conf/i386-efi.rmk: likewise
29061 * conf/x86_64-efi.rmk: likewise
29062 * include/grub/types.h (UINT_TO_PTR): new macro
29063 (PTR_TO_UINT32): likewise
29064 (PTR_TO_UINT64): likewise
29065 * include/grub/memory.h: new file
29066 * mmap/i386/pc/mmap.c: likewise
29067 * mmap/i386/pc/mmap_helper.S: likewise
29068 * mmap/i386/uppermem.c: likewise
29069 * mmap/mmap.c: likewise
29070 * mmap/efi/mmap.c: likewise
7dd4a573 29071 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29072 grub_upper_mem
29073 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29074 (grub_upper_mem): likewise
29075 (grub_machine_init): don't use grub_upper_mem,
29076 make grub_lower_mem local
29077 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29078 grub_mmap_iterate and grub_mmap_get_upper
29079 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29080
d558e6b5 290812009-05-02 Bean <bean123ch@gmail.com>
29082
29083 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29084 script/sh/parser.y.
29085 (pkglib_MODULES): Add normal.mod and sh.mod.
29086 (normal_SOURCES): New variable.
29087 (normal_mod_CFLAGS): Likewise.
29088 (normal_mod_LDFLAGS): Likewise.
29089 (sh_mod_SOURCES): Likewise.
29090 (sh_mod_CFLAGS): Likewise.
29091 (sh_mod_LDFLAGS): Likewise.
29092
29093 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29094 script/sh/lexer.c_DEPENDENCIES.
29095 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29096 kern/rescue_reader.c and kern/rescue_parser.c.
29097 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29098 (grub_emu_SOURCES): Change source files.
29099 (pkglib_MODULES): Remove normal.mod.
29100 (normal_SOURCES): Removed.
29101 (normal_mod_CFLAGS): Likewise.
29102 (normal_mod_LDFLAGS): Likewise.
29103 * conf/i386-coreboot.rmk: Likewise.
29104 * conf/i386-efi.rmk: Likewise.
29105 * conf/i386-ieee1276.rmk: Likewise.
29106 * conf/powerpc-ieee1275.rmk: Likewise.
29107 * conf/sparc64-ieee1275.rmk: Likewise.
29108 * conf/x86_64-efi.rmk: Likewise.
29109
29110 * include/grub/command.h (grub_command_execute): New inline function.
29111
29112 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29113
29114 * include/grub/normal.h: Remove <grub/setjmp.h>.
29115 (grub_fs_module_list): Moved to normal/autofs.c.
29116 (grub_exit_env): Removed.
29117 (grub_command_execute): Likewise.
29118 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29119 parameter script.
29120 (read_command_list): New function declaration.
29121 (read_fs_list): Likewise.
29122
29123 * include/parser.h: Include <grub/reader.h>.
29124 (grub_parser_split_cmdline): Change type of getline parameter.
29125 (grub_parser): New structure.
29126 (grub_parser_class): New variable.
29127 (grub_parser_execute): New function declaration.
29128 (grub_register_rescue_parser): Likewise.
29129 (grub_parser_register): New inline function.
29130 (grub_parser_unregister): Likewise.
29131 (grub_parser_get_current): Likewise.
29132 (grub_parser_set_current): Likewise.
29133
29134 * include/grub/reader.h: New file.
29135 * kern/reader.c: Likewise.
29136 * kern/rescue_parser.c: Likewise.
29137 * kern/rescue_reader.c: Likewise.
29138 * normal/autofs.c: Likewise.
29139 * normal/dyncmd.c: Likewise.
29140
29141 * include/grub/rescue.h: Removed.
29142 * normal/command.h: Likewise.
29143
29144 * include/grub/script.h: Moved to ...
29145 * include/grub/script_sh.h: ... Moved here.
29146 * normal/execute.c: Moved to ...
29147 * script/sh/execute.c: ... Moved here.
29148 * normal/function.c: Moved to ...
29149 * script/sh/function.c: ... Moved here.
29150 * normal/lexer.c: Moved to ...
29151 * script/sh/lexer.c: ... Moved here.
29152 * normal/parser.y: Moved to ...
29153 * script/sh/parser.y: ... Moved here.
29154 * normal/script.c: Moved to ...
29155 * script/sh/script.c: ... Moved here.
29156
29157 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29158 <grub/reader.h>.
29159 (grub_exit_env): Removed.
29160 (fs_module_list): Moved to normal/autofs.c.
29161 (grub_file_getline): Don't handle comment here.
29162 (free_menu): Skip removed field entry->commands.
29163 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29164 script parameter.
29165 (read_config_file): Removed nested parameter, change getline function.
29166 (grub_enter_normal_mode): Removed.
29167 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29168 (read_command_list): Likewise.
29169 (autoload_fs_module): Moved to normal/autofs.c.
29170 (read_fs_list): Likewise.
29171 (reader_nested): New variable.
29172 (grub_normal_execute): Run parser.sh to switch to sh parser.
29173 (grub_cmd_rescue): Removed.
29174 (cmd_normal): Removed.
29175 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29176 rescue command.
29177 (grub_cmdline_run): New function.
29178 (grub_normal_reader_init): Likewise.
29179 (grub_normal_read_line): Likewise.
29180 (grub_env_write_pager): Likewise.
29181 (cmdline): New variable.
29182 (grub_normal_reader): Likewise.
29183 (GRUB_MOD_INIT): Register normal reader and set as current, register
29184 pager hook, register normal command with grub_register_command_prio,
29185 so that it won't show up in command.lst.
29186 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29187 grub_fs_autoload_hook.
29188
29189 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29190 (grub_menu_execute_entry): Replace grub_script_execute with
29191 grub_parser_execute, change parameter to grub_command_execute.
29192
29193 * normal/menu_text.c: Remove <grub/script.h>.
29194
29195 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29196 and <grub/parser.h>.
29197 (run): Change editor_getline to use new parser interface. Change
29198 parameter to grub_command_execute.
29199
29200 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29201 <grub/reader.h> and <grub/parser.h>.
29202 (grub_load_normal_mode): Execute normal command.
29203 (grub_main): Call grub_register_core_commands,
29204 grub_register_rescue_parser and grub_register_rescue_reader, use
29205 grub_reader_loop to enter input loop.
29206
7dd4a573 29207 * kern/parser.c (grub_parser_split_cmdline): Change type of
29208 getline parameter.
d558e6b5 29209 (grub_parser_class): New variable.
29210 (grub_parser_execute): New function.
29211
29212 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29213 * loader/multiboot2.c: Likewise.
29214 * loader/sparc64/ieee1275/linux.c: Likewise.
29215
29216 * util/grub-emu.c (read_command_list): New dummy function.
29217
18db813d 292182009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29219
29220 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29221 count to 16 for CCISS and IDA.
29222
6c67de15 292232009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29224
29225 * normal/menu_text.c (grub_wait_after_message): Print a newline
29226 after waiting for user input.
29227
29228 * loader/i386/linux.c: Include `<grub/normal.h>'.
29229 (grub_cmd_linux): Improve the error message about `ask' mode, by
29230 waiting for user input so it's not missed (we can do this, since
29231 user requested interaction).
29232
d9dc87b0 292332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29234
29235 Added missing lst to grub-mkrescue
29236
29237 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29238 and ${input_dir}/parttool.lst
29239
ac8a2baa 292402009-04-30 David S. Miller <davem@davemloft.net>
29241
ad22a610 29242 * util/hostdisk.c (device_is_wholedisk): New function.
29243 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29244 zero only if device_is_wholedisk() returns true.
29245
6966215d 29246 * util/hostdisk.c (convert_system_partition_to_system_disk):
29247 Handle virtual disk devices named /dev/vdiskX as found on sparc
29248 and powerpc.
29249
ac8a2baa 29250 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29251 lettered partition specifier is found, convert to numbered.
29252
979b4fb4 292532009-04-29 David S. Miller <davem@davemloft.net>
29254
e2bf39b2 29255 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29256 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29257
3c64e104 29258 * normal/command.c: Add missing newline at end of file.
29259
979b4fb4 29260 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29261 warnings.
29262 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29263 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29264 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29265 ihandles have a 32-bit type but need to be stored in a "void *".
29266
136d9f82 292672009-04-28 Pavel Roskin <proski@gnu.org>
29268
9459c306 29269 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29270 not disk. Adjust all dependencies.
2e08a26a 29271 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29272 grub_disk_close().
29273
136d9f82 29274 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29275 parent's partition, don't copy it by reference, as it gets freed
29276 on close.
29277
7dd4a573 292782009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29279
29280 Preboot hooks support
29281
29282 * commands/boot.c (struct grub_preboot_t): new declaration
29283 (preboots_head): new variable
29284 (preboots_tail): likewise
29285 (grub_loader_register_preboot_hook): new function
29286 (grub_loader_unregister_preboot_hook): likewise
29287 (grub_loader_set): launch preboot hooks
29288 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29289 (grub_loader_register_preboot_hook): new declaration
29290 (grub_loader_unregister_preboot_hook): likewise
29291
5af922b5 292922009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29293
29294 Warning fix
29295
7dd4a573 29296 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29297 calling grub_dprintf
29298
a5562c30 292992009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29300
29301 Bug and warning fixes
29302
7dd4a573 29303 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29304 declaration
29305 * commands/test.c (test_parse): fixed bug with file tests and corrected
29306 declaration of find_file
29307
4006f85c 293082009-04-26 Pavel Roskin <proski@gnu.org>
29309
29310 * Makefile.in: Don't install empty manual pages if help2man is
29311 missing. Use help2man option for output, not shell redirection.
29312
5c77c3de 293132009-04-26 David S. Miller <davem@davemloft.net>
29314
29315 * util/grub-mkdevicemap.c (make_device_map): Add missing
29316 NESTED_FUNC_ATTR to process_device().
29317
033b10a8 293182009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29319
29320 Test command
29321
29322 * commands/test.c: rewritten to use bash-like test
29323
e4343593 293242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29325
29326 Parttool autoloading and improvements
29327
7dd4a573 29328 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29329 (parttool.lst): new target
29330 * genmk.rb: generate parttool-*
29331 (CLEANFILES): add #{parttool}
29332 (PARTTOOLFILES): new variable
29333 * genparttoollist.sh: new file
7dd4a573 29334 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29335 (grub_pcpart_type): likewise
29336 * commands/parttool.c (helpmsg): new variable
29337 (grub_cmd_parttool): output help if not enough arguments are supplied
29338 autoload modules
29339 (GRUB_MOD_INIT(parttool)): use helpmsg
29340
0d312500 293412009-04-24 David S. Miller <davem@davemloft.net>
29342
7dd4a573 29343 Avoiding opening same device multiple times in device iterator.
0d312500 29344
29345 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29346 and use it to build a list of partitions in iterate_disk() and
0d312500 29347 iterate_partition().
29348
ac20caff 29349 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29350 on disk->data.
29351
0dcf7495 29352 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29353 grub_devalias_iterate() result instead of unconditional 0.
29354 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29355 Also, capture hook return value, either directly or via
29356 grub_children_iterate(), and propagate to caller.
29357 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29358 grub_children_iterate): Return value is now 'int' instead of
29359 'grub_err_t'.
29360 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29361 like a proper iterator, stopping when hooks return non-zero.
29362 (grub_devalias_iterate): Likewise.
29363
c8c08833 293642009-04-23 David S. Miller <davem@davemloft.net>
29365
29366 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29367
f01005a8 293682009-04-22 David S. Miller <davem@davemloft.net>
29369
29370 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29371 is larger than address_cells, use that value for address_cells too.
29372
4e8269da 29373 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29374 IEEE1275_MAX_PATH_LEN): Define.
29375 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29376 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29377 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29378 'devtype'. Explicitly NULL terminate devalias expansion.
29379
a1447506 29380 * util/sparc64/ieee1275/misc.c: New file.
29381 * util/sparc64/ieee1275/grub-setup.c: New file.
29382 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29383 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29384 * util/sparc64/ieee1275/grub-install.in: New file.
29385 * util/ieee1275/ofpath.c: New file.
29386 * util/ieee1275/devicemap.c: New file.
29387 * util/devicemap.c: New file.
29388 * util/deviceiter.c: New file.
29389 * kern/sparc64/ieee1275/init.c: New file.
29390 * include/grub/util/ofpath.h: New file.
29391 * include/grub/util/deviceiter.h: New file.
29392 * util/grub-mkdevicemap.c: Include deviceiter.h.
29393 Implement using grub_util_emit_devicemap_entry and
29394 grub_util_iterate_devices.
29395 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29396 util/devicemap.c into grub-mkdevicemap
29397 * conf/i386-efi.rmk: Likewise.
29398 * conf/i386-ieee1275.rmk: Likewise.
29399 * conf/i386-pc.rmk: Likewise.
29400 * conf/powerpc-ieee1275.rmk: Likewise.
29401 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29402 images and installation utilities. Build kernel as image
29403 instead of as elf binary. Use common rules as much as possible.
29404
7dd4a573 294052009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29406
29407 Correct GPT definition
29408
7dd4a573 29409 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29410 of "attrib" member
29411
c6c5219f 294122009-04-19 Felix Zielcke <fzielcke@z-51.de>
29413
29414 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29415
0552ff9f 294162009-04-19 David S. Miller <davem@davemloft.net>
29417
29418 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29419 (grub_rescue_cmd_linux): Rename to...
29420 (grub_cmd_linux): and fix prototype.
29421 (grub_rescue_cmd_initrd): Rename to...
29422 (grub_cmd_initrd): and fix prototype.
29423 (cmd_linux, cmd_initrd): New.
29424 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29425 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29426
d1a282fc 294272009-04-17 Pavel Roskin <proski@gnu.org>
29428
07c5039f 29429 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29430 format.
29431 (grub_ohci_transfer): Likewise.
29432
b012002d 29433 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29434
1bc09c35 29435 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29436 return without a value. Fix inconsistent indentation.
29437
e0ff9126 29438 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29439 match struct grub_fs.
29440
d1a282fc 29441 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29442 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29443 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29444 * commands/lspci.c (grub_lspci_iter): Likewise.
29445
a96df3f2 294462009-04-16 Bean <bean123ch@gmail.com>
29447
29448 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29449 value.
29450
41bb0fe9 294512009-04-15 Pavel Roskin <proski@gnu.org>
29452
29453 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29454 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29455 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29456 definitions.
29457
596c6970 294582009-04-15 Felix Zielcke <fzielcke@z-51.de>
29459
29460 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29461 that no multiple data or metadata areas are supported and `Unknown
596c6970 29462 metadata header'.
29463
7dd4a573 294642009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29465
29466 Move loader out of the kernel
29467
29468 * kern/loader.c: moved to ...
29469 * commands/boot.c: ... moved here
29470 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29471 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29472 * include/grub/kernel.h (grub_machine_fini): export
29473 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29474 (grub_loader_set): likewise
29475 (grub_loader_unset): likewise
29476 (grub_loader_boot): likewise
29477 * conf/common.rmk: new module boot.mod
29478 (pkglib_MODULES): add boot.mod
29479 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29480 (grub_emu_SOURCES): likewise
29481 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29482 (grub_emu_SOURCES): likewise
29483 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29484 (grub_emu_SOURCES): likewise
29485 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29486 (grub_emu_SOURCES): likewise
29487 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29488 (grub_emu_SOURCES): likewise
7dd4a573 29489 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29490 (grub_emu_SOURCES): likewise
0d5d5653 29491 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29492 (grub_emu_SOURCES): likewise
0d5d5653 29493
7dd4a573 294942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29495
29496 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29497
5999d619 29498 * kern/misc.c (grub_itoa): Removed function
29499 (grub_ltoa): likewise
29500 (grub_vsprintf): use grub_lltoa
29501
7dd4a573 295022009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29503
29504 Restore grub-emu
29505
29506 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29507 * conf/i386-coreboot.rmk: likewise
29508 * conf/i386-ieee1275.rmk: likewise
29509 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29510
20318222 295112009-04-15 Felix Zielcke <fzielcke@z-51.de>
29512
29513 * INSTALL: Add that `./autogen.sh' needs to be run before
29514 `./configure.'.
29515
d05f0df3 295162009-04-14 Bean <bean123ch@gmail.com>
29517
29518 * Makefile.in (pkglib_DATA): Add handler.lst.
29519 (handler.lst): New rule.
29520
29521 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29522 * conf/i386-coreboot.rmk: Likewise.
29523 * conf/i386-ieee1275.rmk: Likewise.
29524 * conf/i386-efi.rmk: Likewise.
29525 * conf/x86_64-efi.rmk: Likewise.
29526 * conf/powerpc-ieee1275.rmk: Likewise.
29527 * conf/sparc64-ieee1275.rmk: Likewise.
29528
29529 * genhandlerlist.sh: New file.
29530
29531 * genmk.rb: Add rules to generate handler.lst.
29532
29533 * include/grub/normal.h (grub_file_getline): New function definition.
29534 (read_handler_list): Likewise.
29535 (free_handler_list): Likewise.
29536
29537 * include/grub/term.h (grub_term_register_input): Add name parameter
29538 for auto generation of handler.lst.
29539 (grub_term_register_output): Likewise.
29540
29541 * normal/handler.c: New file.
29542
29543 * normal/main.c (get_line): Renamed to grub_file_getline.
29544 (read_config_file): Use the newly renamed grub_file_getline.
29545 (read_command_list): Likewise.
29546 (read_fs_list): Likewise.
29547 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29548 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29549
29550 * term/efi/console.c (grub_console_init): Add name parameter for auto
29551 generation of handler.lst.
29552 * term/gfxterm.c: Likewise.
29553 * term/i386/pc/at_keyboard.c: Likewise.
29554 * term/i386/pc/console.c: Likewise.
29555 * term/i386/pc/serial.c: Likewise.
29556 * term/i386/pc/vesafb.c: Likewise.
29557 * term/i386/pc/vga.c: Likewise.
29558 * term/i386/pc/vga_text.c: Likewise.
29559 * term/ieee1275/ofconsole.c: Likewise.
29560 * term/usb_keyboard.c: Likewise.
29561
33c846be 295622009-04-14 Bean <bean123ch@gmail.com>
29563
29564 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29565 properly with null character.
29566
4484e01e 295672009-04-14 Felix Zielcke <fzielcke@z-51.de>
29568
29569 * configure: Remove.
29570 * config.h.in: Likewise.
f93d668e 29571 * stamp-h.in: Likewise.
4484e01e 29572 * DISTLIST: Likewise.
29573 * conf/common.mk: Likewise.
29574 * conf/i386-coreboot.mk: Likewise.
29575 * conf/i386-efi.mk: Likewise.
29576 * conf/i386-ieee1275.mk: Likewise.
29577 * conf/i386.mk: Likewise.
29578 * conf/i386-pc.mk: Likewise.
29579 * conf/powerpc-ieee1275.mk: Likewise.
29580 * conf/sparc64-ieee1275.mk: Likewise.
29581 * conf/x86_64-efi.mk: Likewise.
29582
29583 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29584 develop on GRUB.
29585
7dd4a573 295862009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29587 David S. Miller <davem@davemloft.net>
29588
29589 * util/hostdisk.c (make_device_name): Fix buffer length
29590 calculations.
29591
e25b5a8c 295922009-04-14 Felix Zielcke <fzielcke@z-51.de>
29593
29594 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29595 <sys/param.h> and <sys/sysctl.h>.
29596 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29597 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29598 opening the device and reset them afterwards.
29599
1f1f580c 296002009-04-13 Pavel Roskin <proski@gnu.org>
29601
29602 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29603 Reported by John Stanley <jpsinthemix@verizon.net>
29604
7ebc2d6b 296052009-04-13 Robert Millan <rmh@aybabtu.com>
29606
29607 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29608 that name for menuentries when appropriate.
7ebc2d6b 29609
d8ba3667 296102009-04-13 Felix Zielcke <fzielcke@z-51.de>
29611
29612 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29613
cba416eb 296142009-04-13 Robert Millan <rmh@aybabtu.com>
29615
29616 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29617 to Linux, simply abort telling the user it's no longer supported.
29618
a547a745 296192009-04-13 Felix Zielcke <fzielcke@z-51.de>
29620
29621 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29622 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29623 `freebsd_loadenv' only when devices.hints exist.
29624
232a769c 296252009-04-13 Pavel Roskin <proski@gnu.org>
29626
29627 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29628
c3012039 296292009-04-13 Felix Zielcke <fzielcke@z-51.de>
29630
29631 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29632 partition number.
29633 (grub_drive): Likewise.
29634
234022fe 296352009-04-13 David S. Miller <davem@davemloft.net>
29636
29637 * kern/sparc64/ieee1275/ieee1275.c: New file.
29638 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29639 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29640 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29641 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29642 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29643 grub_ieee1275_alloc_physmem): Declare new exported functions.
29644
d8e1836c 29645 * include/grub/sparc64/ieee1275/loader.h: New file.
29646 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29647 * include/grub/sparc64/kernel.h: Likewise.
29648 * loader/sparc64/ieee1275/linux.c: Likewise.
29649
96bd81ec 29650 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29651 (grub_fstest_SOURCES): Likewise.
29652
6a4737e5 29653 * util/hostdisk.c (make_device_name): Do not make any assumptions
29654 about the length of drive names.
29655
1d7a72fd 29656 * kern/dl.c (grub_dl_load_file): Close file immediately when
29657 we are done using it.
29658
56bc2471 296592009-04-12 David S. Miller <davem@davemloft.net>
29660
29661 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29662 values. Noticed by Pavel Roskin.
29663
df38d0bb 29664 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29665 target compiler.
7dd4a573 29666
e382e93a 29667 * genmk.rb: Add more flexible image type specification, also
29668 pass --strip-unneeded to objcopy.
29669 * conf/i386-pc.rmk: Use *_FORMAT.
29670 * conf/i386-pc.mk: Rebuilt.
29671
f5dbbca9 29672 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29673 (OFDISK_HASH_SZ): Define.
29674 (ofdisk_hash): New hash table.
29675 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29676 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29677 instead of device phandle which is not unique.
29678
91c88b12 29679 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29680 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29681 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29682 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29683 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29684 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29685 GRUB_KERNEL_MACHINE_DATA_END): Define.
29686 (grub_kernel_image_size, grub_total_module_size): Declare.
29687
5b5d4aa5 296882009-04-12 Pavel Roskin <proski@gnu.org>
29689
7dd4a573 29690 * configure.ac: Change the logic when we check for target tools.
29691 Do it when the target is specified and it's different from the
29692 specified value of the host.
5b5d4aa5 29693
c91e1793 296942009-04-11 Felix Zielcke <fzielcke@z-51.de>
29695
29696 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29697 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29698 GNU/kFreeBSD. Check if a device is a character device. Use
29699 DIOCGMEDIASIZE to get the size.
29700 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29701 support for GNU/kFreeBSD.
29702 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29703 is a character device instead of a block device. Add support for
29704 FreeBSD device names.
29705
29706 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29707 is a character device instead of a block device.
29708
29709 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29710 is a character device instead of a block device.
29711
b1ac8644 297122009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29713
29714 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29715 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29716 FreeBSD. Check if a device is a character device. Use
29717 DIOCGMEDIASIZE to get the size.
29718 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29719 support for FreeBSD.
29720 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29721 is a character device instead of a block device. Add support for
29722 FreeBSD device names.
29723
29724 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29725 a character device instead of a block device.
29726 (grub_util_check_char_device): New function.
29727
29728 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29729 a character device instead of a block device.
29730
29731 * include/grub/util/getroot.h (grub_util_check_char_device): New
29732 prototype.
29733
a3f7515a 297342009-04-11 David S. Miller <davem@davemloft.net>
29735
29736 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29737 static libgcc.
29738 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29739 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29740 function, if present.
29741 (__bswapdi2): Likewise.
29742
0d44993d 29743 * include/grub/sparc64/ieee1275/boot.h: New file.
29744 * boot/sparc64/ieee1275/boot.S: Likewise.
29745 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29746
ed3d2bc2 29747 * kern/misc.c (grub_ltoa): New function.
29748 (grub_vsprintf): Use it to format 'long' integers.
29749
d3bfb59c 297502009-04-10 David S. Miller <davem@davemloft.net>
29751
29752 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29753 slots are of type grub_ieee1275_cell_t.
29754 (grub_nand_read): Likewise.
29755 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29756 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29757 macros are used to compare values in arg/ret block of the call.
29758 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29759 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29760 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29761 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29762 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29763 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29764 grub_ieee1275_close, grub_ieee1275_set_property,
29765 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29766 grub_ieee1275_cell_t.
29767 * kern/ieee1275/openfw.c (grub_map): Likewise.
29768 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29769 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29770
450e2238 29771 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29772 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29773 (grub_devalias_iterate): Likewise.
29774
7dd4a573 297752009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29776
29777 UFS improvements
29778
29779 * fs/ufs.c (INODE_NBLOCKS): new definition
29780 (struct grub_ufs_dirent): added fields for non-BSD dirents
29781 (grub_ufs_get_file_block): fixed double indirect handling
29782 (grub_ufs_lookup_symlink): use more robust way to determine whether
29783 symlink is inline
29784 (grub_ufs_find_file): support for non-BSD dirents
29785 (grub_ufs_dir): support for non-BSD dirents
29786
e7e6862a 297872009-04-10 Bean <bean123ch@gnail.com>
29788
29789 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29790 attribute, otherwise the size would be wrong for i386 platform.
29791
29792 * include/grub/pci.h (grub_pci_read_word): New inline function.
29793 (grub_pci_read_byte): Likewise.
29794 (grub_pci_write): Likewise.
29795 (grub_pci_write_word): Likewise.
29796 (grub_pci_write_byte): Likewise.
29797
29798 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29799
29800 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29801 (find_framebuf): Scan pci to locate the frame buffer address.
29802
29803 * commands/efi/fixvideo.c: New file.
29804
29805 * commands/efi/loadbios.c: Likewise.
29806
29807 * commands/memrw.c: Likewise.
29808
29809 * util/grub-dumpbios.in: Likewise.
29810
29811 * conf/common.rmk (grub-dumpbios): New utility.
29812 (pkglib_MODULES): New module memrw.mod.
29813 (memrw_mod_SOURCE): New macro.
29814 (memrw_mod_CFLAGS): Likewise.
29815 (memrw_mod_LDFLAGS): Likewise.
29816
7dd4a573 29817 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29818 fixvideo.mod.
29819 (loadbios_mod_SOURCE): New macro.
29820 (loadbios_mod_CFLAGS): Likewise.
29821 (loadbios_mod_LDFLAGS): Likewise.
29822 (fixvideo_mod_SOURCE): Likewise.
29823 (fixvideo_mod_CFLAGS): Likewise.
29824 (fixvideo_mod_LDFLAGS): Likewise.
29825
7dd4a573 29826 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29827 fixvideo.mod.
29828 (loadbios_mod_SOURCE): New macro.
29829 (loadbios_mod_CFLAGS): Likewise.
29830 (loadbios_mod_LDFLAGS): Likewise.
29831 (fixvideo_mod_SOURCE): Likewise.
29832 (fixvideo_mod_CFLAGS): Likewise.
29833 (fixvideo_mod_LDFLAGS): Likewise.
29834
af63ada2 298352009-04-08 Felix Zielcke <fzielcke@z-51.de>
29836
29837 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29838
c2cdde70 298392009-04-07 David S. Miller <davem@davemloft.net>
29840
29841 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29842 support for R_SPARC_OLO10 relocations. Fix compile warning for
29843 R_SPARC_WDISP30 case.
ea3f72cf 29844 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29845
761319cf 298462009-04-06 Pavel Roskin <proski@gnu.org>
29847
1007d1f5 29848 * include/grub/misc.h (ARRAY_SIZE): New macro.
29849 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29850 New macro.
29851 * loader/i386/linux.c (allocate_pages): Use free_pages().
29852 (grub_linux_unload): Don't use free_pages().
29853 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29854 wrong index. Treat all other modes as text modes.
29855 (grub_cmd_linux): Initialize vid_mode unconditionally to
29856 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29857
761319cf 29858 * commands/help.c (print_command_help): Use cmd->prio, not
29859 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29860
ea761d40 298612009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29862
ea761d40 29863 Parttool
29864
29865 * parttool/pcpart.c: new file
29866 * commands/parttool.c: likewise
29867 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29868 (parttool_mod_SOURCES): new variable
29869 (parttool_mod_CFLAGS): likewise
29870 (parttool_mod_LDFLAGS): likewise
29871 (pcpart_mod_SOURCES): likewise
29872 (pcpart_mod_CFLAGS): likewise
29873 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29874 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29875 and parttool/pcpart.c
29876 * conf/i386-efi.rmk: likewise
29877 * conf/i386-ieee1275.rmk: likewise
29878 * conf/i386-pc.rmk: likewise
29879 * conf/powerpc-ieee1275.rmk: likewise
29880 * conf/sparc64-ieee1275.rmk: likewise
29881 * conf/x86_64-ieee1275.rmk: likewise
29882
05aaebfb 298832009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 Support for mtime and further expandability of dir command
29886
29887 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29888 * include/grub/datetime.h: ... moved here and added
05aaebfb 29889 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29890 * include/grub/fs.h: new syntax for dir and mtime functions in
29891 struct grub_fs
05aaebfb 29892 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29893 and GRUB_FSHELP_FLAGS_MASK
29894 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29895 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29896 (grub_ext2_mtime): new function
29897 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29898 (grub_hfsplus_mtime): new function
29899 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29900 (GRUB_UFS_ATTR_FILE): likewise
29901 (GRUB_UFS_ATTR_LNK): likewise
29902 (struct grub_ufs_sblock): new fields mtime
29903 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29904 all users updated
29905 (grub_ufs_dir): mtime support
29906 (grub_ufs_mtime): new function
29907 * fs/affs.c (grub_affs_dir): use new dir syntax
29908 * fs/afs.c (grub_afs_dir): likewise
29909 * fs/cpio.c (grub_cpio_dir): likewise
29910 * fs/fat.c (grub_fat_find_dir): likewise
29911 * fs/hfs.c (grub_hfs_dir): likewise
29912 * fs/iso9660.c (grub_iso9660_dir): likewise
29913 * fs/jfs.c (grub_jfs_dir): likewise
29914 * fs/minix.c (grub_minix_dir): likewise
29915 * fs/ntfs.c (grub_ntfs_dir): likewise
29916 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29917 * fs/sfs.c (grub_sfs_dir): likewise
29918 * fs/xfs.c (grub_xfs_dir): likewise
29919 * util/hostfs.c (grub_hostfs_dir): likewise
29920 * lib/datetime.c: moved to ...
29921 * normal/datetime.c: ... moved here
29922 (grub_unixtime2datetime): new function
29923 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29924 * normal/completion.c (iterate_dir): use new dir syntax
29925 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29926 last modification time of a volume
7dd4a573 29927 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29928 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29930 (normal_mod_SOURCES): likewise
29931 (datetime_mod_SOURCES): Removed lib/datetime.c
29932 * conf/i386-efi.rmk: likewise
7dd4a573 29933 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29934 * conf/i386-pc.rmk: likewise
29935 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29936 * conf/sparc64-ieee1275.rmk: likewise
29937 * conf/x86_64-efi.rmk: likewise
05aaebfb 29938
8a7e1a14 299392009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29940
29941 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29942
29943 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29944 on grub_fat_find_dir
29945 (grub_fat_find_dir): use grub_fat_iterate_dir
29946 (grub_fat_label): likewise
29947
04186a9c 299482009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29949
7dd4a573 29950 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29951 and command.h
29952 remove extraneous kernel_elf_HEADERS
29953
da4c0bb6 299542009-04-04 Bean <bean123ch@gnail.com>
29955
29956 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29957
29958 * util/misc.c: Likewise.
29959
54ad9555 299602009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29961
29962 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29963 instead of grub_printf.
29964
7a6bf9f2 299652009-04-03 Robert Millan <rmh@aybabtu.com>
29966
29967 * loader/i386/linux.c (grub_linux_setup_video): Fill
29968 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29969 values from `mode info' structure instead of hardcoded
29970 values.
29971
3fcc2083 299722009-04-01 Pavel Roskin <proski@gnu.org>
29973
29974 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29975 unused now.
29976 * genmk.rb: Likewise.
29977 * configure.ac: Likewise.
29978
5ec9740b 299792009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29980
29981 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29982 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29983
5270cec8 299842009-04-01 David S. Miller <davem@davemloft.net>
29985
29986 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29987 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29988 (grub_setjmp): Mark with 'returns_twice' attribute.
29989 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29990 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29991 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29992
9c3dd854 299932009-04-01 Robert Millan <rmh@aybabtu.com>
29994
29995 Reapply fix from 2008-07-28 which was accidentally reverted; also
29996 perform the same fix to a similar check in same function.
29997
29998 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29999 with the same number are found, just use issue a warning with
30000 grub_dprintf(), as this error has been reported to be non-fatal.
30001
0d818b7e 300022009-03-31 Pavel Roskin <proski@gnu.org>
30003
30004 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30005 for cross-compilation.
30006
95646d92 300072009-03-30 Robert Millan <rmh@aybabtu.com>
30008
30009 Fix i386-ieee1275 build.
30010
30011 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30012 Remove declaration.
30013
6a003ed1 300142009-03-30 Pavel Roskin <proski@gnu.org>
30015
30016 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30017 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30018 zero-terminated, rely only on the strlen value. Fix comparison
30019 of strings differing in length.
30020
92f33540 300212009-03-30 Robert Millan <rmh@aybabtu.com>
30022
30023 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30024 checking for abi version. Improve error messages on BIOS to notify
30025 user about `linux16' command.
30026
a8c48fd5 300272009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30028
f968172e 30029 Leak fixes
a8c48fd5 30030
f968172e 30031 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30032 in case of collision
30033 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30034
9c323f09 300352009-03-29 Robert Millan <rmh@aybabtu.com>
30036
30037 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30038 set `vid_mode' accordingly.
30039 (grub_linux_boot): Process `vid_mode' and set video mode.
30040
ae68f423 300412009-03-29 Robert Millan <rmh@aybabtu.com>
30042
30043 * util/grub.d/10_linux.in (linux_entry): New function.
30044 Factorize generation of Linux boot entries.
30045
5709cfc4 300462009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30047
30048 Make the format of Environment Block plain text. The boot loader
30049 part is not tested well yet.
7dd4a573 30050
5709cfc4 30051 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30052 (buffer): Removed.
30053 (envblk): Likewise.
30054 (usage): Remove "info" and "clear". Add "unset". Update the
30055 description of "set", as this does not delete variables any
30056 longer.
30057 (create_envblk_file): Complete rewrite.
30058 (open_envblk_file): Likewise.
30059 (cmd_info): Removed.
30060 (cmd_list): Likewise.
30061 (cmd_set): Likewise.
30062 (cmd_clear): Likewise.
30063 (list_variables): New function.
30064 (write_envblk): Likewise.
30065 (set_variables): Likewise.
30066 (unset_variables): Likewise.
30067 (main): Complete rewrite.
30068
30069 * commands/loadenv.c (buffer): Removed.
30070 (envblk): Likewise.
30071 (open_envblk_file): New function.
30072 (read_envblk_file): Complete rewrite.
30073 (grub_cmd_load_env): Likewise.
30074 (grub_cmd_list_env): Likewise.
30075 (struct blocklist): New struct.
30076 (free_blocklists): New function.
30077 (check_blocklists): Likewise.
30078 (write_blocklists): Likewise.
30079 (grub_cmd_save_env): Complete rewrite.
30080
30081 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30082 a plain text signature.
30083 (GRUB_ENVBLK_MAXLEN): Removed.
30084 (struct grub_envblk): Complete rewrite.
30085 (grub_envblk_find): Removed.
30086 (grub_envblk_insert): Likewise.
30087 (grub_envblk_open): New prototype.
30088 (grub_envblk_set): Likewise.
30089 (grub_envblk_delete): Put const to VALUE.
30090 (grub_envblk_iterate): Put const to NAME and VALUE.
30091 (grub_envblk_close): New prototype.
30092 (grub_envblk_buffer): New inline function.
30093 (grub_envblk_size): Likewise.
30094
30095 * lib/envblk.c: Include grub/mm.h.
30096 (grub_env_find): Removed.
30097 (grub_envblk_open): New function.
30098 (grub_envblk_close): Likewise.
30099 (escaped_value_len): Likewise.
30100 (find_next_line): Likewise.
30101 (grub_envblk_insert): Removed.
30102 (grub_envblk_set): New function.
30103 (grub_envblk_delete): Complete rewrite.
30104 (grub_envblk_iterate): Likewise.
30105
a9368fd3 301062009-03-28 Robert Millan <rmh@aybabtu.com>
30107
30108 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30109 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30110 variables. Use 16-bit loader.
30111 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30112 loader.
30113 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30114 (grub_linux16_boot): ... this. Update all users.
30115 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30116 (grub_linux_boot): ... this. Update all users.
30117
30118 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30119 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30120 commands to `linux16' and `initrd16'.
30121 (GRUB_MOD_FINI(linux)): Rename to ...
30122 (GRUB_MOD_FINI(linux16)): ... this.
30123
e4dd5a7e 301242009-03-24 Pavel Roskin <proski@gnu.org>
30125
30126 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30127 not just for compilation.
30128
c04d6e05 301292009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30130
30131 Move multiboot helper out of kernel
30132
30133 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30134 `loader/i386/multiboot_helper.S'.
30135 * conf/i386-coreboot.rmk: Likewise
30136 * conf/i386-ieee1275.rmk: Likewise
30137
30138 * kern/i386/loader.S: Move multiboot helpers from here...
30139 * loader/i386/multiboot_helper.S: ...moved here
30140 * include/grub/i386/loader.h: Move declarations of multiboot
30141 helpers from here...
30142 * include/grub/i386/multiboot.h: ...moved here
30143 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30144
42a5b3fc 301452009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30146
30147 * kern/env.c (grub_env_context_open): Added an argument to specify
30148 whether a new context inherits exported variables from current
30149 one. This is useful when making a sandbox to interpret a config
30150 file.
30151 All callers updated.
30152
30153 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30154
b28bbc4e 301552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30156
30157 * kern/env.c (grub_env_context_close): Fix memory leaks.
30158
f04f02e4 301592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30160
30161 * normal/main.c (grub_normal_execute): Added an argument
30162 BATCH to specify if an interactive interface should be provided
30163 after reading a config file.
30164 All callers updated.
30165 (read_command_list): Prevent being executed twice.
30166 (read_fs_list): Likewise.
30167
42a5b3fc 30168 * include/grub/normal.h (grub_normal_execute): Updated the
30169 prototype.
f04f02e4 30170
41473ac2 301712009-03-22 Pavel Roskin <proski@gno.org>
30172
fbc00b0c 30173 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30174 _start.
30175 * kern/i386/pc/startup.S: Likewise.
30176 * kern/i386/efi/startup.S: Likewise.
30177 * kern/i386/ieee1275/startup.S: Likewise.
30178 * kern/i386/coreboot/startup.S: Likewise.
30179 * kern/x86_64/efi/startup.S: Likewise.
30180
41473ac2 30181 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30182 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30183 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30184
2274cc8f 301852009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30186
30187 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30188
30189 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30190 limit detection.
30191 Use vaddr of correct segment for entry_point.
30192
b1b797cb 301932009-03-21 Bean <bean123ch@gmail.com>
30194
30195 * commands/blocklist.c: Add include file <grub/command.h>, remove
30196 <grub/normal.h> and <grub/arg.h>.
30197 (grub_cmd_blocklist): Use the new command interface.
30198 (GRUB_MOD_INIT): Likewise.
30199 (GRUB_MOD_FINI): Likewise.
30200 * commands/boot.c: Likewise.
30201 * commands/cat.c: Likewise.
30202 * commands/cmp.c: Likewise.
30203 * commands/configfile.c: Likewise.
30204 * commands/crc.c: Likewise.
30205 * commands/echo.c: Likewise.
30206 * commands/halt.c: Likewise.
30207 * commands/handler.c: Likewise.
30208 * commands/hdparm.c: Likewise.
30209 * commands/help.c: Likewise.
30210 * commands/hexdump.c: Likewise.
30211 * commands/loadenv.c: Likewise.
30212 * commands/ls.c: Likewise.
30213 * commands/lsmmap.c: Likewise.
30214 * commands/lspci.c: Likewise.
30215 * commands/loadenv.c: Likewise.
30216 * commands/read.c: Likewise.
30217 * commands/reboot.c: Likewise.
30218 * commands/search.c: Likewise.
30219 * commands/sleep.c: Likewise.
30220 * commands/test.c: Likewise.
30221 * commands/usbtest.c: Likewise.
30222 * commands/videotest.c: Likewise.
30223 * commands/i386/cpuid.c: Likewise.
30224 * commands/i386/pc/halt.c: Likewise.
30225 * commands/i386/pc/play.c: Likewise.
30226 * commands/i386/pc/pxecmd.c: Likewise.
30227 * commands/i386/pc/vbeinfo.c: Likewise.
30228 * commands/i386/pc/vbetest.c: Likewise.
30229 * commands/ieee1275/suspend.c: Likewise.
30230 * disk/loopback.c: Likewise.
30231 * font/font_cmd.c: Likewise.
30232 * hello/hello.c: Likewise.
30233 * loader/efi/appleloader.c: Likewise.
30234 * loader/efi/chainloader.c: Likewise.
30235 * loader/i386/bsd.c: Likewise.
30236 * loader/i386/efi/linux.c: Likewise.
30237 * loader/i386/ieee1275/linux.c: Likewise.
30238 * loader/i386/linux.c: Likewise.
30239 * loader/i386/pc/chainloader.c: Likewise.
30240 * loader/i386/pc/linux.c: Likewise.
30241 * loader/powerpc/ieee1275/linux.c: Likewise.
30242 * loader/multiboot_loader.c: Likewise.
30243 * term/gfxterm.c: Likewise.
30244 * term/i386/pc/serial.c: Likewise.
30245 * term/terminfo.c: Likewise.
30246
30247 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30248 * term/i386/pc/vga.c: Likewise.
30249 * video/readers/jpeg.c: Likewise.
30250 * video/readers/png.c: Likewise.
30251 * video/readers/tga.c: Likewise.
30252
30253 * util/grub-fstest (cmd_loopback): Removed.
30254 (cmd_blocklist): Likewise.
30255 (cmd_ls): Likewise.
30256 (grub_register_command): Likewise.
30257 (grub_unregister_command): Likewise.
30258 (execute_command): Use grub_command_find to locate command and execute
30259 it.
30260
30261 * include/grub/efi/chainloader.h: Removed.
30262 * loader/efi/chainloader_normal.c: Likewise.
30263 * loader/i386/bsd_normal.c: Likewise.
30264 * loader/i386/pc/chainloader_normal.c: Likewise.
30265 * loader/i386/pc/multiboot_normal.c: Likewise.
30266 * loader/linux_normal.c: Likewise.
30267 * loader/multiboot_loader_normal.c: Likewise.
30268 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30269
30270 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30271 and grub_register_command_p1.
30272
30273 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30274 kern/command.c, lib/arg.c and commands/extcmd.c.
30275 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30276 (minicmd_mod_SOURCES): New variable.
30277 (minicmd_mod_CFLAGS): Likewise.
30278 (minicmd_mod_LDFLAGS): Likewise.
30279 (extcmd_mod_SOURCES): Likewise.
30280 (extcmd_mod_CFLAGS): Likewise.
30281 (extcmd_mod_LDFLAGS): Likewise.
30282 (boot_mod_SOURCES): Removed.
30283 (boot_mod_CFLAGS): Likewise.
30284 (boot_mod_LDFLAGS): Likewise.
30285
30286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30287 kern/corecmd.c.
30288 (kernel_img_HEADERS): Add command.h.
30289 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30290 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30291 and lib/arg.c.
30292 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30293 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30294 remove the corresponding normal mode command.
30295 (normal_mod_SOURCES): Remove normal/arg.c.
30296 * conf/i386-coreboot.rmk: Likewise.
30297 * conf/i386-efi.rmk: Likewise.
30298 * conf/i386-ieee1275.rmk: Likewise.
30299 * conf/powerpc-ieee1275.rmk: Likewise.
30300 * conf/x86_64-efi.rmk: Likewise.
30301
30302 * include/grub/arg.h: Move from here ...
30303 * include/grub/lib/arg.h: ... to here.
30304
30305 * normal/arg.c: Move from here ...
30306 * lib/arg.c: ... to here.
30307
30308 * commands/extcmd.c: New file.
30309 * commands/minicmd.c: Likewise.
30310 * include/grub/command.h: Likewise.
30311 * include/grub/extcmd.h: Likewise.
30312 * kern/command.c: Likewise.
30313 * kern/corecmd.c: Likewise.
30314
30315 * kern/list.c (grub_list_iterate): Return int instead of void.
30316 (grub_list_insert): New function.
30317 (grub_prio_list_insert): Likewise.
30318
30319 * kern/rescue.c (grub_rescue_command): Removed.
30320 (grub_rescue_command_list): Likewise.
30321 (grub_rescue_register_command): Likewise.
30322 (grub_rescue_unregister_command): Likewise.
30323 (grub_rescue_cmd_boot): Move to minicmd.c
30324 (grub_rescue_cmd_help): Likewise.
30325 (grub_rescue_cmd_info): Likewise.
30326 (grub_rescue_cmd_boot): Likewise.
30327 (grub_rescue_cmd_testload): Likewise.
30328 (grub_rescue_cmd_dump): Likewise.
30329 (grub_rescue_cmd_rmmod): Likewise.
30330 (grub_rescue_cmd_lsmod): Likewise.
30331 (grub_rescue_cmd_exit): Likewise.
30332 (grub_rescue_print_devices): Moved to corecmd.c.
30333 (grub_rescue_print_files): Likewise.
30334 (grub_rescue_cmd_ls): Likewise.
30335 (grub_rescue_cmd_insmod): Likewise.
30336 (grub_rescue_cmd_set): Likewise.
30337 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30338 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30339 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30340 commands, remove grub_rescue_register_command calls.
b1b797cb 30341
7d074e3c 30342 * normal/command.c (grub_register_command): Removed.
b1b797cb 30343 (grub_unregister_command): Likewise.
30344 (grub_command_find): Likewise.
30345 (grub_iterate_commands): Likewise.
30346 (rescue_command): Likewise.
30347 (export_command): Moved to corecmd.c.
30348 (set_command): Removed.
30349 (unset_command): Likewise.
30350 (insmod_command): Likewise.
30351 (rmmod_command): Likewise.
30352 (lsmod_command): Likewise.
30353 (grub_command_init): Likewise.
30354
30355 * normal/completion.c (iterate_command): Use cmd->prio to check for
30356 active command.
30357 (complete_arguments): Use grub_extcmd_t structure to find options.
30358 (grub_normal_do_completion): Change function grub_iterate_commands to
30359 grub_command_iterate.
30360
30361 * normal/execute.c (grub_script_execute_cmd): No need to parse
30362 argument here.
30363
30364 * normal/main.c (grub_dyncmd_dispatcher): New function.
30365 (read_command_list): Register unload commands as dyncmd.
30366 (grub_cmd_normal): Use new command interface, register rescue,
30367 unregister normal at entry, register normal, unregister rescue at exit.
30368
30369 * include/grub/list.h (grub_list_test_t): New type.
30370 (grub_list_iterate): Return int instead of void.
30371 (grub_list_insert): New function.
30372 (GRUB_AS_NAMED_LIST_P): New macro.
30373 (GRUB_AS_PRIO_LIST): Likewise.
30374 (GRUB_AS_PRIO_LIST_P): Likewise.
30375 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30376 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30377 (grub_prio_list): New structure.
30378 (grub_prio_list_insert): New function.
30379 (grub_prio_list_remove): New inline function.
30380
30381 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30382 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30383 (GRUB_COMMAND_FLAG_MENU): Likewise.
30384 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30385 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30386 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30387 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30388 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30389 (grub_command): Likewise.
30390 (grub_register_command): Likewise.
30391 (grub_command_find): Likewise.
30392 (grub_iterate_commands): Likewise.
30393 (grub_command_init): Likewise.
30394 (grub_arg_parse): Likewise.
30395 (grub_arg_show_help): Likewise.
30396
30397 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30398 (grub_rescue_unregister_command): Likewise.
30399
30400 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30401 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30402 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30403
30404 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30405 grub_rescue_cmd_initrd.
30406 * include/grub/i386/loader.h: Likewise.
30407 * include/grub/x86_64/loader.h: Likewise.
30408
30409 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30410
1f4147aa 304112009-03-21 Bean <bean123ch@gmail.com>
30412
30413 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30414 instead of stat in mingw environment.
30415
30416 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30417
30418 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30419
30420 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30421 AC_CONFIG_LINKS.
30422
2156d5ba 304232009-03-21 Bean <bean123ch@gmail.com>
30424
30425 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30426 out of range error.
30427
177b82ca 304282009-03-18 Michel Dänzer <michel@daenzer.net>
30429
30430 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30431 checking inode flags for EXT4_EXTENTS_FLAG.
30432
14aad807 304332009-03-18 Robert Millan <rmh@aybabtu.com>
30434
30435 * loader/i386/linux.c: Include `<grub/video.h>' and
30436 `<grub/i386/pc/vbe.h>'..
30437 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30438 (grub_linux32_boot): Attempt to configure video settings with
30439 grub_linux_setup_video().
30440 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30441 to avoid grub_console_fini() which would step out of graphical mode
30442 unconditionally.
30443
8cf83a27 304442009-03-14 Robert Millan <rmh@aybabtu.com>
30445
30446 Fix build on powerpc.
30447 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30448
40164e75 304492009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30450
30451 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30452 background image command.
30453
c58bc32a 304542009-03-12 Colin D Bennett <colin@gibibit.com>
30455
30456 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30457 (grub_gfxterm_putchar): Extract pairs of identical calls to
30458 draw_cursor out of conditional blocks.
30459
5415144a 304602009-03-11 Pavel Roskin <proski@gnu.org>
30461
30462 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30463 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30464
6394042e 304652009-03-11 Robert Millan <rmh@aybabtu.com>
30466
30467 * loader/i386/multiboot_elfxx.c
30468 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30469
b7b50e5f 304702009-03-11 Felix Zielcke <fzielcke@z-51.de>
30471
30472 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30473 `kern/handler.c'.
30474
1ca7fc96 304752009-03-11 Robert Millan <rmh@aybabtu.com>
30476
30477 * loader/i386/multiboot.c (code_size): New variable.
30478 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30479 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30480 4-byte alignment to MBI and others by increasing
7d074e3c 30481 `boot_loader_name_length' appropriately.
1ca7fc96 30482
30483 * loader/i386/multiboot_elfxx.c
30484 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30485
a83ea1d2 304862009-03-09 Felix Zielcke <fzielcke@z-51.de>
30487
30488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30489 `fs/ext2.c'.
30490
aa9f3bff 304912009-03-08 Robert Millan <rmh@aybabtu.com>
30492
30493 Make loader/i386/linux.c usable on i386-pc again.
30494
30495 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30496 memory to heap.
30497 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30498 `#error' stanza.
30499
d8b3b60e 305002009-03-07 Bean <bean123ch@gmail.com>
30501
30502 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30503 allocation.
30504
b362c9e9 305052009-03-06 Robert Millan <rmh@aybabtu.com>
30506
30507 Fix display issue on terminals with screen size other than 80x25
30508 (e.g. gfxterm with resolution higher than 640x480).
30509
30510 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30511 position relative to the center of the terminal instead of relying
b362c9e9 30512 on a hardcoded offset.
30513
9304eef1 305142009-03-04 Robert Millan <rmh@aybabtu.com>
30515
30516 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30517 installed.
30518
30519 * Makefile.in (host_kernel): New variable.
30520 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30521 scripts instead of just the windows one.
30522 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30523
eabc95fb 305242009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30525
30526 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30527 `kern/handler.c'.
30528 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30529 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30533 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30534
ceb1223c 305352009-03-04 Felix Zielcke <fzielcke@z-51.de>
30536
30537 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30538 or if there's no space for the disk label and print the partition number on a
30539 invalid magic.
30540
4910684a 305412009-03-04 Felix Zielcke <fzielcke@z-51.de>
30542
30543 * util/misc.c: Include <time.h>.
30544 (grub_millisleep): New function.
30545
7e9ca17a 305462009-03-04 Bean <bean123ch@gmail.com>
30547
30548 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30549 another option -mno-red-zone.
30550
30551 * commands/handler.c: Change module description.
30552
30553 * kern/handler.c: Add missing space at the end of description line.
30554
30555 * kern/list.c: Likewise.
30556
f501677c 305572009-03-03 Robert Millan <rmh@aybabtu.com>
30558
30559 Move more components to the relocation area, and fix mbi pointer
30560 handling to use the destination rather than the origin (thanks to
30561 Vladimir Serbinenko for spotting).
30562
30563 * loader/i386/multiboot.c (mbi_dest): New variable.
30564 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30565 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30566 relocation area.
30567
9902d047 305682009-03-01 Bean <bean123ch@gmail.com>
30569
50fb7002 30570 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30571 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30572 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30573 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30574
30575 * loader/i386/efi/linux.c (acpi_guid): New variable.
30576 (acpi_guid): Likewise.
30577 (EBDA_SEG_ADDR): New constant.
30578 (LOW_MEM_ADDR): Likewise.
30579 (FAKE_EBDA_SEG): Likewise.
30580 (fake_bios_data): New function.
30581 (grub_linux_boot): Call fake_bios_data.
30582
71b9f361 305832009-03-01 Bean <bean123ch@gmail.com>
30584
30585 * commands/terminal.c: Removed.
30586
30587 * commands/handler.c: New file.
30588
30589 * include/grub/list.h: Likewise.
30590
30591 * include/grub/handler.h: Likewise.
30592
30593 * kern/list.c: Likewise.
30594
30595 * kern/handler.c: Likewise.
30596
30597 * kern/term.h: Include header file <grub/handler.h>.
30598 (grub_term_input): Move next field to the beginning.
30599 (grub_term_output): Likewise.
30600 (grub_term_input_class): New variable.
30601 (grub_term_output_class): Likewise.
30602 (grub_term_register_input): Changed to inline function.
30603 (grub_term_register_output): Likewise.
30604 (grub_term_unregister_input): Likewise.
30605 (grub_term_unregister_output): Likewise.
30606 (grub_term_set_current_input): Likewise.
30607 (grub_term_set_current_output): Likewise.
30608 (grub_term_get_current_input): Likewise.
30609 (grub_term_get_current_output): Likewise.
30610 (grub_term_iterate_input): Removed.
30611 (grub_term_iterate_output): Likewise.
30612
30613 * kern/term.c (grub_term_list_input): Removed.
30614 (grub_term_list_output): Likewise.
30615 (grub_term_input_class): New variable.
30616 (grub_term_output_class): Likewise.
50fb7002 30617 (grub_cur_term_input): Change variable as macro.
71b9f361 30618 (grub_cur_term_output): Likewise.
30619 (grub_term_register_input): Removed.
30620 (grub_term_register_output): Likewise.
30621 (grub_term_unregister_input): Likewise.
30622 (grub_term_unregister_output): Likewise.
30623 (grub_term_set_current_input): Likewise.
30624 (grub_term_set_current_output): Likewise.
30625 (grub_term_iterate_input): Likewise.
30626 (grub_term_iterate_output): Likewise.
30627 (grub_term_get_current_input): Likewise.
30628 (grub_term_get_current_output): Likewise.
30629
30630 * util/grub-editenv.c: Include header file <grub/handler.h>.
30631 (grub_term_get_current_input): Removed.
30632 (grub_term_get_current_output): Likewise.
30633 (grub_term_input_class): New variable.
50fb7002 30634 (grub_term_output_class): Likewise.
71b9f361 30635
30636 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30637 (grub_term_get_current_output): Likewise.
30638 (grub_term_input_class): New variable.
50fb7002 30639 (grub_term_output_class): Likewise.
71b9f361 30640
30641 * util/grub-probe.c (grub_term_get_current_input): Removed.
30642 (grub_term_get_current_output): Likewise.
30643 (grub_term_input_class): New variable.
50fb7002 30644 (grub_term_output_class): Likewise.
71b9f361 30645
30646 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30647 (grub_term_get_current_output): Likewise.
30648 (grub_term_input_class): New variable.
50fb7002 30649 (grub_term_output_class): Likewise.
71b9f361 30650
30651 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30652 (terminal_mod_SOURCES): Likewise.
30653 (terminal_mod_CFLAGS): Likewise.
30654 (terminal_mod_LDFLAGS): Likewise.
30655
30656 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30657 handler.c.
30658 (kernel_img_SOURCES): Add list.c and handler.c.
30659 (kernel_img_HEADERS): Add list.h and handler.h.
30660
30661 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30662 handler.c.
30663 (kernel_mod_SOURCES): Add list.c and handler.c.
30664 (kernel_mod_HEADERS): Add list.h and handler.h.
30665
30666 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30667 handler.c.
30668 (kernel_elf_SOURCES): Add list.c and handler.c.
30669 (kernel_elf_HEADERS): Add list.h and handler.h.
30670
30671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30672 handler.c.
30673 (kernel_elf_SOURCES): Add list.c and handler.c.
30674 (kernel_elf_HEADERS): Add list.h and handler.h.
30675
30676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30677 handler.c.
30678 (kernel_mod_SOURCES): Add list.c and handler.c.
30679 (kernel_mod_HEADERS): Add list.h and handler.h.
30680
30681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30682 handler.c.
30683 (kernel_elf_SOURCES): Add list.c and handler.c.
30684 (kernel_elf_HEADERS): Add list.h and handler.h.
30685
8a31787f 306862009-02-27 Robert Millan <rmh@aybabtu.com>
30687
30688 Factorize elf32 / elf64 code in Multiboot loader. This will
30689 prevent it from getting out of sync again.
30690
30691 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30692 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30693 grub_multiboot_load_elf64): Move from here ...
30694 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30695 grub_multiboot_load_elf): ... to here (new file).
30696
51cd3dfc 306972009-02-27 Robert Millan <rmh@aybabtu.com>
30698
30699 * util/grub.d/10_linux.in: Rename "single-user mode" to
30700 "recovery mode".
30701
6e8c9c3a 307022009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30703
30704 Don't leak in SCSI code.
30705 * disk/scsi.c (grub_scsi_close): free `scsi'.
30706
4b6bf4f9 307072009-02-27 Robert Millan <rmh@aybabtu.com>
30708
30709 * loader/i386/pc/multiboot.c: Move from here ...
30710 * loader/i386/multiboot.c: ... to here. Update all users.
30711
b9413424 307122009-02-27 Robert Millan <rmh@aybabtu.com>
30713
30714 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30715 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30716
50fb7002 307172009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30718
30719 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30720 b-tree.
30721
8cc50345 307222009-02-27 Robert Millan <rmh@aybabtu.com>
30723
30724 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30725 `0x' qualifier as 0 when base is specified as parameter).
30726
6e09b8b7 307272009-02-24 Bean <bean123ch@gmail.com>
30728
30729 * configure.ac: Check for -mcmodel=large in x86_64 target.
30730
30731 * include/grub/efi/api.h (efi_call_10): New macro.
30732 (efi_wrap_10): New function.
30733
30734 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30735 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30736 (GRUB_PE32_REL_BASED_LOW): Likewise.
30737 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30738 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30739 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30740 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30741 (GRUB_PE32_REL_BASED_REL): Likewise.
30742 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30743 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30744 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30745
30746 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30747 issue.
30748
30749 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30750 (efi_wrap_10): New function.
30751
30752 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30753
30754 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30755 MB/MBP model (NV chipset).
30756 (devdata_devs): Add devpath_5 to the list.
30757
30758 * load/i386/efi/linux.c (video_base): Remove variable.
30759 (RGB_MASK): New macro.
30760 (RGB_MAGIC): Likewise.
30761 (LINE_MIN): Likewise.
30762 (LINE_MAX): Likewise.
30763 (FBTEST_STEP): Likewise.
30764 (FBTEST_COUNT): Likewise.
30765 (fb_list): New variable.
30766 (grub_find_video_card): Remove function.
30767 (find_framebuf): New function.
30768 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30769 line length.
30770
30771 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30772 problem for x86_64.
30773
74b21bee 307742009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30775
30776 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30777
30778 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30779 coding tool name.
30780
a455f472 307812009-02-22 Robert Millan <rmh@aybabtu.com>
30782
30783 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30784 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30785 in our relocation, instead of using it directly from heap. Also
30786 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30787
6374daf3 307882009-02-21 Robert Millan <rmh@aybabtu.com>
30789
30790 Implement USB keyboard support (based on patch by Marco Gerards)
30791
30792 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30793 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30794 (usb_keyboard_mod_LDFLAGS): New variables.
30795
30796 * term/usb_keyboard.c: New file.
30797
8fa4ea70 307982009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30799
30800 Corrected wrong declaration
30801
30802 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30803
353976ac 308042009-02-14 Christian Franke <franke@computer.org>
30805
30806 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30807 (grub_lspci_iter): Print class code and programming interface byte.
30808
6aa1169b 308092009-02-14 Christian Franke <franke@computer.org>
30810
30811 * gendistlist.sh: Ignore `.svn' directories.
30812
265372ca 308132009-02-14 Felix Zielcke <fzielcke@z-51.de>
30814
30815 * fs/fat.c: Add 2009 to Copyright line.
30816
9ff516f3 308172009-02-14 Christian Franke <franke@computer.org>
30818
30819 * commands/hdparm.c: New file. Provides `hdparm' command
30820 which sends ATA commands via grub_disk_ata_pass_through ().
30821
30822 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30823
30824 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30825 and <grub/cpu/io.h> to include/grub/ata.h.
30826 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30827 (GRUB_CDROM_SECTOR_SIZE): Remove.
30828 (GRUB_ATA_*): Move to include/grub/ata.h.
30829 (GRUB_ATAPI_*): Likewise.
30830 (enum grub_ata_commands): Likewise.
30831 (enum grub_ata_timeout_milliseconds): Likewise.
30832 (struct grub_ata_device): Likewise.
30833 (grub_ata_regset): Likewise.
30834 (grub_ata_regget): Likewise.
30835 (grub_ata_regset2): Likewise.
30836 (grub_ata_regget2): Likewise.
30837 (grub_ata_check_ready): Likewise.
30838 (grub_ata_wait_not_busy): Remove static, exported in
30839 include/grub/ata.h.
30840 (grub_ata_wait_drq): Likewise.
30841 (grub_ata_pio_read): Likewise.
30842
30843 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30844 function for hdparm.mod.
30845
30846 * include/grub/ata.h: New file, contains declarations from
30847 disk/ata.c.
30848 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30849
30850 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30851 (grub_disk_ata_pass_through): New exported variable.
30852
30853 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30854
772e23da 308552009-02-13 Colin D Bennett <colin@gibibit.com>
30856
30857 Support multiple fallback entries, and provide an API to support
30858 executing default+fallback menu entries. Renamed the `terminal' menu
30859 viewer to `text'.
30860
30861 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30862 variable declaration.
30863 (grub_menu_execute_callback): New structure declaration.
30864 (grub_menu_execute_callback_t): New typedef.
30865 (grub_menu_execute_with_fallback): New function declaration.
30866 (grub_menu_get_entry): Likewise.
30867 (grub_menu_get_timeout): Likewise.
30868 (grub_menu_set_timeout): Likewise.
30869
30870 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30871
30872 * normal/menu.c (grub_wait_after_message): Moved to
30873 `normal/menu_text.c'.
30874 (draw_border): Likewise.
30875 (print_message): Likewise.
30876 (print_entry): Likewise.
30877 (print_entries): Likewise.
30878 (grub_menu_init_page): Likewise.
30879 (get_entry_number): Likewise.
30880 (print_timeout): Likewise.
30881 (run_menu): Likewise.
30882 (grub_menu_execute_entry): Likewise.
30883 (show_text_menu): Likewise.
30884 (get_and_remove_first_entry_number): New function.
30885 (grub_menu_execute_with_fallback): Likewise.
30886 (get_entry): Renamed to ...
30887 (grub_menu_get_entry): .. this and made it global.
30888 (get_timeout): Renamed to ...
30889 (grub_menu_get_timeout): ... this and made it global.
30890 (set_timeout): Renamed to ...
30891 (grub_menu_set_timeout): ... this and made it global.
30892 (grub_normal_terminal_menu_viewer): Renamed to ...
30893 (grub_normal_text_menu_viewer): ... this.
30894
30895 * normal/menu_text.c: New file. Extracted text-menu-specific code
30896 from normal/menu.c.
30897
30898 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30899 (normal_mod_SOURCES): Likewise.
30900
30901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30902 (normal_mod_SOURCES): Likewise.
30903
30904 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30905 (normal_mod_SOURCES): Likewise.
30906
30907 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30908 (normal_mod_SOURCES): Likewise.
30909
30910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30911 (normal_mod_SOURCES): Likewise.
30912
30913 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30914 (normal_mod_SOURCES): Likewise.
30915
30916 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30917 (normal_mod_SOURCES): Likewise.
30918
16ac430e 309192009-02-11 Robert Millan <rmh@aybabtu.com>
30920
30921 * util/grub.d/00_header.in: Update old reference to `font' command.
30922
06ff20fc 309232009-02-10 Felix Zielcke <fzielcke@z-51.de>
30924
30925 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30926
30927 Based on patch from Javier Martín.
30928
96da9407 309292009-02-09 Felix Zielcke <fzielcke@z-51.de>
30930
30931 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30932 to avoid false positives with FAT.
96da9407 30933 (grub_fstest_SOURCES): Likewise.
30934 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30935 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30939 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30940
6dca6fe4 309412009-02-09 Felix Zielcke <fzielcke@z-51.de>
30942
06ff20fc 30943 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30944 bpb.version_specific.fat12_or_fat16.fstype and
30945 bpb.version_specific.fat32.fstype.
30946
2550c62f 309472009-02-08 Robert Millan <rmh@aybabtu.com>
30948
be110b30 30949 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30950
56978920 309512009-02-08 Robert Millan <rmh@aybabtu.com>
30952
30953 * Makefile.in (host_os, host_cpu): New variables.
30954 (target_os): Remove. Update all users.
30955
d64399b5 309562009-02-08 Marco Gerards <marco@gnu.org>
30957
30958 * Makefile.in (enable_grub_emu_usb): New variable.
30959 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30960 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30961 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30962 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30963 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30964 `usbtest.mod' and `usbms.mod'.
30965 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30966 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30967 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30968 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30969 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30970 variables.
30971
30972 * disk/usbms.c: New file.
30973
30974 * include/grub/usb.h: Likewise.
30975
30976 * include/grub/usbtrans.h: Likewise.
30977
30978 * include/grub/usbdesc.h: Likewise.
30979
30980 * bus/usb/usbtrans.c: Likewise.
30981
30982 * bus/usb/ohci.c: Likewise.
30983
30984 * bus/usb/uhci.c: Likewise.
30985
30986 * bus/usb/usbhub.c: Likewise.
30987
30988 * bus/usb/usb.c: Likewise.
30989
30990 * commands/usbtest.c: Likewise.
30991
30992 * util/usb.c: Likewise.
50fb7002 30993
d64399b5 30994 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30995
30996 * configure.ac: Test for libusb presence.
50fb7002 30997
d64399b5 30998 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30999
2b40d6bb 310002009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31001
31002 * kern/mm.c: Add more comments.
31003
73a4ce81 310042009-02-08 Robert Millan <rmh@aybabtu.com>
31005
31006 Patch from Javier Martín.
31007 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31008 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31009
f821ce59 310102009-02-08 Robert Millan <rmh@aybabtu.com>
31011
31012 * fs/cpio.c: Split tar functionality to ...
31013 * fs/tar.c: ... here (new file). Update all users.
31014
aebfc4b0 310152009-02-07 Robert Millan <rmh@aybabtu.com>
31016
31017 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31018 backward-incompatible features.
31019
31020 Based on patch from Javier Martín, with some adjustments.
31021
50fb7002 310222009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31023
31024 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31025
0bb5115e 310262009-02-07 Robert Millan <rmh@aybabtu.com>
31027
31028 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31029 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31030 after the RAID stuff.
31031
38a0f8e7 310322009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31033
50fb7002 31034 Fixes problem when running vbetest command as reported by
38a0f8e7 31035 Vladimir Serbinenko <phcoder@gmail.com>.
31036
31037 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31038
3143cc1c 310392009-02-04 Felix Zielcke <fzielcke@z-51.de>
31040
31041 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31042 /dev/md/NpN style mdraid devices.
31043
9cba6fce 310442009-02-03 Felix Zielcke <fzielcke@z-51.de>
31045
31046 * util/unifont2pff.rb: Remove.
31047
e507a2c1 310482009-02-03 Felix Zielcke <fzielcke@z-51.de>
31049
31050 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31051 `#'.
31052
d2c2b4cd 310532009-02-03 Felix Zielcke <fzielcke@z-51.de>
31054
31055 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31056 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31057 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31062
b4315fb0 310632009-02-02 Christian Franke <franke@computer.org>
31064
31065 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31066
de3aa260 310672009-02-01 Felix Zielcke <fzielcke@z-51.de>
31068
7c3ff286 31069 * INSTALL: Note that we now require at least autoconf 2.59 and
31070 that LZO is optional.
de3aa260 31071
825a182b 310722009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31073
31074 Base on patch on bug #24154 created by Tomas Tintera
31075 <trosos@seznam.cz>.
31076
31077 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31078
a69ef770 310792009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31080
7c3ff286 31081 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31082 <bero@arklinux.org>.
31083
31084 * normal/parser.y (script_init): Add missing semicolon.
31085
6fa42fa6 310862009-01-31 Colin D Bennett <colin@gibibit.com>
31087
7c3ff286 31088 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31089 (free_menu_entry_classes): Added.
31090 (grub_normal_menu_addentry): Added class property handling.
31091 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31092 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31093
31094 * normal/menu_viewer.c: New file.
31095
31096 * normal/menu.c (run_menu_entry): Renamed to ...
31097 (grub_menu_execute_entry): ... this and made it as global.
31098 (grub_menu_run): Renamed to ...
31099 (show_text_menu): ... this and made it local.
31100 (show_text_menu): Adapt to new function names.
31101 (grub_normal_terminal_menu_viewer): New global variable.
31102
31103 * include/grub/menu.h: New file.
31104
31105 * include/grub/menu_viewer.h: New file.
31106
31107 * include/grub/normal.h: Added include to grub/menu.h.
31108 (grub_menu_entry): Moved to include/grub/menu.h.
31109 (grub_menu_entry_t): Likewise.
31110 (grub_menu): Likewise.
31111 (grub_menu_t): Likewise.
31112 (grub_normal_terminal_menu_viewer): Added.
31113 (grub_menu_execute_entry): Likewise.
31114 (grub_menu_run): Removed.
31115
31116 * DISTLIST: Added include/grub/menu.h.
31117 Added include/grub/menu_viewer.h.
31118 Added normal/menu_viewer.c.
31119
311202009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31121
31122 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31123 arglist for menutitle arguments.
31124
31125 * normal/main.c (grub_normal_menu_addentry): Likewise.
31126
31127 * normal/parser.y (menuentry): Likewise.
31128
31129 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31130
31131 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31132 (grub_script_create_cmdmenu): Likewise.
31133
31134 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31135
31136 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31137 changes.
31138
31139 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31140
31141 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31142
31143 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31144
31145 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31146
31147 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31148
31149 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31150
56192c23 311512009-01-30 Christian Franke <franke@computer.org>
31152
31153 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31154 in option help text.
31155
d72521b3 311562009-01-27 Pavel Roskin <proski@gnu.org>
31157
31158 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31159
994b5e84 311602009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31161
31162 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31163
31164 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31165
31166 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31167 unregister function.
31168
6a7eab2c 311692009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31170
31171 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31172
31173 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31174
31175 * util/grub-mkfont.c (usage): Fix typo.
31176
31177 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31178
1806b56e 311792009-01-26 Daniel Mierswa <impulze@impulze.org>
31180
3fb18f09 31181 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31182
336e1fb9 31183 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31184
1806b56e 31185 * kern/misc.c (grub_strcasecmp): New function.
31186 (grub_strcasecmp): Use grub_size_t instead of int for length.
31187 Fix return value.
31188 * include/grub/misc.h: Update function prototypes.
31189
580b2a0f 311902009-01-26 Robert Millan <rmh@aybabtu.com>
31191
31192 * configure.ac: Fix cross-compilation check.
ef257b36 31193
d31c24f1 311942009-01-22 Christian Franke <franke@computer.org>
31195
31196 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31197 (precision) digit string. Allow `.format2' without `format1' (width).
31198 Limit input chars for `%s' output to `format2' if specified. This is
31199 compatible with standard printf ().
31200
3138b44c 312012009-01-22 Christian Franke <franke@computer.org>
31202
31203 * disk/ata.c (grub_ata_wait_status): Replace by ...
31204 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31205 other status bits may be invalid while BSY is asserted.
31206 (grub_ata_check_ready): New function.
31207 (grub_ata_cmd): Removed.
31208 (grub_ata_wait_drq): New function.
31209 (grub_ata_strncpy): Remove inline.
31210 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31211 and error check now done by grub_ata_wait_drq ().
31212 (grub_ata_pio_write): Likewise.
31213 (grub_atapi_identify): Set DEV before check for !BSY. Use
31214 grub_ata_wait_drq () to wait for data.
31215 (grub_ata_device_initialize): Add status register check to
31216 detect missing SATA slave devices. Add debug messages.
31217 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31218 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31219 transfer loop by grub_ata_pio_write ().
31220 (grub_ata_identify): Set DEV before check for !BSY. Use
31221 grub_ata_wait_drq () to wait for data.
ef257b36 31222 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31223 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31224 read/write in one loop. Fix invalid command on write. Fix incomplete
31225 command on (size % batch) == 0. Add missing error check after write of
31226 last block. Add debug messages.
31227 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31228
59a64ef6 312292009-01-19 Christian Franke <franke@computer.org>
31230
31231 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31232 (GRUB_ATAPI_IREASON_*): Likewise.
31233 (grub_ata_pio_write): Fix timeout error return.
31234 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31235 (grub_atapi_wait_drq): New function.
31236 (grub_atapi_packet): New parameter `size'.
31237 Use grub_atapi_wait_drq () and direct write instead of
31238 grub_ata_pio_write ().
31239 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31240 reads the number of bytes requested by the device for each DRQ
31241 assertion.
31242 (grub_atapi_write): Remove old implementation, return not
31243 implemented instead.
31244
1cfe20b3 312452009-01-19 Christian Franke <franke@computer.org>
31246
31247 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31248 of 512 to calculate data size.
31249 (grub_scsi_read12): Likewise.
31250 (grub_scsi_write10): Likewise.
31251 (grub_scsi_write12): Likewise.
31252 (grub_scsi_read): Adjust size according to blocksize.
31253 Add checks for invalid blocksize and unaligned transfer.
31254
bee5fe5d 312552009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31256
31257 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31258
ef257b36 31259 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31260 width glyphs.
31261
3e643f8c 312622009-01-19 Robert Millan <rmh@aybabtu.com>
31263
31264 * config.guess: Update to latest version from config git.
31265 * config.sub: Likewise.
31266
4fa80998 312672009-01-17 Felix Zielcke <fzielcke@z-51.de>
31268
31269 * Makefile.in: Change font compilation to use new grub-mkfont instead
31270 of java version.
31271
31272 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31273 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31274 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31275 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31276 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31277 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31278 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31279 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31280 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31281
7086085b 312822009-01-16 Christian Franke <franke@computer.org>
31283
31284 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31285 (enum grub_ata_timeout_milliseconds): New enum.
31286 (grub_ata_wait_status): Add parameter milliseconds.
31287 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31288 recovery from timed-out commands.
31289 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31290 return grub_errno instead of REG_ERROR.
31291 (grub_ata_pio_write): Add parameter milliseconds.
31292 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31293 Pass milliseconds to grub_ata_wait_status () and
31294 grub_ata_pio_read ().
31295 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31296 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31297 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31298 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31299 It is not suitable for device detection, because DEV bit is ignored,
31300 the command may run too long, and not all devices set the signature
31301 properly.
31302 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31303 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31304 Fix device selection, DEV bit must be set first to address the registers
31305 of the correct device.
31306 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31307 grub_ata_pio_read/write ().
31308 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31309 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31310
4a412913 313112009-01-13 Carles Pina i Estany <carles@pina.cat>
31312
31313 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31314
7795c55e 313152009-01-13 Bean <bean123ch@gmail.com>
d913988c 31316
31317 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31318
7795c55e 313192009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31320
31321 * Makefile.in: (enable_grub_mkfont): New variable.
31322 (freetype_cflags): Likewise.
31323 (freetype_libs): Likewise.
31324
31325 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31326 (grub_mkfont_SOURCES): New variable.
31327 (grub_mkfont_CFLAGS): Likewise.
31328 (grub_mkfont_LDFLAGS): Likewise.
31329
31330 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31331 library if `--enable-grub-mkfont' is requested.
31332 (enable_grub_mkfont): New variable.
31333 (freetype_cflags): Likewise.
31334 (freetype_libs): Likewise.
31335
31336 * util/grub-mkfont.c: New file.
31337
093af1fe 313382009-01-12 Christian Franke <franke@computer.org>
31339
31340 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31341 mode check. Fix setting of compat_use[].
31342
f36cc108 313432009-01-10 Robert Millan <rmh@aybabtu.com>
31344
31345 Update a few copyright years which we forgot to do in 2008 (only for
31346 files whose changes made in 2008 were copyright-significant)
31347
31348 * Makefile.in: Add 2008 to Copyright line.
31349 * disk/ieee1275/ofdisk.c: Likewise.
31350 * disk/efi/efidisk.c: Likewise.
31351 * kern/dl.c: Likewise.
31352 * kern/sparc64/ieee1275/init.c: Likewise.
31353 * kern/mm.c: Likewise.
31354 * kern/efi/mm.c: Likewise.
31355 * boot/i386/pc/boot.S: Likewise.
31356 * genfslist.sh: Likewise.
31357 * fs/iso9660.c: Likewise.
31358 * fs/hfs.c: Likewise.
31359 * fs/jfs.c: Likewise.
31360 * fs/minix.c: Likewise.
31361 * fs/ufs.c: Likewise.
31362 * gensymlist.sh.in: Likewise.
31363 * genkernsyms.sh.in: Likewise.
31364 * include/grub/misc.h: Likewise.
31365 * include/grub/types.h: Likewise.
31366 * include/grub/symbol.h: Likewise.
31367 * include/grub/elf.h: Likewise.
31368 * include/grub/kernel.h: Likewise.
31369 * include/grub/disk.h: Likewise.
31370 * include/grub/dl.h: Likewise.
31371 * include/grub/i386/linux.h: Likewise.
31372 * include/grub/i386/pc/biosdisk.h: Likewise.
31373 * include/grub/efi/api.h: Likewise.
31374 * include/grub/efi/pe32.h: Likewise.
31375 * include/grub/util/misc.h: Likewise.
31376 * normal/execute.c: Likewise.
31377 * normal/arg.c: Likewise.
31378 * normal/completion.c: Likewise.
31379 * normal/lexer.c: Likewise.
31380 * normal/parser.y: Likewise.
31381 * normal/misc.c: Likewise.
31382 * commands/i386/pc/vbeinfo.c: Likewise.
31383 * commands/hexdump.c: Likewise.
31384 * commands/terminal.c: Likewise.
31385 * commands/ls.c: Likewise.
31386 * commands/help.c: Likewise.
31387 * partmap/pc.c: Likewise.
31388 * loader/efi/chainloader.c: Likewise.
31389 * loader/multiboot_loader.c: Likewise.
31390 * loader/i386/pc/multiboot2.c: Likewise.
31391 * term/efi/console.c: Likewise.
31392 * term/i386/pc/serial.c: Likewise.
31393 * util/lvm.c: Likewise.
31394 * util/console.c: Likewise.
31395 * util/i386/efi/grub-mkimage.c: Likewise.
31396 * util/raid.c: Likewise.
31397
7f02114b 313982009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31399
31400 * commands/videotest.c: Removed include to grub/machine/memory.h.
31401
31402 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31403 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31404 (video_mod_SOURCES): Removed.
31405 (video_mod_CFLAGS): Likewise.
31406 (video_mod_LDFLAGS): Likewise.
31407 (gfxterm_mod_SOURCES): Likewise.
31408 (gfxterm_mod_CFLAGS): Likewise.
31409 (gfxterm_mod_LDFLAGS): Likewise.
31410 (videotest_mod_SOURCES): Likewise.
31411 (videotest_mod_CFLAGS): Likewise.
31412 (videotest_mod_LDFLAGS): Likewise.
31413 (bitmap_mod_SOURCES): Likewise.
31414 (bitmap_mod_CFLAGS): Likewise.
31415 (bitmap_mod_LDFLAGS): Likewise.
31416 (tga_mod_SOURCES): Likewise.
31417 (tga_mod_CFLAGS): Likewise.
31418 (tga_mod_LDFLAGS): Likewise.
31419 (jpeg_mod_SOURCES): Likewise.
31420 (jpeg_mod_CFLAGS): Likewise.
31421 (jpeg_mod_LDFLAGS): Likewise.
31422 (png_mod_SOURCES): Likewise.
31423 (png_mod_CFLAGS): Likewise.
31424 (png_mod_LDFLAGS): Likewise.
31425
31426 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31427 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31428 (video_mod_SOURCES): Added.
31429 (video_mod_CFLAGS): Likewise.
31430 (video_mod_LDFLAGS): Likewise.
31431 (videotest_mod_SOURCES): Likewise.
31432 (videotest_mod_CFLAGS): Likewise.
31433 (videotest_mod_LDFLAGS): Likewise.
31434 (bitmap_mod_SOURCES): Likewise.
31435 (bitmap_mod_CFLAGS): Likewise.
31436 (bitmap_mod_LDFLAGS): Likewise.
31437 (tga_mod_SOURCES): Likewise.
31438 (tga_mod_CFLAGS): Likewise.
31439 (tga_mod_LDFLAGS): Likewise.
31440 (jpeg_mod_SOURCES): Likewise.
31441 (jpeg_mod_CFLAGS): Likewise.
31442 (jpeg_mod_LDFLAGS): Likewise.
31443 (png_mod_SOURCES): Likewise.
31444 (png_mod_CFLAGS): Likewise.
31445 (png_mod_LDFLAGS): Likewise.
31446 (gfxterm_mod_SOURCES): Likewise.
31447 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31448 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31449
31450 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31451 grub/machine/console.h.
31452
644fff97 314532009-01-04 Jerone Young <jerone@gmail.com>
31454
31455 Make on screen instructions clearer
31456
31457 Based on patch created by Jidanni <jidanni@jidanni.org>
31458
31459 * normal/menu.c: print clearer instructions on the screen
31460
1e901a75 314612009-01-02 Colin D Bennett <colin@gibibit.com>
31462
31463 New font engine.
34c44600 31464
1e901a75 31465 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31466 build system and fixed gfxterm.c to work with different sized fonts.
31467
31468 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31469
1e901a75 31470 * configure: Re-generated.
34c44600 31471
1e901a75 31472 * DISTLIST: Removed font/manager.c.
31473 Added font/font.c.
31474 Added font/font_cmd.c.
34c44600 31475
1e901a75 31476 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31477 compilation.
34c44600 31478
1e901a75 31479 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31480
31481 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31482
31483 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31484
1e901a75 31485 * normal/menu.c: Likewise.
34c44600 31486
1e901a75 31487 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31488 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31489
1e901a75 31490 * include/grub/font.h: Replaced with new file.
34c44600 31491
1e901a75 31492 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31493 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31494 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31495 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31496 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31497 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31498 fg_red, fg_green, fg_blue, fg_alpha.
31499 (grub_video_adapter): Removed blit_glyph.
34c44600 31500 (grub_video_blit_glyph): Removed.
31501
1e901a75 31502 * font/manager.c: Removed file.
34c44600 31503
31504 * font/font.c: New file.
31505
1e901a75 31506 * font/font_cmd.c: Likewise.
34c44600 31507
1e901a75 31508 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31509
1e901a75 31510 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31511 (grub_video_vbe_map_rgba): Likewise.
31512 (grub_video_vbe_unmap_color_int): Likewise.
31513 (grub_video_vbe_blit_glyph): Removed.
31514 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31515
1e901a75 31516 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31517 (get_pixel): Likewise.
34c44600 31518 (set_pixel): Likewise.
31519
1e901a75 31520 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31521
1e901a75 31522 * term/gfxterm.c: Adapted to new font engine.
34c44600 31523
1e901a75 31524 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31525
1e901a75 31526 * term/i386/pc/vga.c: Likewise.
34c44600 31527
1e901a75 31528 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31529
1e901a75 31530 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31531
1e901a75 31532 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31533
1e901a75 31534 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31535
1e901a75 31536 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31537
1e901a75 31538 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31539
1e901a75 31540 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31541
1e901a75 31542 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31543
1e901a75 31544 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31545
31546 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31547
1e901a75 31548 * util/grub-mkconfig_lib.in: Changed font extension.
31549
278922e8 315502008-12-28 Felix Zielcke <fzielcke@z-51.de>
31551
31552 * util/getroot.c (grub_util_get_grub_dev): Add support for
31553 /dev/md/dNNpNN style partitionable mdraid devices.
31554
3ced05cf 315552008-12-12 Alex Smith <alex@alex-smith.me.uk>
31556
31557 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31558 at a time limit of the PXE TFTP API correctly.
31559 (grub_pxefs_close): Likewise.
31560
7fd0ee30 315612008-11-29 Robert Millan <rmh@aybabtu.com>
31562
34c44600 31563 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31564 grub_ata_device_initialize() calls.
31565
34c44600 315662008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31567
31568 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31569 iteration failed.
31570 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31571
89313780 315722008-11-28 Robert Millan <rmh@aybabtu.com>
31573
31574 Fix build on powerpc-ieee1275. Based on patch created by
31575 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31576 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31577 `kern/ieee1275/mmap.c'.
31578 * include/grub/powerpc/ieee1275/memory.h: New file.
31579
15257703 31580 Provide grub-install on coreboot.
31581 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31582 (grub_install_SOURCES): New variable.
31583 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31584 usable on coreboot.
31585
9fc5388a 315862008-11-25 Felix Zielcke <fzielcke@z-51.de>
31587
31588 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31589 to `grub_term_input_t'.
31590 (grub_term_get_current_output): Change return type to
31591 `grub_term_output_t'.
31592
bc3a2f31 315932008-11-22 Robert Millan <rmh@aybabtu.com>
31594
34c44600 31595 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31596 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31597 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31598 grub_vga_text_cls().
31599
80fc88f2 31600 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31601 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31602
cbf36fd3 31603 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31604 to 0x200000 (avoids trouble with some OFW implementations, and matches
31605 with the one in Yaboot).
31606 Reported by Manoel Abranches
31607
73e8e268 316082008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31609
31610 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31611 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31612
73e8e268 31613 * util/grub-mkconfig_lib.in (grub_warn): New function.
31614 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31615 warnings, to obtain consistent formatting.
31616 * util/grub.d/00_header.in: Likewise.
31617 * util/update-grub_lib.in: Likewise.
31618
e94045a1 31619 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31620 Move comment text to `#error' stanza.
e94045a1 31621
79d29fd7 31622 Harmonize ieee1275's grub_available_iterate() with the generic
31623 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31624 build problem on i386-ieee1275):
31625 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31626 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31627 parameter `type'. Update all users of this function.
31628 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31629 `kern/ieee1275/mmap.c'.
31630 * kern/ieee1275/init.c
31631 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31632 with ...
31633 (grub_machine_mmap_iterate): ... this.
31634 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31635 return type to `grub_err_t'. Update all implementations of this
31636 function prototype.
31637 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31638 Likewise.
31639
60d6b16e 31640 Add `lsmmap' command (lists firmware-provided memory map):
31641 * commands/lsmmap.c: New file.
31642 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31643 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31644 variables.
31645 * conf/powerpc-ieee1275.rmk: Likewise.
31646 * conf/i386-coreboot.rmk: Likewise.
31647 * conf/i386-ieee1275.rmk: Likewise.
31648
ebaaf49b 316492008-11-19 Robert Millan <rmh@aybabtu.com>
31650
31651 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31652 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31653 constraints to initrd allocation (based on code from
31654 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31655 for Linux to find it.
ebaaf49b 31656
dfab719f 316572008-11-14 Robert Millan <rmh@aybabtu.com>
31658
31659 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31660 order to cope with duplicate slashes.
31661
10fc3eb9 316622008-11-14 Robert Millan <rmh@aybabtu.com>
31663
31664 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31665 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31666 don't want to mess with lower memory, because it is used in the Linux
31667 loader.
31668
31669 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31670 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31671 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31672 is in our heap (probably as a result of it being corrupted during
2f2a3442 31673 decompression). Add #error instance with comment to explain why this
31674 loader isn't currently usable on PC/BIOS.
10fc3eb9 31675
e2e07847 316762008-11-14 Robert Millan <rmh@aybabtu.com>
31677
31678 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31679 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31680
fe8e8d69 316812008-11-12 Robert Millan <rmh@aybabtu.com>
31682
31683 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31684
31685 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31686 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31687 from here ...
31688 * include/grub/i386/pc/memory.h: ... to here.
31689
976b07d0 316902008-11-12 Robert Millan <rmh@aybabtu.com>
31691
31692 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31693 split).
31694
31695 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31696 (grub_console_cur_color, grub_console_real_putchar)
31697 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31698 (grub_console_setcolorstate, grub_console_setcolor)
31699 (grub_console_getcolor): Move from here ...
31700 * include/grub/i386/vga_common.h: ... to here (new file).
31701
31702 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31703 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31704 `<grub/i386/io.h>'.
31705 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31706 `<grub/i386/vga_common.h>'.
31707
76679cd3 317082008-11-12 Robert Millan <rmh@aybabtu.com>
31709
31710 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31711 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31712 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31713 variables.
31714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31715 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31716
31717 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31718 grub_console_init() with call to grub_vga_text_init().
31719 (grub_machine_fini): Replace call to
31720 grub_console_fini() with call to grub_vga_text_fini() and
31721 grub_at_keyboard_fini().
31722
31723 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31724 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31725 (grub_console_setcolorstate, grub_console_setcolor)
31726 (grub_console_getcolor): New function prototypes.
31727
31728 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31729 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31730 (grub_vga_text_setcursor): Static-ize.
31731 (grub_vga_text_term): New structure.
31732 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31733
31734 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31735 (grub_console_cur_color, grub_console_standard_color)
31736 (grub_console_normal_color, grub_console_highlight_color)
31737 (map_char, grub_console_putchar, grub_console_getcharwidth)
31738 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31739 (grub_console_getcolor): Move from here ...
31740 * term/i386/vga_common.c: ... to here (same function names).
31741
95b841d3 317422008-11-12 Robert Millan <rmh@aybabtu.com>
31743
31744 Use newly-added Multiboot support in coreboot.
31745
31746 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31747 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31748
31749 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31750 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31751 (codestart): Store the MBI in `startup_multiboot_info' when we're
31752 being loaded using Multiboot.
31753
31754 * kern/i386/coreboot/init.c (grub_machine_init): Move
31755 grub_at_keyboard_init() call to beginning of function (useful for
31756 debugging). Call grub_machine_mmap_init() before attempting to use
31757 grub_machine_mmap_iterate().
31758 (grub_lower_mem, grub_upper_mem): Move from here ...
31759 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31760 here (new file).
31761
31762 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31763 function prototype.
31764
761ca975 317652008-11-12 Robert Millan <rmh@aybabtu.com>
31766
31767 Fix a regression introduced by the at_keyboard.mod split. Because
31768 some terminals are default on some platforms and non-default on
31769 others, the first terminal being registered determines which is
31770 going to be default.
31771
31772 * kern/term.c (grub_term_register_input): If this is the first
31773 terminal being registered, set it as the current one.
31774 (grub_term_register_output): Likewise.
31775
31776 * term/efi/console.c (grub_console_init): Do not call
31777 grub_term_set_current_output() or grub_term_set_current_input().
31778 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31779 * term/i386/pc/console.c (grub_console_init): Likewise.
31780 (grub_console_fini): Do not call grub_term_set_current_input()
31781 (but leave grub_term_set_current_output() to restore text mode).
31782
6c529df7 317832008-11-10 Robert Millan <rmh@aybabtu.com>
31784
31785 * util/grub.d/00_header.in: Add backward compatibility check for
31786 versions of terminal.mod that don't understand `terminal_input' or
31787 `terminal_output'.
31788
132e4113 317892008-11-09 Robert Millan <rmh@aybabtu.com>
31790
31791 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31792 `terminal_input' / `terminal_output', not `terminal'.
31793
ac293d50 317942008-11-08 Robert Millan <rmh@aybabtu.com>
31795
31796 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31797 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31798
0025933a 317992008-11-08 Robert Millan <rmh@aybabtu.com>
31800
31801 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31802 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31803 members. Update all users.
31804 * util/console.c (grub_ncurses_term): Split in ...
31805 (grub_ncurses_term_input): ... this, and ...
31806 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31807 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31808
37c86336 318092008-11-08 Robert Millan <rmh@aybabtu.com>
31810
31811 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31812 (PKGDATA): Add $(pkgdata_SRCDIR).
31813 (pkglib_BUILDDIR): New variable.
31814 (pkgdata_SRCDIR): New variable.
31815 (build_env.mk): New target.
31816 (include_DATA): New variable.
31817 (install-local): Install $(include_DATA) files in $(includedir).
31818
b6c15a2d 318192008-11-07 Pavel Roskin <proski@gnu.org>
31820
d99d46f1 31821 * gendistlist.sh: Use C locale for sorting to ensure consistent
31822 output on all systems.
31823
b6c15a2d 31824 * util/grub.d/00_header.in: Remove incorrect space before
31825 "serial".
31826
c32ee8c9 318272008-11-07 Robert Millan <rmh@aybabtu.com>
31828
31829 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31830 per specification.
31831 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31832 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31833 (based on find_multi_boot1_header).
31834 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31835 using find_multi_boot2_header(), and abort if neither Multiboot or
31836 Multiboot headers were found.
31837
651c29b7 318382008-11-07 Robert Millan <rmh@aybabtu.com>
31839
31840 Modularize at_keyboard.mod:
31841
31842 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31843 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31844 (at_keyboard_mod_LDFLAGS): New variables.
31845
31846 Actual terminal split:
31847
31848 * include/grub/term.h (struct grub_term): Split in ...
31849 (struct grub_term_input): ... this, and ...
31850 (struct grub_term_output): ... this. Update all users.
31851 (grub_term_set_current): Split in ...
31852 (grub_term_set_current_input): ... this, and ...
31853 (grub_term_set_current_output): ... this.
31854 (grub_term_get_current): Split in ...
31855 (grub_term_get_current_input): ... this, and ...
31856 (grub_term_get_current_output): ... this.
31857 (grub_term_register): Split in ...
31858 (grub_term_register_input): ... this, and ...
31859 (grub_term_register_output): ... this.
31860 (grub_term_unregister): Split in ...
31861 (grub_term_unregister_input): ... this, and ...
31862 (grub_term_unregister_output): ... this.
31863 (grub_term_iterate): Split in ...
31864 (grub_term_iterate_input): ... this, and ...
31865 (grub_term_iterate_output): ... this.
31866
31867 * kern/term.c (grub_term_list): Split in ...
31868 (grub_term_list_input): ... this, and ...
31869 (grub_term_list_output): ... this. Update all users.
31870 (grub_cur_term): Split in ...
31871 (grub_cur_term_input): ... this, and ...
31872 (grub_cur_term_output): ... this. Update all users.
31873 (grub_term_set_current): Split in ...
31874 (grub_term_set_current_input): ... this, and ...
31875 (grub_term_set_current_output): ... this.
31876 (grub_term_get_current): Split in ...
31877 (grub_term_get_current_input): ... this, and ...
31878 (grub_term_get_current_output): ... this.
31879 (grub_term_register): Split in ...
31880 (grub_term_register_input): ... this, and ...
31881 (grub_term_register_output): ... this.
31882 (grub_term_unregister): Split in ...
31883 (grub_term_unregister_input): ... this, and ...
31884 (grub_term_unregister_output): ... this.
31885 (grub_term_iterate): Split in ...
31886 (grub_term_iterate_input): ... this, and ...
31887 (grub_term_iterate_output): ... this.
31888
31889 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31890 a check for input and one for output (and only attempt to get keys
31891 from user when input works).
31892
31893 * util/grub-probe.c (grub_term_get_current): Split in ...
31894 (grub_term_get_current_input): ... this, and ...
31895 (grub_term_get_current_output): ... this.
31896 * util/grub-fstest.c: Likewise.
31897 * util/i386/pc/grub-setup.c: Likewise.
31898 * util/grub-editenv.c: Likewise.
31899
31900 Portability adjustments:
31901
31902 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31903 `term/i386/pc/at_keyboard.c'.
31904 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31905 grub_keyboard_controller_init() (now handled by terminal .init).
31906 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31907 grub_at_keyboard_init().
31908 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31909 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31910 at_keyboard.mod via input terminal interface).
31911 * include/grub/i386/coreboot/console.h: Convert into a stub for
31912 `<grub/i386/pc/console.h>'.
31913
31914 Migrate full terminals to new API:
31915
31916 * term/efi/console.c (grub_console_term): Split into ...
31917 (grub_console_term_input): ... this, and ...
31918 (grub_console_term_output): ... this. Update all users.
31919 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31920 (grub_ofconsole_init): Split into ...
31921 (grub_ofconsole_init_input): ... this, and ...
31922 (grub_ofconsole_init_output): ... this.
31923 (grub_ofconsole_term): Split into ...
31924 (grub_ofconsole_term_input): ... this, and ...
31925 (grub_ofconsole_term_output): ... this. Update all users.
31926 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31927 (grub_serial_term_input): ... this, and ...
31928 (grub_serial_term_output): ... this. Update all users.
31929 * term/i386/pc/console.c (grub_console_term): Split into ...
31930 (grub_console_term_input): ... this, and ...
31931 (grub_console_term_output): ... this. Update all users.
31932 (grub_console_term_input): Only enable it on PC/BIOS platform.
31933 (grub_console_init): Remove grub_keyboard_controller_init() call.
31934
31935 Migrate input terminals to new API:
31936
31937 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31938 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31939 i386-specific anyway).
31940 (grub_console_checkkey): Rename to ...
31941 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31942 users.
31943 (grub_keyboard_controller_orig): New variable.
31944 (grub_console_getkey): Rename to ...
31945 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31946 users.
31947 (grub_keyboard_controller_init): Static-ize. Save original
31948 controller value so that it can be restored ...
31949 (grub_keyboard_controller_fini): ... here (new function).
31950 (grub_at_keyboard_term): New structure.
31951 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31952 functions.
31953
31954 Migrate output terminals to new API:
31955
31956 * term/i386/pc/vga.c (grub_vga_term): Change type to
31957 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31958 members. Update all users.
31959 * term/gfxterm.c (grub_video_term): Change type to
31960 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31961 members. Update all users.
31962 * include/grub/i386/pc/console.h (grub_console_checkkey)
31963 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31964 etc).
31965
31966 Migrate `terminal' command and userland tools to new API:
31967
31968 * commands/terminal.c (grub_cmd_terminal): Split into ...
31969 (grub_cmd_terminal_input): ... this, and ...
31970 (grub_cmd_terminal_output): ... this.
31971 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31972 `terminal_input' and `terminal_output'.
31973 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31974 `terminal_input' / `terminal_output' API.
31975 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31976 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31977 provided ${GRUB_TERMINAL}, convert it).
31978
96e5d876 319792008-11-04 Robert Millan <rmh@aybabtu.com>
31980
31981 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31982 for FreeBSD.
31983 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31984
556f3775 319852008-11-03 Bean <bean123ch@gmail.com>
31986
31987 * kern/elf.c (grub_elf32_load): Revert to previous code.
31988 (grub_elf64_load): Likewise.
31989
31990 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31991
926b9823 319922008-11-01 Robert Millan <rmh@aybabtu.com>
31993
31994 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31995 (TARGET_CPPFLAGS): Likewise.
31996 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31997
1432e958 319982008-11-01 Carles Pina i Estany <carles@pina.cat>
31999
32000 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32001
dba3f844 320022008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32003
32004 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32005 addition of objects until the code is not going to be able to fail.
32006
dba3f844 320072008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32008
32009 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32010 (add a missing NULL check, and correct them by moving the pointer
32011 operations after the actual check).
32012
7ab28c21 320132008-10-29 Robert Millan <rmh@aybabtu.com>
32014
32015 * util/i386/pc/grub-install.in: Handle empty string as output from
32016 make_system_path_relative_to_its_root().
32017
1b7748eb 320182008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32019
32020 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32021 circular metadata worst case scenario. If the metadata is circular
32022 then copy the wrap in place.
32023 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32024 project lib/format_text/layout.h
32025 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32026
c9618ab2 320272008-10-03 Felix Zielcke <fzielcke@z-51.de>
32028
7a36edca 32029 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32030
bf981c62 320312008-10-03 Felix Zielcke <fzielcke@z-51.de>
32032
32033 * util/update-grub_lib.in: Mention filename in warning message.
32034
6d994591 320352008-09-29 Felix Zielcke <fzielcke@z-51.de>
32036
32037 * NEWS: Update for rename of update-grub to grub-mkconfig.
32038
18ade780 320392008-09-29 Felix Zielcke <fzielcke@z-51.de>
32040
32041 * util/update-grub_lib.in: Copy to ...
32042 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32043 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32044 * util/update-grub.in: Rename to ...
32045 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32046 option. Add `--output' option to allow users to specify the generated
32047 configuration file. Default to stdout.
32048 (update_grub_dir): Rename to ...
32049 (grub_mkconfig_dir): ... this.
32050 (grub_cfg): Default to an empty string.
32051 * conf/common.rmk (update-grub): Rename to ...
32052 (grub-mkconfig): ... this.
32053 (update-grub_lib): Copy to ...
32054 (grub-mkconfig_lib): ... this.
32055 (update-grub_SCRIPTS): Copy to ...
32056 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32057 (update-grub_DATA): Rename to ...
32058 (grub-mkconfig_DATA): ... this.
32059
556ce6ac 320602008-09-28 Robert Millan <rmh@aybabtu.com>
32061
32062 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32063 to `modified'. Add the real `created' field.
32064 (grub_iso9660_uuid): Use `modified' rather than `created' for
32065 constructing the UUID.
32066
320672008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32068
32069 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32070 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32071
92274e85 320722008-09-28 Bean <bean123ch@gmail.com>
32073
32074 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32075 Thanks to Christian Franke for finding this bug.
32076
add6f17a 320772008-09-25 Robert Millan <rmh@aybabtu.com>
32078
32079 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32080 instances of grub_util_get_disk_name() (see previous commit).
32081
d2a367b8 320822008-09-25 Robert Millan <rmh@aybabtu.com>
32083
32084 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32085 `util/i386/get_disk_name.c'.
32086 * conf/i386-efi.rmk: Likewise.
32087 * conf/x86_64-efi.rmk: Likewise.
32088 * conf/i386-coreboot.rmk: Likewise.
32089 * conf/i386-ieee1275.rmk: Likewise.
32090 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32091 `util/ieee1275/get_disk_name.c'.
32092 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32093 * util/ieee1275/get_disk_name.c: Remove file.
32094 * util/i386/get_disk_name.c: Remove file.
32095 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32096 "hd%d" for device.map entries, rather than using
32097 grub_util_get_disk_name().
32098
81a06771 320992008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32100
32101 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32102 warning.
32103 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32104
5a004279 321052008-09-24 Carles Pina i Estany <carles@pina.cat>
32106
32107 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32108 Changed to 0x5100.
32109 (GRUB_TERM_PPAGE): Changed to 0x4900.
32110
397093d3 321112008-09-24 Robert Millan <rmh@aybabtu.com>
32112
32113 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32114 macros (they were i386-pc specific).
32115 * include/grub/sparc64/ieee1275/console.h: Likewise.
32116 * include/grub/efi/console.h: Likewise.
32117
a91b6c7c 321182008-09-22 Bean <bean123ch@gmail.com>
32119
32120 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32121 resident and in attribute list.
32122
32123 * include/grub/ntfs.h (BMP_LEN): Removed.
32124
c40fd116 321252008-09-22 Bean <bean123ch@gmail.com>
32126
81a06771 32127 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32128 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32129
32130 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32131 error occurs, as grub_disk_open will call grub_disk_close, which will
32132 call p->close (scsi).
32133
81a06771 321342008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32135
32136 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32137 (AC_PREREQ): Bumped to 2.59.
32138 (AC_TRY_COMPILE): Replace obsolete macro with ...
32139 (AC_COMPILE_IFELSE): ... this.
32140 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32141 (AC_LINK_IFELSE): ... this.
32142
5dc43410 321432008-09-21 Felix Zielcke <fzielcke@z-51.de>
32144
32145 * autogen.sh: Add a call to `gendistlist.sh'.
32146
9035dce4 321472008-09-19 Christian Franke <franke@computer.org>
32148
32149 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32150 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32151 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32152 Export __enable_execute_stack() to modules.
32153 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32154 New function.
32155
7fd75377 321562008-09-09 Felix Zielcke <fzielcke@z-51.de>
32157
040030b3 32158 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32159 Sort the list.
32160
321612008-09-09 Felix Zielcke <fzielcke@z-51.de>
32162
32163 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32164 #include <grub/util/hostdisk.h>.
32165
89d5ffcf 321662008-09-08 Robert Millan <rmh@aybabtu.com>
32167
32168 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32169 segments when their filesz is zero (grub_file_read() interprets
81a06771 32170 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32171 Use `lowest_segment' rather than 0 for calculating the current
32172 segment load address.
32173
40da438f 321742008-09-08 Robert Millan <rmh@aybabtu.com>
32175
32176 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32177 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32178 clobbered useful information.
32179
ddbf5556 321802008-09-08 Robert Millan <rmh@aybabtu.com>
32181
32182 * include/grub/util/biosdisk.h: Move to ...
32183 * include/grub/util/hostdisk.h: ... here. Update all users.
32184 * util/biosdisk.c: Move to ...
32185 * util/hostdisk.c: ... here. Update all users.
32186
783d0f48 321872008-09-07 Robert Millan <rmh@aybabtu.com>
32188
32189 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32190 variables.
32191 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32192 and length can be stored directly in the `mbi->mmap_addr' and
32193 `mbi->mmap_length' struct fields.
32194
548e2ea5 321952008-09-07 Robert Millan <rmh@aybabtu.com>
32196
32197 * conf/i386.rmk: New file. Provides declaration for building
32198 `cpuid.mod'.
32199 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32200 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32201 variables.
32202 Include `conf/i386.mk'.
32203 * conf/i386-efi.rmk: Likewise.
32204 * conf/x86_64-efi.rmk: Likewise.
32205 * conf/i386-coreboot.rmk: Likewise.
32206 * conf/i386-ieee1275.rmk: Likewise.
32207
0ea85a37 322082008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32209
32210 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32211 Adds optimization support for BGR based modes.
32212
32213 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32214 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32216 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32217 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32218 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32219 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32221 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32222 (grub_video_i386_vbeblit_index_index): Likewise.
32223 (grub_video_i386_vbeblit_replace_directN): Added.
32224 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32225 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32226 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32227 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32228 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32229 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32230 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32231 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32232 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32233 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32234 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32235 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32236 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32237
32238 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32239 (grub_video_i386_vbefill_R8G8B8): Likewise.
32240 (grub_video_i386_vbefill_index): Likewise.
32241 (grub_video_i386_vbefill_direct32): Added.
32242 (grub_video_i386_vbefill_direct24): Likewise.
32243 (grub_video_i386_vbefill_direct16): Likewise.
32244 (grub_video_i386_vbefill_direct8): Likewise.
32245
81a06771 32246 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32247 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32248 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32249 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32250 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32251 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32252
0ea85a37 32253 * video/video.c (grub_video_get_blit_format): Updated to use new
32254 blit formats. Added handling for 16 bit color modes.
81a06771 32255
32256 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32257 fillers.
32258 (common_blitter): Updated to use new blitters.
32259
32260 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32261 Removed.
32262 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32263 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32264 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32265 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32266 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32267 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32268 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32269 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32270 (grub_video_i386_vbeblit_index_index): Likewise.
32271 (grub_video_i386_vbeblit_replace_directN): Added.
32272 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32273 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32274 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32275 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32276 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32277 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32278 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32279 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32280 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32281 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32282 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32283 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32284 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32285
0ea85a37 32286 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32287 (grub_video_i386_vbefill_R8G8B8): Likewise.
32288 (grub_video_i386_vbefill_index): Likewise.
32289 (grub_video_i386_vbefill_direct32): Added.
32290 (grub_video_i386_vbefill_direct24): Likewise.
32291 (grub_video_i386_vbefill_direct16): Likewise.
32292 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32293
0ea85a37 32294 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32295 types.
81a06771 32296
0ea85a37 32297 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32298 types.
81a06771 32299
0ea85a37 32300 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32301 blitter types.
81a06771 32302
0ea85a37 32303 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32304 types.
32305
e8a83df6 323062008-09-06 Felix Zielcke <fzielcke@z-51.de>
32307
32308 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32309 RAID level 1.
32310
6bcd8ee5 323112008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32312
6bcd8ee5 32313 * fs/iso9660.c (grub_iso9660_date): New structure.
32314 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32315 (grub_iso9660_uuid): New function.
c375ae58 32316
59261157 323172008-09-05 Bean <bean123ch@gmail.com>
32318
32319 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32320
32321 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32322 insensitive bit for names in Win32 and Win32 & DOS namespace.
32323
32324 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32325
32326 * include/grub/types.h (LONG_MAX): Likewise.
32327
58b6645a 323282008-09-04 Felix Zielcke <fzielcke@z-51.de>
32329
4ee55921 32330 * util/getroot.c: Include <config.h>.
32331 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32332 add support for /dev/md/N devices and handle LVM double dash escaping.
32333
323342008-09-04 Felix Zielcke <fzielcke@z-51.de>
32335
32336 * config.guess: Update to latest version from config git.
32337 * config.sub: Likewise.
58b6645a 32338
9124f65d 323392008-09-03 Robert Millan <rmh@aybabtu.com>
32340
32341 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32342 `disk->total_sectors'.
32343
81a06771 323442008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32345
32346 * include/grub/normal.h: Fixed incorrect comment for
32347 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32348
81a06771 323492008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32350
32351 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32352 values with defines.
32353
32354 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32355 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32356 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32357 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32358 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32359 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32360 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32361 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32362 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32363 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32364 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32365 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32366 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32367 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32368 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32369 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32370 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32371 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32372 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32373
93d5cbf8 323742008-08-31 Robert Millan <rmh@aybabtu.com>
32375
32376 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32377 declaration.
32378 (grub_multiboot): Fix a few warnings.
32379
21751d50 323802008-08-31 Robert Millan <rmh@aybabtu.com>
32381
32382 * loader/i386/pc/multiboot.c: Update comment not to say that
32383 boot_device support is unimplemented.
32384
e27a75c5 323852008-08-31 Robert Millan <rmh@aybabtu.com>
32386
32387 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32388 or memory map support are unimplemented.
32389
81a06771 323902008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32391
32392 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32393
81a06771 323942008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32395
32396 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32397 total video memory in 'vbeinfo' output; show color format details for
32398 each video mode.
32399
7c5d8d95 324002008-08-30 Pavel Roskin <proski@gnu.org>
32401
32402 * util/genmoddep.c: Remove for real this time.
32403 * DISTLIST: Remove util/genmoddep.c.
32404
4cebd25a 324052008-08-30 Robert Millan <rmh@aybabtu.com>
32406
32407 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32408 as required by Multiboot spec (it was already 4-byte aligned, but
32409 only by chance).
32410
b497a269 324112008-08-29 Pavel Roskin <proski@gnu.org>
32412
e3925185 32413 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32414 * kern/powerpc/ieee1275/startup.S: ... this.
32415 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32416 * DISTLIST: Likewise.
32417
b497a269 32418 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32419 grub/cpu/kernel.h. Add start label for consistency with other
32420 platforms. Add grub_prefix immediately after start. Add jump
32421 to the code after grub_prefix.
32422 * include/grub/powerpc/kernel.h: Provide valid values for
32423 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32424
6e5a42fe 324252008-08-29 Bean <bean123ch@gmail.com>
32426
32427 * configure.ac: Change host_os to cygwin for mingw.
32428 (asprintf): New check for function.
32429
32430 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32431 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32432
32433 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32434 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32435 sync, sleep and grub_util_get_disk_size for mingw.
32436
32437 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32438 to get size in mingw.
32439 (open_device): Use flag O_BINARY if it's defined.
32440 (find_root_device): Add dummy code for mingw.
32441
32442 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32443 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32444 (get_scsi_disk_name): Return 0 for mingw.
32445
32446 * util/hostfs.c: #include <grub/util/misc.h>.
32447 (grub_hostfs_open): Use "rb" flag to open file, use
32448 grub_util_get_disk_size to get disk size for mingw.
32449
32450 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32451 (asprintf): New function if HAVE_ASPRINTF is not set.
32452 (sync): New function for mingw.
32453 (sleep): Likewise.
32454 (grub_util_get_disk_size): Likewise.
32455
ab3f2673 324562008-08-28 Pavel Roskin <proski@gnu.org>
32457
32458 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32459 kern/time.c.
32460
1c282483 324612008-08-28 Robert Millan <rmh@aybabtu.com>
32462
32463 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32464
678e849c 324652008-08-28 Robert Millan <rmh@aybabtu.com>
32466
32467 Change find_grub_drive() syntax so it doesn't prevent it from
32468 detecting NULL names as errors.
32469
32470 * util/biosdisk.c (find_grub_drive): Move free slot search code
32471 from here ...
32472 (find_free_slot): ... to here.
32473 (read_device_map): Use find_free_slot() to search for free slots.
32474
965c75ca 324752008-08-27 Marco Gerards <marco@gnu.org>
32476
32477 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32478 (scsi_mod_SOURCES): New variable.
32479 (scsi_mod_CFLAGS): Likewise
32480 (scsi_mod_LDFLAGS): Likewise.
32481
32482 * disk/scsi.c: New file.
32483
32484 * include/grub/scsi.h: Likewise.
32485
32486 * include/grub/scsicmd.h: Likewise.
32487
32488 * disk/ata.c: Include <grub/scsi.h>.
32489 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32490 instead.
32491 (grub_ata_iterate): Skip ATAPI devices.
32492 (grub_ata_open): Only handle ATAPI devices.
32493 (struct grub_atapi_read): Removed.
32494 (grub_atapi_readsector): Likewise.
32495 (grub_ata_read): No longer handle ATAPI devices.
32496 (grub_ata_write): Likewise.
32497 (grub_atapi_iterate): New function.
32498 (grub_atapi_read): Likewise.
32499 (grub_atapi_write): Likewise.
32500 (grub_atapi_open): Likewise.
32501 (grub_atapi_close): Likewise.
32502 (grub_atapi_dev): New variable.
32503 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32504 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32505
32506 * include/grub/disk.h (enum grub_disk_dev_id): Add
32507 `GRUB_DISK_DEVICE_SCSI_ID'.
32508
c07ae501 325092008-08-26 Robert Millan <rmh@aybabtu.com>
32510
32511 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32512 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32513 descriptive.
32514
5ed20adc 325152008-08-23 Bean <bean123ch@gmail.com>
32516
32517 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32518 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32519 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32520 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32521 dm_nv.mod.
32522 (raid5rec_mod_SOURCES): New macro.
32523 (raid5rec_mod_CFLAGS): Likewise.
32524 (raid5rec_mod_LDFLAGS): Likewise.
32525 (raid6rec_mod_SOURCES): Likewise.
32526 (raid6rec_mod_CFLAGS): Likewise.
32527 (raid6rec_mod_LDFLAGS): Likewise.
32528 (mdraid_mod_SOURCES): Likewise.
32529 (mdraid_mod_CFLAGS): Likewise.
32530 (mdraid_mod_LDFLAGS): Likewise.
32531 (dm_nv_mod_SOURCES): Likewise.
32532 (dm_nv_mod_CFLAGS): Likewise.
32533 (dm_nv_mod_LDFLAGS): Likewise.
32534
32535 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32536 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32537 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32538
32539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32540 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32541
32542 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32543
32544 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32545
32546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32547
32548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32549
32550 * disk/raid5_recover.c: New file.
32551
32552 * disk/raid6_recover.c: Likewise.
32553
32554 * disk/mdraid_linux.c: Likewise.
32555
32556 * disk/dmraid_nvidia.c: Likewise.
32557
32558 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32559 ULONG_MAX.
32560
32561 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32562 calculate the size of raid device.
32563 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32564 different layout of raid5.
32565 (grub_raid_scan_device): Remove code specific to mdraid.
32566 (grub_raid_list): New variable.
32567 (free_array): New function.
32568 (grub_raid_register): Likewise.
32569 (grub_raid_unregister): Likewise.
32570 (grub_raid_rescan): Likewise.
32571 (GRUB_MOD_INIT): Don't iterate device here.
32572 (GRUB_MOD_FINI): Use free_array to release resource.
32573
32574 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32575 (grub_raid5_recover_func_t): New function variable type.
32576 (grub_raid6_recover_func_t): Likewise.
32577 (grub_raid5_recover_func): New variable.
32578 (grub_raid6_recover_func): Likewise.
32579 (grub_raid_register): New function.
32580 (grub_raid_unregister): Likewise.
32581 (grub_raid_rescan): Likewise.
32582 (grub_raid_block_xor): Likewise.
32583
32584 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32585 (CMD_CRC): New macro.
32586 (part): Removed.
32587 (read_file): Handle device as well as file.
32588 (cmd_crc): New function.
32589 (fstest): Handle multiple disks.
32590 (options): Remove part, raw and long, add root and diskcount.
32591 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32592 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32593 add handling for the new options, support multiple disks.
32594
32595 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32596
29c18915 325972008-08-23 Bean <bean123ch@gmail.com>
32598
32599 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32600
32601 * genfslist.sh: Ignore kernel.mod.
32602
32603 * genpartmaplist.sh: Likewise.
32604
8415f261 326052008-08-23 Robert Millan <rmh@aybabtu.com>
32606
32607 * util/getroot.c (find_root_device): Skip anything that starts with
32608 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32609
d5a7dc5b 326102008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32611
d5a7dc5b 32612 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32613 * util/grub.d/00_header.in: Allow the administrator to change default
32614 gfxmode via ${GRUB_GFXMODE}.
32615
380cfbb4 326162008-08-21 Felix Zielcke <fzielcke@z-51.de>
32617
32618 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32619
c9baafe7 326202008-08-21 Robert Millan <rmh@aybabtu.com>
32621
32622 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32623 loader.
32624 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32625 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32626
e290bef2 326272008-08-20 Carles Pina i Estany <carles@pina.cat>
32628
32629 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32630 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32631
f9dbfc96 326322008-08-19 Robert Millan <rmh@aybabtu.com>
32633
32634 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32635 (struct grub_virtual_screen): Remove `cursor_color'.
32636 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32637 initialization.
32638 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32639
dd6bd6ab 326402008-08-18 Robert Millan <rmh@aybabtu.com>
32641
32642 Unify (identical) linux_normal.c files.
32643 * loader/i386/efi/linux_normal.c: Move from here ...
32644 * loader/linux_normal.c: ... to here. Update all users.
32645 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32646 * loader/i386/ieee1275/linux_normal.c: Likewise.
32647
7f42f83e 326482008-08-18 Robert Millan <rmh@aybabtu.com>
32649
32650 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32651 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32652 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32653 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32654 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32655 New macros.
32656 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32657 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32658 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32659 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32660 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32661 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32662 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32663 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32664 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32665 portably using grub_getxy().
32666 Replace `-EFI' with `-bzImage' in boot message.
32667
38487ddb 326682008-08-17 Robert Millan <rmh@aybabtu.com>
32669
32670 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32671
deceb3ec 326722008-08-17 Robert Millan <rmh@aybabtu.com>
32673
32674 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32675
32676 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32677 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32678 (grub_machine_mmap_iterate): New function declaration.
32679 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32680 structure.
32681 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32682 macros.
32683
32684 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32685 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32686 Move e820 parsing from here ...
32687 * kern/i386/pc/mmap.c: New file.
32688 (grub_machine_mmap_iterate): ... to here.
32689
32690 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32691 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32692 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32693 (grub_available_iterate): Redeclare to return `void', and redeclare
32694 its hook to use grub_uint64_t as addr and size parameters, and rename
32695 to ...
32696 (grub_machine_mmap_iterate): ... this. Update all users.
32697
32698 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32699 to make it more readable. Rename to ...
32700 (grub_machine_mmap_iterate): ... this.
32701
32702 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32703 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32704 (grub_multiboot): Allocate an extra region after the payload, and fill
32705 it with a Multiboot memory map. Adjust a.out loader to calculate size
32706 with the extra space.
32707 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32708 with the extra space.
32709
f8aa0f43 327102008-08-17 Carles Pina i Estany <carles@pina.cat>
32711
9807deb9 32712 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32713
605f5bb6 327142008-08-17 Felix Zielcke <fzielcke@z-51.de>
32715
32716 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32717 mdate-sh to the list `find' searches for.
32718 * DISTLIST: Regenerated.
32719
210db6c6 327202008-08-16 Felix Zielcke <fzielcke@z-51.de>
32721
32722 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32723 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32724 genmoddep.awk, gensymlist.sh.in.
32725 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32726 * DISTLIST: Regenerated.
48cdbfd4 32727 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32728
1082b929 327292008-08-16 Robert Millan <rmh@aybabtu.com>
32730
32731 * disk/raid.c (grub_raid_init): Handle/report errors set by
32732 grub_device_iterate().
32733 * disk/lvm.c (grub_lvm_init): Likewise.
32734
42ce5170 327352008-08-15 Bean <bean123ch@gmail.com>
32736
32737 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32738 and datehook.mod.
32739 (datetime_mod_SOURCES): New macro.
32740 (datetime_mod_CFLAGS): Likewise.
32741 (datetime_mod_LDFLAGS): Likewise.
32742 (date_mod_SOURCES): Likewise.
32743 (date_mod_CFLAGS): Likewise.
32744 (date_mod_LDFLAGS): Likewise.
32745 (datehook_mod_SOURCES): Likewise.
32746 (datehook_mod_CFLAGS): Likewise.
32747 (datehook_mod_LDFLAGS): Likewise.
32748
32749 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32750 and datehook.mod.
32751 (datetime_mod_SOURCES): New macro.
32752 (datetime_mod_CFLAGS): Likewise.
32753 (datetime_mod_LDFLAGS): Likewise.
32754 (date_mod_SOURCES): Likewise.
32755 (date_mod_CFLAGS): Likewise.
32756 (date_mod_LDFLAGS): Likewise.
32757 (datehook_mod_SOURCES): Likewise.
32758 (datehook_mod_CFLAGS): Likewise.
32759 (datehook_mod_LDFLAGS): Likewise.
32760
32761 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32762 and datehook.mod.
32763 (datetime_mod_SOURCES): New macro.
32764 (datetime_mod_CFLAGS): Likewise.
32765 (datetime_mod_LDFLAGS): Likewise.
32766 (date_mod_SOURCES): Likewise.
32767 (date_mod_CFLAGS): Likewise.
32768 (date_mod_LDFLAGS): Likewise.
32769 (datehook_mod_SOURCES): Likewise.
32770 (datehook_mod_CFLAGS): Likewise.
32771 (datehook_mod_LDFLAGS): Likewise.
32772
32773 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32774 and datehook.mod.
32775 (datetime_mod_SOURCES): New macro.
32776 (datetime_mod_CFLAGS): Likewise.
32777 (datetime_mod_LDFLAGS): Likewise.
32778 (date_mod_SOURCES): Likewise.
32779 (date_mod_CFLAGS): Likewise.
32780 (date_mod_LDFLAGS): Likewise.
32781 (datehook_mod_SOURCES): Likewise.
32782 (datehook_mod_CFLAGS): Likewise.
32783 (datehook_mod_LDFLAGS): Likewise.
32784
32785 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32786 and datehook.mod.
32787 (datetime_mod_SOURCES): New macro.
32788 (datetime_mod_CFLAGS): Likewise.
32789 (datetime_mod_LDFLAGS): Likewise.
32790 (date_mod_SOURCES): Likewise.
32791 (date_mod_CFLAGS): Likewise.
32792 (date_mod_LDFLAGS): Likewise.
32793 (datehook_mod_SOURCES): Likewise.
32794 (datehook_mod_CFLAGS): Likewise.
32795 (datehook_mod_LDFLAGS): Likewise.
32796
32797 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32798
32799 * commands/date.c: New file.
32800
32801 * hook/datehook.c: Likewise.
32802
32803 * include/grub/lib/datetime.h: Likewise.
32804
32805 * include/grub/i386/cmos.h: Likewise.
32806
32807 * lib/datetime.c: Likewise.
32808
32809 * lib/i386/datetime.c: Likewise.
32810
32811 * lib/efi/datetime.c: Likewise.
32812
0e9242da 328132008-08-14 Robert Millan <rmh@aybabtu.com>
32814
32815 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32816 (grub_mkelfimage_SOURCES): New variable.
32817 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32818
32819 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32820 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32821 * conf/powerpc-ieee1275.rmk: Likewise.
32822 * conf/i386-ieee1275.rmk: Likewise.
32823
32824 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32825 * kern/i386/coreboot/init.c: Likewise.
32826
32827 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32828 with `<grub/cpu/kernel.h>'.
32829 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32830 to ...
32831 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32832 * kern/i386/coreboot/startup.S: Likewise.
32833
32834 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32835 (GRUB_MOD_GAP): Remove.
32836 * include/grub/powerpc/kernel.h: New file.
32837 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32838 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32839 * include/grub/i386/kernel.h: New file.
32840 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32841 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32842 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32843
32844 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32845 `grub-mkelfimage'.
32846 Use --directory when invoking grub_mkimage.
32847
32848 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32849 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32850 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32851 and GRUB_KERNEL_CPU_PREFIX.
32852
b86408f8 328532008-08-14 Felix Zielcke <fzielcke@z-51.de>
32854
d5e619ca 32855 * include/grub/err.h (grub_err_printf): New function prototype.
32856 * util/misc.c (grub_err_printf): New function.
32857 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32858 grub_printf.
32859 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32860
7161f0e0 328612008-08-13 Robert Millan <rmh@aybabtu.com>
32862
32863 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32864
a1967522 328652008-08-13 Robert Millan <rmh@aybabtu.com>
32866
32867 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32868 boot entry.
32869
371458b5 328702008-08-12 Robert Millan <rmh@aybabtu.com>
32871
32872 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32873 of the relocation code from here ...
32874 (grub_multiboot): ... to here.
32875 (forward_relocator, backward_relocator): Move from here ...
32876 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32877 (grub_multiboot_backward_relocator): ... to here.
32878 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32879 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32880 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32881 (grub_multiboot_forward_relocator_end)
32882 (grub_multiboot_backward_relocator)
32883 (grub_multiboot_backward_relocator_end): New variables.
32884
05f9452b 328852008-08-12 Bean <bean123ch@gmail.com>
32886
32887 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32888
20024ab0 328892008-08-11 Robert Millan <rmh@aybabtu.com>
32890
32891 * kern/i386/linuxbios/startup.S: Move from here ...
32892 * kern/i386/coreboot/startup.S: ... to here.
32893
32894 * kern/i386/linuxbios/init.c: Move from here ...
32895 * kern/i386/coreboot/init.c: ... to here.
32896
32897 * kern/i386/linuxbios/table.c: Move from here ...
32898 * kern/i386/coreboot/mmap.c: ... to here.
32899
32900 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32901
e352e9cd 329022008-08-11 Robert Millan <rmh@aybabtu.com>
32903
32904 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32905 errors. Leave it to the upper layer to handle them.
32906
2d05bc6a 329072008-08-09 Christian Franke <franke@computer.org>
32908
32909 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32910 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32911 Install `grub.d/10_windows' only on Cygwin.
32912 * configure.ac: Add subst of `target_os'.
32913 Check `target_os' also before setting TARGET_OBJ2ELF.
32914 Add `--enable-grub-pe2elf'.
32915
042bd419 329162008-08-08 Robert Millan <rmh@aybabtu.com>
32917
32918 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32919 (grub_last_time): Change type to grub_uint64_t.
32920 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32921 (grub_disk_close): Likewise.
32922
32923 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32924 (run_menu): Migrate code from to using grub_get_time_ms().
32925
32926 * util/misc.c (grub_get_time_ms): New function.
32927
7f280db5 329282008-08-08 Marco Gerards <marco@gnu.org>
32929
32930 * disk/ata.c (grub_ata_regget): Change return type to
32931 `grub_uint8_t'.
32932 (grub_ata_regget2): Likewise.
32933 (grub_ata_wait_status): New function.
32934 (grub_ata_wait_busy): Removed function, updated all users to use
32935 `grub_ata_wait_status'.
32936 (grub_ata_wait_drq): Likewise.
32937 (grub_ata_cmd): New function.
32938 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32939 error handling.
32940 (grub_ata_pio_write): Add error handling.
32941 (grub_atapi_identify): Likewise.
32942 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32943 handling.
32944 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32945 handling. Actually use the detected registers. Reorder the
32946 detection logic such that it is easier to read.
32947 (grub_ata_pciinit): Do not assign the same ID to each controller.
32948 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32949 handling.
32950 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32951
32952 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32953
1fbc5e66 329542008-08-08 Marco Gerards <marco@gnu.org>
32955
32956 * NEWS: Update.
32957
819ce6c0 329582008-08-07 Bean <bean123ch@gmail.com>
32959
32960 * include/grub/x86_64/pci.h: New file.
32961
5c41d44d 329622008-08-07 Christian Franke <franke@computer.org>
32963
32964 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32965 (TIMER2_GATE): Likewise.
32966 (grub_pit_wait): Add enable/disable of the timer2 gate
32967 bit of port 0x61. This fixes a possible infinite loop.
32968
5ebc275d 329692008-08-07 Bean <bean123ch@gmail.com>
32970
32971 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32972 kern/i386/tsc.c and kern/i386/pit.c.
32973
32974 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32975 x86_64 platform.
32976
32977 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32978 <grub/i386/tsc.h>.
32979
32980 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32981
e383b3d0 329822008-08-07 Bean <bean123ch@gmail.com>
32983
32984 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32985
32986 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32987
32988 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32989 multiple inclusion. Add #include <grub/types.h>.
32990
1cbb58ac 329912008-08-06 Christian Franke <franke@computer.org>
32992
32993 * conf/common.rmk: Build and install `10_windows'.
32994 * util/grub.d/10_windows.in: New script.
32995
337f5a1e 329962008-08-06 Pavel Roskin <proski@gnu.org>
32997
32998 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32999
057bc4ac 330002008-08-06 Robert Millan <rmh@aybabtu.com>
33001
33002 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33003 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33004
2b99f123 330052008-08-06 Bean <bean123ch@gmail.com>
33006
33007 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33008 (grub_pxefs_fs_int): Remove dummy definition.
33009 (grub_pxefs_open): Use data->block_size to store the current block
33010 size setting.
33011 (grub_pxefs_read): Use block size stored in data->block_size. As the
33012 value of grub_pxe_blksize can be changed after the file is opened.
33013
9f0234cb 330142008-08-06 Bean <bean123ch@gmail.com>
33015
33016 * fs/i386/pc/pxe.c (curr_file): new variable.
33017 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33018 require the dummy internal file system anymore.
33019 (grub_pxefs_read): Removed.
33020 (grub_pxefs_close): Likewise.
33021 (grub_pxefs_fs_int): Likewise.
33022 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33023 connection when we switch file.
33024 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33025
a55d42e0 330262008-08-06 Robert Millan <rmh@aybabtu.com>
33027
33028 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33029 `halt.mod'.
33030 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33031 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33032
33033 * kern/i386/halt.c: New file.
33034 * kern/i386/reboot.c: Likewise.
33035 * include/grub/i386/reboot.h: Likewise.
33036 * include/grub/i386/halt.h: Likewise.
33037
33038 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33039 Include `<grub/cpu/halt.h>'.
33040 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33041 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33042
33043 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33044 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33045 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33046 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33047 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33048 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33049 from here ...
33050 * include/grub/i386/at_keyboard.h: ... to here.
33051
24371d26 330522008-08-05 Robert Millan <rmh@aybabtu.com>
33053
33054 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33055 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33056 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33057 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33058 `kern/generic/millisleep.c'.
33059
33060 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33061 instead of grub_get_rtc().
33062 (grub_tsc_init): Initialize `tsc_boot_time'.
33063
33064 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33065 (grub_machine_init): Use grub_tsc_init() rather than
33066 installing an RTC-based handler via grub_install_get_time_ms().
33067
33068 * kern/i386/pit.c: New file.
33069 * include/grub/i386/pit.h: Likewise.
33070
9e7007b3 330712008-08-05 Bean <bean123ch@gmail.com>
33072
33073 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33074
33075 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33076 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33077 (pxe_mod_SOURCES): New macro.
33078 (pxe_mod_CFLAGS): Likewise.
33079 (pxe_mod_LDFLAGS): Likewise.
33080 (pxecmd_mod_SOURCES): Likewise.
33081 (pxecmd_mod_CFLAGS): Likewise.
33082 (pxecmd_mod_LDFLAGS): Likewise.
33083
33084 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33085 (grub_pxe_call): Likewise.
33086
33087 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33088
33089 * commands/i386/pc/pxecmd.c: New file.
33090
9f0234cb 33091 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33092
33093 * include/grub/i386/pc/pxe.h: Likewise.
33094
6977d49f 330952008-08-05 Bean <bean123ch@gmail.com>
33096
33097 * util/console.c (grub_console_cur_color): New variable.
33098 (grub_console_standard_color): Likewise.
33099 (grub_console_normal_color): Likewise.
33100 (grub_console_highlight_color): Likewise.
33101 (color_map): Likewise.
33102 (use_color): Likewise.
33103 (NUM_COLORS): New macro.
33104 (grub_ncurses_setcolorstate): Handle color properly.
33105 (grub_ncurses_setcolor): Don't change color here, just remember the
33106 settings, color will be set in grub_ncurses_setcolorstate.
33107 (grub_ncurses_getcolor): New function.
33108 (grub_ncurses_init): Initialize color pairs.
33109 (grub_ncurses_term): New member grub_ncurses_getcolor.
33110
9c2ff3ee 331112008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33112
9c2ff3ee 33113 High resolution timer support. Implemented for x86 CPUs using TSC.
33114 Extracted generic grub_millisleep() so it's linked in only as needed.
33115 This requires a Pentium compatible CPU; if the RDTSC instruction is
33116 not supported, then it falls back on the generic grub_get_time_ms()
33117 implementation that uses the machine's RTC.
33118
33119 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33120 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33121 `kern/generic/millisleep.c'.
33122
33123 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33124 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33125
33126 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33127 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33128
33129 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33130
33131 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33132 `kern/generic/millisleep.c'.
33133
33134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33135
33136 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33137
33138 * kern/generic/rtc_get_time_ms.c: New file.
33139
33140 * kern/generic/millisleep.c: New file.
337f5a1e 33141
9c2ff3ee 33142 * kern/misc.c: Don't include
33143 <kern/time.h> anymore.
33144 (grub_millisleep_generic): Removed.
33145
33146 * commands/sleep.c (grub_interruptible_millisleep): Uses
33147 grub_get_time_ms() instead of grub_get_rtc().
33148
33149 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33150 function.
33151 (grub_cpu_is_cpuid_supported): New inline function.
33152 (grub_cpu_is_tsc_supported): New inline function.
33153 (grub_tsc_init): New function prototype.
33154 (grub_tsc_get_time_ms): New function prototype.
33155
33156 * kern/i386/tsc.c (grub_get_time_ms): New file.
33157
33158 * include/grub/time.h: Include <grub/types.h.
33159 (grub_millisleep_generic): Removed.
33160 (grub_get_time_ms): New prototype.
33161 (grub_install_get_time_ms): New prototype.
33162 (grub_rtc_get_time_ms): New prototype.
33163
33164 * kern/time.c (grub_get_time_ms): New function.
33165 (grub_install_get_time_ms): New function.
33166
33167 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33168 <grub/time.h> anymore.
33169 (grub_millisleep): Removed.
33170 (grub_machine_init): Call grub_tsc_init.
33171
33172 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33173 get_time_ms() implementation.
33174
33175 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33176 (ieee1275_get_time_ms): New function.
33177 (grub_machine_init): Install get_time_ms() implementation.
33178
33179 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33180 (grub_machine_init): Call grub_tsc_init().
33181 (grub_millisleep): Removed.
bf06a93f 33182
9c2ff3ee 33183 * kern/ieee1275/init.c (grub_millisleep): Removed.
33184 (grub_machine_init): Install ieee1275_get_time_ms()
33185 implementation.
33186 (ieee1275_get_time_ms): New function.
33187 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33188 real work.
33189
9ec92aaf 331902008-08-05 Marco Gerards <marco@gnu.org>
33191
33192 * disk/ata.c: Include <grub/pci.h>.
33193 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33194 (grub_ata_initialize): Rewritten.
33195 (grub_ata_device_initialize): New function.
33196
8d23f507 331972008-08-04 Pavel Roskin <proski@gnu.org>
33198
33199 * kern/main.c: Include grub/mm.h.
33200
5e15ee3d 332012008-08-04 Robert Millan <rmh@aybabtu.com>
33202
33203 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33204 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33205 corruption problem).
33206
a9053f8f 332072008-08-04 Robert Millan <rmh@aybabtu.com>
33208
33209 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33210 warnings introduced in my last commit.
33211
dd19c7d7 332122008-08-03 Robert Millan <rmh@aybabtu.com>
33213
33214 Make PCI available on all i386 architectures.
33215
33216 * include/grub/i386/pc/pci.h: Move from here ...
33217 * include/grub/i386/pci.h: ... to here.
33218
33219 * include/grub/i386/pc/pci.h: Remove.
33220 * include/grub/i386/efi/pci.h: Remove.
33221 * include/grub/x86_64/efi/pci.h: Remove.
33222
33223 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33224 `<grub/cpu/pci.h>'.
33225
33226 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33227 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33228 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33229
33230 * conf/i386-ieee1275.rmk: Likewise.
33231
e14a6184 332322008-08-03 Robert Millan <rmh@aybabtu.com>
33233
33234 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33235 (grub_console_setcursor): Make it possible to set cursor off.
33236
52768e37 332372008-08-03 Robert Millan <rmh@aybabtu.com>
33238
33239 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33240 of modules instead of assuming which platform provides what.
33241 * util/update-grub.in: Likewise.
33242
2d52f57f 332432008-08-03 Robert Millan <rmh@aybabtu.com>
33244
33245 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33246 instead of `grub_install_dos_part' to determine whether a drive needs
33247 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33248 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33249
2a5cd121 332502008-08-02 Robert Millan <rmh@aybabtu.com>
33251
33252 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33253
93808428 332542008-08-02 Robert Millan <rmh@aybabtu.com>
33255
33256 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33257 of informational grub_dprintf() calls.
33258
3bd0a12a 332592008-08-02 Robert Millan <rmh@aybabtu.com>
33260
33261 * disk/memdisk.c (memdisk_size): Don't initialize.
33262 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33263
33264 * include/grub/i386/pc/kernel.h
33265 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33266 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33267 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33268 (grub_arch_memdisk_size): Remove.
33269
33270 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33271 field (was only used to transfer a constant). Add `type' field to
33272 support multiple module types.
33273 (grub_module_iterate): New function.
33274
33275 * kern/device.c (grub_device_open): Do not hide error messages
33276 when grub_disk_open() fails. Use grub_print_error() instead.
33277
33278 * kern/i386/pc/init.c (grub_arch_modules_addr)
33279 (grub_arch_memdisk_size): Remove functions.
33280 (grub_arch_modules_addr): Return the module address in high memory
33281 (now that it isn't copied anymore).
33282
33283 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33284 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33285 decompression routine (grub_total_module_size already includes that
33286 now). Don't copy modules back to low memory.
33287
33288 * kern/main.c: Include `<grub/mm.h>'.
33289 (grub_load_modules): Split out (and use) ...
33290 (grub_module_iterate): ... this function, which iterates through
33291 module objects and runs a hook.
33292 Comment out grub_mm_init_region() call, as it would cause non-ELF
33293 modules to be overwritten.
33294
33295 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33296 the memdisk image in its own region, make it part of the module list.
33297 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33298 (main): Parse --memdisk|-m option, and pass user-provided path as
33299 parameter to generate_image().
33300 (add_segments): Pass `memdisk_path' down to load_modules().
33301 (load_modules): Embed memdisk image in module section when requested.
33302 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33303 `header.type' instead of `header.offset'.
33304
33305 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33306 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33307 (memdisk_mod_LDFLAGS): New variables.
33308 * conf/i386-coreboot.rmk: Likewise.
33309 * conf/i386-ieee1275.rmk: Likewise.
33310
a927cc73 333112008-08-02 Robert Millan <rmh@aybabtu.com>
33312
33313 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33314 (backward_relocator): New variables. Used to allocate and relocate
33315 the payload, respectively.
33316 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33317 address, install the appropriate relocator code in each bound of
a927cc73 33318 the payload, and set the entry point such that
33319 grub_multiboot_real_boot() will jump to one of them.
33320
33321 * kern/i386/loader.S (grub_multiboot_payload_size)
33322 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33323 (grub_multiboot_payload_entry_offset): New variables.
33324 (grub_multiboot_real_boot): Set cpu context to what the relocator
33325 expects, and jump to the relocator instead of the payload.
33326
33327 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33328 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33329 (grub_multiboot_payload_entry_offset): Export.
33330
b15d8a0c 333312008-08-01 Bean <bean123ch@gmail.com>
33332
33333 * normal/menu_entry.c (editor_getline): Don't return the original
33334 string as result, as it will be released by lexer once it has done
33335 using it.
33336
cdfb3d22 333372008-08-01 Robert Millan <rmh@aybabtu.com>
33338
33339 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33340 within menuentries, not before them.
33341 util/grub.d/10_hurd.in: Likewise.
33342
9175e93d 333432008-08-01 Bean <bean123ch@gmail.com>
33344
33345 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33346 (bufio_mod_SOURCES): New macro.
33347 (bufio_mod_CFLAGS): Likewise.
33348 (bufio_mod_LDFLAGS): Likewise.
33349
33350 * include/grub/bufio.h: New file.
33351
33352 * io/bufio.c: Likewise.
33353
33354 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33355 (grub_video_reader_png): Use grub_buffile_open to open file.
33356
33357 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33358 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33359
33360 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33361 (grub_video_reader_tga): Use grub_buffile_open to open file.
33362
33363 * font/manager.c: Include <grub/bufio.h>.
33364 (add_font): Use grub_buffile_open to open file.
33365
3d8383e7 333662008-07-31 Robert Millan <rmh@aybabtu.com>
33367
33368 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33369 ELF segments, use a macro for arbitrarily accessing any of them instead
33370 of preparing a pointer that allows access to one at a time.
33371 (grub_multiboot_load_elf64): Likewise.
33372
16e641b6 333732008-07-31 Bean <bean123ch@gmail.com>
33374
33375 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33376 GRUB_KERNEL_MACHINE_DATA_END.
33377
59198b72 333782008-07-30 Robert Millan <rmh@aybabtu.com>
33379
33380 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33381 Increase from 0x50 to 0x60.
33382 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33383 use UUIDs to identify the root drive for them. If that's not
33384 possible, abort.
33385 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33386 check, for cross-disk installs.
33387
ae88bca3 333882008-07-30 Robert Millan <rmh@aybabtu.com>
33389
33390 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33391 is non-empty, use it to set the `prefix' environment variable instead
33392 of the usual approach.
33393 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33394 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33395 environment variable instead of dummy make_install_device().
33396
33397 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33398 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33399 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33400
33401 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33402 New variable reference.
33403 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33404 New macro. Defines offset of `grub_prefix' within startup.S (relative
33405 to `start').
33406 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33407 section within startup.S (relative to `start').
33408 * include/grub/i386/coreboot/kernel.h: Likewise.
33409
33410 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33411 Overwrite grub_prefix with its contents, at the beginning of the
33412 first segment.
33413 (main): Understand -p|--prefix.
33414
14f41dd1 334152008-07-30 Robert Millan <rmh@aybabtu.com>
33416
33417 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33418
4ca049a3 334192008-07-30 Robert Millan <rmh@aybabtu.com>
33420
33421 * term/i386/pc/vga_text.c (grub_console_cls): Use
33422 grub_console_gotoxy() to go back to beginning of the screen.
33423 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33424
2921d337 334252008-07-29 Christian Franke <franke@computer.org>
33426
33427 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33428 Add conversion of emulated mount points on Cygwin.
33429
b609876d 334302008-07-29 Christian Franke <franke@computer.org>
33431
33432 * util/update-grub.in: Add a check for admin
33433 group on Cygwin.
33434 Remove old `grub.cfg.new' before creation.
33435 Add `-f' to `mv' to handle the different filesystem
33436 semantics of Windows.
33437
e93e4679 334382008-07-29 Bean <bean123ch@gmail.com>
33439
33440 * normal/main.c (get_line): Fix buffer overflow bug.
33441
41694fd0 334422008-07-28 Robert Millan <rmh@aybabtu.com>
33443
33444 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33445 (struct grub_apple_header): New struct. Describes the layout of
33446 the partmap header.
33447 (apple_partition_map_iterate): Check the header magic as well as the
33448 partition magic (which was already being checked).
33449
cfd0b4e6 334502008-07-28 Pavel Roskin <proski@gnu.org>
33451
33452 * genmk.rb: Add a warning to the beginning of the output that
33453 it's a generated file and should not be edited.
33454
93cce016 334552008-07-28 Robert Millan <rmh@aybabtu.com>
33456
33457 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33458 with the same number are found, just use issue a warning with
33459 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33460
cd1df915 334612008-07-27 Robert Millan <rmh@aybabtu.com>
33462
33463 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33464 information.
33465
b70a8427 334662008-07-27 Bean <bean123ch@gmail.com>
33467
33468 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33469 (grub_fat_find_dir): Ignore case when comparing filename.
33470
8f5e379f 334712008-07-27 Bean <bean123ch@gmail.com>
33472
33473 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33474 smallino, as it's more descriptive, and i8count can be confused with
33475 the other field count.
33476 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33477 inode type.
33478
a85cd5a0 334792008-07-27 Bean <bean123ch@gmail.com>
33480
33481 * commands/crc.c: New file.
33482
33483 * lib/crc.c: Likewise.
33484
33485 * include/grub/lib/crc.h: Likewise.
33486
33487 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33488
33489 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33490 (hexdump): Move this function to ...
33491
33492 * lib/hexdump.c: ... here.
33493
33494 * include/grub/hexdump.h: Renamed to ...
33495
33496 * include/grub/lib/hexdump.h: ... this.
33497
33498 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33499
33500 * util/grub-editenv.c: Likewise.
33501
33502 * include/envblk.h: Renamed to ...
33503
33504 * include/lib/envblk.h: ... this.
33505
33506 * util/envblk.c: Renamed to ...
33507
33508 * lib/envblk.c: ... this.
33509
33510 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33511 lib/hexdump.c.
33512 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33513 (pkglib_MODULES): Add crc.mod.
33514 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33515 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33516 (crc_mod_SOURCES): New macro.
33517 (crc_mod_CFLAGS): Likewise.
33518 (crc_mod_LDFLAGS): Likewise.
33519
33520 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33521
33522 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33523
33524 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33525
33526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33527
33528 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33529
c298def0 335302008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33531
33532 * commands/help.c: Include <grub/term.h>.
33533 (TERM_WIDTH): Removed. Updated all users.
33534
cc349fb3 335352008-07-27 Pavel Roskin <proski@gnu.org>
33536
33537 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33538 spurious warnings about a comment within a comment.
33539
9051607e 335402008-07-25 Robert Millan <rmh@aybabtu.com>
33541
33542 * util/getroot.c (find_root_device): Skip devices that match
33543 /dev/dm-[0-9]. This lets the real device be found for any type of
33544 abstraction (LVM, EVMS, RAID..).
33545 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33546 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33547 device is found first, find_root_device() will now skip it.
33548
01453bfc 335492008-07-24 Pavel Roskin <proski@gnu.org>
33550
33551 * include/grub/types.h: Use __builtin_bswap32() and
33552 __builtin_bswap64() with gcc 4.3 and newer.
33553
6af9849f 335542008-07-24 Christian Franke <franke@computer.org>
33555
3a0fa256 33556 * util/i386/pc/grub-install.in: If `--debug' is specified,
33557 pass `--verbose' to grub-setup.
33558 Abort script if make_system_path_relative_to_its_root() fails.
33559
7810e747 335602008-07-24 Bean <bean123ch@gmail.com>
33561
33562 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33563 variable `target_platform' should be `platform'.
33564
42290e17 335652008-07-24 Bean <bean123ch@gmail.com>
33566
51cc5193 33567 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33568 (grub_png_init_fixed_block): New function.
33569 (grub_png_decode_image_data): Handle fixed huffman code compression.
33570
2a8a80e4 335712008-07-24 Bean <bean123ch@gmail.com>
33572
33573 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33574 (grub_pe2elf_SOURCES): New macro.
33575 (CLEANFILES): Add grub-pe2elf.
33576
33577 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33578 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33579 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33580 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33581 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33582 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33583 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33584 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33585 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33586 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33587 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33588 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33589 (GRUB_PE32_DT_FUNCTION): Likewise.
33590 (GRUB_PE32_REL_I386_DIR32): Likewise.
33591 (GRUB_PE32_REL_I386_REL32): Likewise.
33592 (grub_pe32_symbol): New structure.
33593 (grub_pe32_reloc): Likewise.
33594
33595 * util/grub-pe2elf.c: New file.
33596
33597 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33598 start symbol in non pc platform.
33599
33600 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33601
33602 The following patches are from Christian Franke.
33603
33604 * include/grub/dl.h: Remove .previous, gas supports this only
33605 for ELF format.
33606
33607 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33608 Remove .type, gas supports this only for ELF format.
33609
33610 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33611 nullbytes in symbol table. This fixes an infinite loop if table is
33612 zero filled.
33613
33614 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33615 TARGET_IMG_LDFLAGS and EXEEXT.
33616
33617 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33618 TARGET_IMG_LDFLAGS_AC.
33619 (grub_CHECK_STACK_ARG_PROBE): New function.
33620
33621 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33622
33623 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33624
33625 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33626 to set TARGET_IMG_LD* accordingly.
33627 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33628 Add call to grub_CHECK_STACK_ARG_PROBE.
33629 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33630
33631 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33632
33633 * genmk.rb: Add EXEEXT to CLEANFILES.
33634
12ccdb75 336352008-07-23 Robert Millan <rmh@aybabtu.com>
33636
33637 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33638 define the codes for arrows and lines used for the menu).
33639 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33640 as well.
33641
33642 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33643 fonts, because the latter are too slow.
33644
18eeaf04 336452008-07-21 Bean <bean123ch@gmail.com>
33646
33647 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33648 a20. Run keyboard test last, as it will cause macbook to halt.
33649
b095e2ad 336502008-07-18 Pavel Roskin <proski@gnu.org>
33651
33652 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33653 load foreign architecture modules correctly anyway. Keep
33654 support for loading host architecture modules, whether we
33655 compile them or not.
33656
737feb35 336572008-07-17 Pavel Roskin <proski@gnu.org>
33658
3f4ce737 33659 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33660 change target_cpu. The compiler default can mismatch target_cpu
33661 in any case.
33662
4ad2d049 33663 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33664 * kern/efi/efi.c: Likewise.
33665
f6130a12 33666 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33667 target compiler is functional.
33668 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33669 are set up.
33670
58393a2d 33671 * configure.ac: Default to efi platform for x86_64-apple. Allow
33672 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33673 adjustments from the rest, only do them if target is not
33674 explicitly given. Merge other adjustments with the final sanity
33675 check. Remove an extraneous check for supported CPU. Be
33676 specific which CPU and which platform is not supported.
33677
737feb35 33678 * configure.ac: Default to pc platform for x86_64.
33679
546f966a 336802008-07-17 Robert Millan <rmh@aybabtu.com>
33681
33682 Partial LinuxBIOS -> Coreboot rename.
33683
33684 * conf/i386-linuxbios.rmk: Renamed to ...
33685 * conf/i386-coreboot.rmk: ... this.
33686 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33687 * configure.ac: Accept "coreboot" as input platform (but maintain
33688 compatibility with "linuxbios").
33689 * include/grub/i386/linuxbios: Renamed to ...
33690 * include/grub/i386/coreboot: ... this.
33691
20011694 336922008-07-17 Bean <bean123ch@gmail.com>
33693
33694 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33695 (appleldr_mod_SOURCE): New variable.
20011694 33696 (appleldr_mod_CFLAGS): Likewise.
33697 (appleldr_mod_LDFLAGS): Likewise.
33698 (pci_mod_SOURCES): Likewise.
33699 (pci_mod_CFLAGS): Likewise.
33700 (pci_mod_LDFLAGS): Likewise.
33701 (lspci_mod_SOURCES): Likewise.
33702 (lspci_mod_CFLAGS): Likewise.
33703 (lspci_mod_LDFLAGS): Likewise.
33704
33705 * conf/x86_64-efi.rmk: New file.
33706
33707 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33708 macro.
33709 (grub_efidisk_write): Likewise.
33710
33711 * include/efi/api.h (efi_call_0): New macro.
33712 (efi_call_1): Likewise.
33713 (efi_call_2): Likewise.
33714 (efi_call_3): Likewise.
33715 (efi_call_4): Likewise.
33716 (efi_call_5): Likewise.
33717 (efi_call_6): Likewise.
33718
33719 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33720 grub_rescue_cmd_chainloader.
33721
33722 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33723 (grub_pe32_optional_header): Change some fields based on i386 or
33724 x86_64 platform.
33725 (GRUB_PE32_PE32_MAGIC): Likewise.
33726
33727 * include/grub/efi/uga_draw.h: New file.
33728
33729 * include/grub/elf.h (STN_ABS): New constant.
33730 (R_X86_64_NONE): Relocation constant for x86_64.
33731 (R_X86_64_64): Likewise.
33732 (R_X86_64_PC32): Likewise.
33733 (R_X86_64_GOT32): Likewise.
33734 (R_X86_64_PLT32): Likewise.
33735 (R_X86_64_COPY): Likewise.
33736 (R_X86_64_GLOB_DAT): Likewise.
33737 (R_X86_64_JUMP_SLOT): Likewise.
33738 (R_X86_64_RELATIVE): Likewise.
33739 (R_X86_64_GOTPCREL): Likewise.
33740 (R_X86_64_32): Likewise.
33741 (R_X86_64_32S): Likewise.
33742 (R_X86_64_16): Likewise.
33743 (R_X86_64_PC16): Likewise.
33744 (R_X86_64_8): Likewise.
33745 (R_X86_64_PC8): Likewise.
33746
33747 * include/grub/i386/efi/pci.h: New file.
33748
33749 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33750 Change it value based on platform.
33751 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33752 (GRUB_E820_RAM): Likewise.
33753 (GRUB_E820_RESERVED): Likewise.
33754 (GRUB_E820_ACPI): Likewise.
33755 (GRUB_E820_NVS): Likewise.
33756 (GRUB_E820_EXEC_CODE): Likewise.
33757 (GRUB_E820_MAX_ENTRY): Likewise.
33758 (grub_e820_mmap): New structure.
33759 (linux_kernel_header): Change the efi field according to different
33760 kernel version, also field from linux_kernel_header.
33761
33762 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33763
33764 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33765 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33766 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33767 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33768 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33769 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33770 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33771 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33772 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33773 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33774
33775 * include/grub/x86_64/efi/kernel.h: New file.
33776
33777 * include/grub/x86_64/efi/loader.h: Likewise.
33778
33779 * include/grub/x86_64/efi/machine.h: Likewise.
33780
33781 * include/grub/x86_64/efi/pci.h: Likewise.
33782
33783 * include/grub/x86_64/efi/time.h: Likewise.
33784
33785 * include/grub/x86_64/linux.h: Likewise.
33786
33787 * include/grub/x86_64/setjmp.h: Likewise.
33788
33789 * include/grub/x86_64/time.h: Likewise.
33790
33791 * include/grub/x86_64/types.h: Likewise.
33792
33793 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33794 GRUB_TARGET_SIZEOF_VOID_P.
33795
33796 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33797 (grub_efi_locate_handle): Likewise.
33798 (grub_efi_open_protocol): Likewise.
33799 (grub_efi_set_text_mode): Likewise.
33800 (grub_efi_stall): Likewise.
33801 (grub_exit): Likewise.
33802 (grub_reboot): Likewise.
33803 (grub_halt): Likewise.
33804 (grub_efi_exit_boot_services): Likewise.
33805 (grub_get_rtc): Likewise.
33806
33807 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33808 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33809 (grub_efi_allocate_pages): Wrap efi calls.
33810 (grub_efi_free_pages): Wrap efi calls.
33811 (grub_efi_get_memory_map): Wrap efi calls.
33812
33813 * kern/x86_64/dl.c: New file.
33814
33815 * kern/x86_64/efi/callwrap.S: Likewise.
33816
33817 * kern/x86_64/efi/startup.S: Likewise.
33818
33819 * loader/efi/appleloader.c: Likewise.
33820
33821 * loader/efi/chainloader.c (cmdline): New variable.
33822 (grub_chainloader_unload): Wrap efi calls.
33823 (grub_chainloader_boot): Likewise.
33824 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33825 command line.
33826
33827 * loader/efi/chainloader_normal.c (chainloader_command):
33828 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33829 command line.
33830
33831 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33832 method.
33833 (grub_e820_add_region): New function.
33834 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33835 booting.
33836 (grub_find_video_card): New function.
33837 (grub_linux_setup_video): New function.
33838 (grub_rescue_cmd_linux): Probe for video information.
33839
33840 * normal/x86_64/setjmp.S: New file.
33841
33842 * term/efi/console.c (map_char): New function.
33843 (grub_console_putchar): Map unicode char.
33844 (grub_console_checkkey): Wrap efi calls.
33845 (grub_console_getkey): Likewise.
33846 (grub_console_getwh): Likewise.
33847 (grub_console_gotoxy): Likewise.
33848 (grub_console_cls): Likewise.
33849 (grub_console_setcolorstate): Likewise.
33850 (grub_console_setcursor): Likewise.
33851
33852 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33853
59652a20 338542008-07-16 Pavel Roskin <proski@gnu.org>
33855
ef294055 33856 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33857 format strings.
33858
59652a20 33859 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33860 pointer, not an integer. This fixes a warning and prevents
33861 precision loss on 64-bit systems.
33862 (relocate_addresses): Remove unneeded cast.
33863
afc3b5d7 338642008-07-15 Pavel Roskin <proski@gnu.org>
33865
506b2b3e 33866 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33867
62ead89c 33868 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33869
c4cd51d7 33870 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33871 Fix comparison between signed and unsigned.
33872
0d3d8f28 33873 * include/grub/i386/ieee1275/console.h: Declare
33874 grub_console_init() and grub_console_fini().
33875
8804b286 33876 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33877 It's empty and unused.
33878
ee01cf35 33879 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33880 beginning to avoid warnings with some compilers.
33881
afc3b5d7 33882 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33883 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33884
e4e8eaa5 338852008-07-14 Pavel Roskin <proski@gnu.org>
33886
407aceb4 33887 * kern/env.c (grub_register_variable_hook): Don't copy empty
33888 string, it leaks memory. Pass "" to grub_env_set(), it should
33889 handle constant strings.
33890
e4e8eaa5 33891 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33892 * commands/cmp.c (grub_cmd_cmp): Likewise.
33893 * kern/dl.c (grub_dl_flush_cache): Likewise.
33894 (grub_dl_load_core): Likewise.
33895 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33896 (grub_elf64_load_phdrs): Likewise.
33897
d4e2dad3 338982008-07-13 Pavel Roskin <proski@gnu.org>
33899
33900 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33901 between signed and unsigned.
33902 (LzmaEnc_Finish): Fix warning about an unused parameter.
33903
aa24b516 339042008-07-13 Bean <bean123ch@gmail.com>
33905
33906 * Makefile.in (enable_lzo): New rule.
33907
33908 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33909
33910 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33911
33912 * boot/i386/pc/lnxboot.S: #include <config.h>.
33913
33914 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33915 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33916
33917 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33918 compression algorithm according to configure macro.
33919
33920 * kern/i386/pc/startup.S (codestart): Likewise.
33921
33922 * kern/i386/pc/lzma_decode.S: New file.
33923
33924 * include/grub/lib/LzFind.h: Likewise.
33925
33926 * include/grub/lib/LzHash.h: Likewise.
33927
33928 * include/grub/lib/LzmaDec.h: Likewise.
33929
33930 * include/grub/lib/LzmaEnc.h: Likewise.
33931
33932 * include/grub/lib/LzmaTypes.h: Likewise.
33933
33934 * lib/LzFind.c: Likewise.
33935
33936 * lib/LzmaDec.c: Likewise.
33937
33938 * lib/LzmaEnc.c: Likewise.
33939
4ae821ac 339402008-07-13 Bean <bean123ch@gmail.com>
33941
33942 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33943 (grub_ext4_extent_header): New structure.
33944 (grub_ext4_extent): Likewise.
33945 (grub_ext4_extent_idx): Likewise.
33946 (grub_ext4_find_leaf): New function.
33947 (grub_ext2_read_block): Handle extents.
33948
9a745147 339492008-07-12 Robert Millan <rmh@aybabtu.com>
33950
33951 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33952
d49a4cf6 339532008-07-11 Robert Millan <rmh@aybabtu.com>
33954
33955 * util/grub.d/40_custom.in: New file. Example on how to add custom
33956 entries to /etc/grub.d.
33957 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33958 40_custom (implicitly, by merging all the grub.d rules).
33959
947414b4 339602008-07-11 Pavel Roskin <proski@gnu.org>
33961
0059cf6f 33962 * commands/read.c (grub_getline): Fix invalid memory access.
33963 Don't add newline to the variable value.
33964
947414b4 33965 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33966 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33967 (serial_hw_get_port): Check validity of the port number.
33968 (grub_cmd_serial): Check return value of serial_hw_get_port().
33969
62a02d00 339702008-07-07 Pavel Roskin <proski@gnu.org>
33971
33972 * boot/i386/pc/diskboot.S (notification_string): Replace
33973 "Loading kernel" with just "loading". This is shorter, less
33974 confusing and saves a few bytes for possible future changes.
33975
3e5581b0 339762008-07-05 Pavel Roskin <proski@gnu.org>
33977
ea387a48 33978 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33979 size for ATAPI devices, they are undefined. Output sector
33980 number in decimal form.
33981
3e5581b0 33982 * disk/ata.c: Use named constants for status bits.
33983
fdecb8fd 339842008-07-04 Pavel Roskin <proski@gnu.org>
33985
bcd35b90 33986 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33987 grub_addr_t before casting it to the void pointer to fix a
33988 warning. Non-addressable regions are discarded earlier.
33989 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33990 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33991 (check_signature): Don't shadow table_header.
33992 (grub_linuxbios_table_iterate): Cast numeric constants to
33993 grub_linuxbios_table_header_t.
33994 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33995 grub_stop().
33996
af58ab3d 33997 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33998 prevent warnings.
33999
1759aa57 34000 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34001 pointer, which can cause warnings. Support 64-bit addresses.
34002
fdecb8fd 34003 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34004 of sizeof(long). This fixes PowerPC image generation on x86_64.
34005
8516d2a8 340062008-07-04 Robert Millan <rmh@aybabtu.com>
34007
34008 This fixes a performance issue when pc & gpt partmap iterators
34009 didn't abort iteration even after our hook found what it was
fe987087 34010 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34011
34012 Some callers relied on previous buggy behaviour, since they would
34c44600 34013 raise an error when their own hooks caused early abortion of its
8516d2a8 34014 iteration.
34015
34016 * kern/device.c (grub_device_open): Improve error message.
34017 * disk/lvm.c (grub_lvm_open): Likewise.
34018 * disk/raid.c (grub_raid_open): Likewise.
34019
34020 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34021 when hook requests it, independently of grub_errno.
34022 (pc_partition_map_probe): Do not fail when find_func() caused
34023 early abortion of pc_partition_map_iterate().
34024
34025 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34026 when hook requests it, independently of grub_errno.
34027 (gpt_partition_map_probe): Do not fail when find_func() caused
34028 early abortion of gpt_partition_map_iterate().
34029
34030 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34031 when hook requests it, independently of grub_errno. Do not fail when
34032 part_map_iterate_hook() caused early abortion of p->iterate().
34033
34034 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34035 when grub_partition_iterate() returned with non-zero.
34036
277d0de9 340372008-07-03 Pavel Roskin <proski@gnu.org>
34038
34039 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34040 like we do in grub_ata_pio_read().
34041 (grub_ata_readwrite): Always write individual sectors. Fix the
34042 sector count for the remainder.
34043 (grub_ata_write): Enable writing to ATA devices. Correctly
34044 report error for ATAPI devices.
34045
d4c9b428 340462008-07-02 Pavel Roskin <proski@gnu.org>
34047
e43fc690 34048 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34049 warning.
34050
f707af42 34051 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34052 for every read sector, we already increment it for the whole
34053 batch. This fixes reading more than 256 sectors at once.
34054
11e16b15 34055 * util/grub-editenv.c (cmd_info): Cast argument to long
34056 explicitly. ptrdiff_t reduces to int on i386.
34057
cbabfdd4 34058 * util/grub-editenv.c (main): Be specific which parameter is
34059 missing.
34060
b8fbce0a 34061 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34062 (memdisk): Make memdisk_orig_addr a pointer.
34063
c9c8e606 34064 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34065 for file offsets, use grub_off_t instead. Fix printf format
34066 warnings.
34067
ca62e598 34068 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34069 there. Real unexpected warnings should not drown in the noise
34070 about known problems.
34071
ce8d1766 34072 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34073 grub_disk_addr_t for memory addresses.
34074
00c7a56a 34075 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34076 explicitly to fix a warning.
34077
08d3ef09 34078 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34079
cb71ba20 34080 * Makefile.in (MODULE_LDFLAGS): New variable.
34081 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34082 the linker accepts --build-id=none.
34083 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34084 MODULE_LDFLAGS.
34085 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34086
d4c9b428 34087 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34088 those in Linux XFS code. Provide a way to access 64-bit parent
34089 inode.
34090 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34091 the end of struct grub_xfs_dir_header.
34092
d4156eee 340932008-07-02 Bean <bean123ch@gmail.com>
34094
34095 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34096 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34097 and GRUB_IEEE1275_FLAG_NO_ANSI.
34098
34099 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34100 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34101 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34102
34103 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34104 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34105
34106 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34107 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34108
34109 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34110 esc sequence on non ANSI terminal.
34111 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34112
34113 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34114 beginning of file.
34115
2270f77b 341162008-07-02 Bean <bean123ch@gmail.com>
34117
34118 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34119 (grub_editenv_SOURCES): New variable.
34120 (pkglib_MODULES): Add loadenv.mod.
34121 (loadenv_mod_SOURCES): New variable.
34122 (loadenv_mod_CFLAGS): Likewise.
34123 (loadenv_mod_LDFLAGS): Likewise.
34124
34125 * include/grub/envblk.h: New file.
34126
34127 * util/envblk.c: New file.
34128
34129 * util/grub-editenv.c: New file.
34130
34131 * commands/loadenv.c: New file.
34132
0e9e51ec 341332008-07-01 Pavel Roskin <proski@gnu.org>
34134
d89b7634 34135 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34136 not unsigned char. This fixes warnings and is consistent with
34137 other tags.
34138
bf1835b1 34139 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34140
8222a04b 34141 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34142
6a42d99d 34143 * term/tparm.c (analyze): Always set *popcount.
34144
10b159d1 34145 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34146 cast to fix a warning.
34147
b8789f6c 34148 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34149 cast to suppress a warning.
34150
29d7e38a 34151 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34152 grub_fshelp_read_file() expects.
34153
f341f669 34154 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34155 write uuid as a 32-bit value in CPU byte order, so declare and
34156 use it as such.
34157
0e9e51ec 34158 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34159 long if the format specifier expects it.
34160 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34161 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34162 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34163 long to fix a warning.
34164 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34165 grub_dprintf() arguments to fix warnings.
34166
3aefa857 341672008-06-30 Pavel Roskin <proski@gnu.org>
34168
56c7668b 34169 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34170 install_bsd_part immediately before core.img is embedded or
34171 modified on disk. This fixes core.img verification if core.img
34172 cannot be embedded.
34173
3aefa857 34174 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34175 core_path to calculate the blocklist.
34176 Patch from Javier Martín <lordhabbit@gmail.com>
34177
5444088d 341782008-06-29 Robert Millan <rmh@aybabtu.com>
34179
34180 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34181 block to disk block.
34182 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34183 Patch from Niels Böhm <bitbucket@arcor.de>
34184
674835c8 341852008-06-29 Robert Millan <rmh@aybabtu.com>
34186
34187 * util/update-grub_lib.in (font_path): Search for fonts in
34188 /boot/grub first, which is more likely to be readable (we aren't
34189 deciding where fonts live, just looking for them).
34190
f527dbc8 341912008-06-26 Pavel Roskin <proski@gnu.org>
34192
6c2d8df6 34193 * util/biosdisk.c (read_device_map): Don't leave dead map
34194 entries for devices failing stat() check.
34195
f527dbc8 34196 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34197 core_path_dev for the core.img path on the target device.
34198
aebe3d13 341992008-06-26 Robert Millan <rmh@aybabtu.com>
34200
34201 * disk/fs_uuid.c: New file.
34202 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34203 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34204 (fs_uuid_mod_LDFLAGS): New variables.
34205 * include/grub/disk.h (grub_disk_dev_id): Add
34206 `GRUB_DISK_DEVICE_UUID_ID'.
34207 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34208 implement iterate().
34209
37aaf354 342102008-06-26 Robert Millan <rmh@aybabtu.com>
34211
34212 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34213 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34214 Linux image includes no initrd.
34215
25ff262a 342162008-06-21 Javier Martín <lordhabbit@gmail.com>
34217
34218 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34219 call to resolve the core image location that effectively appended the
34220 name twice.
34221
76a2bd44 342222008-06-21 Robert Millan <rmh@aybabtu.com>
34223
34224 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34225 call from here ...
34226
34227 * util/grub.d/10_hurd.in: ... to here ...
34228 * util/grub.d/10_linux.in: ... and here.
34229
650e1c79 342302008-06-19 Robert Millan <rmh@aybabtu.com>
34231
fe987087 34232 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34233 after it has been set by grub_machine_set_prefix().
34234
6ce63911 342352008-06-19 Robert Millan <rmh@aybabtu.com>
34236
34237 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34238 search result when not saving to variable, not the other way around.
34239 When saving to variable, abort iteration as soon as a match is found.
34240
73940cec 342412008-06-19 Robert Millan <rmh@aybabtu.com>
34242
34243 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34244 check for partition that provides /boot/grub. Its logic is flawed,
34245 as it prevents prepare_grub_to_access_device() from being called
34246 multiple times.
34247
3c62a39d 342482008-06-19 Robert Millan <rmh@aybabtu.com>
34249
34250 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34251 "insmod" command directly when abstraction modules are needed,
fe987087 34252 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34253 since it had already been processed).
34254
47395a42 342552008-06-19 Pavel Roskin <proski@gnu.org>
34256
34257 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34258 changed. This is needed in case GRUB_LIBDIR changes.
34259 * conf/i386-ieee1275.rmk: Likewise.
34260 * conf/i386-linuxbios.rmk: Likewise.
34261 * conf/i386-pc.rmk: Likewise.
34262 * conf/powerpc-ieee1275.rmk: Likewise.
34263
a145ac2d 342642008-06-18 Pavel Roskin <proski@gnu.org>
34265
34266 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34267 kernel_elf_symlist.c to symlist.c for consistency with other
34268 architectures. Update all users.
34269 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34270
7847c51e 342712008-06-18 Robert Millan <rmh@aybabtu.com>
34272
34273 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34274 it in prefix.
34275
34276 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34277 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34278 a RAID device, run setup() for all members independently on whether
34279 LVM abstraction is being used.
34280 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34281 If grub-mkimage has set `*install_dos_part == -2', don't override this
34282 value.
34283 Perform *install_dos_part adjustments independently on whether
34284 we're embedding or not.
34285 Clarify error message when image is too big for embedding.
34286 Remove duplicate *install_dos_part stanza.
34287
b23e5644 342882008-06-17 Robert Millan <rmh@aybabtu.com>
34289
34290 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34291 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34292 variables.
34293 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34294 values in grub_ofconsole_normal_color and
34295 grub_ofconsole_highlight_color (they're not directly related to
34296 background and foreground).
34297 (grub_ofconsole_setcolorstate): Extract background and foreground
34298 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34299
0aac2f79 343002008-06-17 Robert Millan <rmh@aybabtu.com>
34301
34302 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34303 /boot/grub for the check in last commit, not /boot (they could be
34304 different partitions).
34305
3cca7ef3 343062008-06-16 Robert Millan <rmh@aybabtu.com>
34307
34308 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34309 asked to setup access for the same partition that provides /boot,
34310 don't bother using UUIDs since our root already has the value we
34311 want.
34312
347396d8 343132008-06-16 Robert Millan <rmh@aybabtu.com>
34314
34315 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34316 I2O devices.
34317 Patch from Sven Mueller <sven@debian.org>.
34318
991477f8 343192008-06-16 Robert Millan <rmh@aybabtu.com>
34320
34321 * util/update-grub.in: Check for $EUID instead of $UID.
34322 Reported by Vincent Zweije.
34323
d31a32a1 343242008-06-16 Bean <bean123ch@gmail.com>
34325
fe987087 34326 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34327 (grub_ext2_read_block): Likewise.
34328 (grub_ext2_read_inode): Likewise.
34329 (grub_ext2_mount): Likewise.
34330 (grub_ext2_close): Likewise.
34331 (grub_ext3_get_journal): Removed.
34332
fe987087 34333 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34334 (grub_reiserfs_read_symlink): Likewise.
34335 (grub_reiserfs_mount): Likewise.
34336 (grub_reiserfs_open): Likewise.
34337 (grub_reiserfs_read): Likewise.
34338 (grub_reiserfs_close): Likewise.
34339 (grub_reiserfs_get_journal): Removed.
34340
34341 * fs/fshelp.c (grub_fshelp_read): Removed.
34342 (grub_fshelp_map_block): Likewise.
34343
34344 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34345 (grub_fshelp_journal): Likewise.
34346 (grub_fshelp_read): Likewise.
34347 (grub_fshelp_map_block): Likewise.
34348
3540a760 343492008-06-16 Pavel Roskin <proski@gnu.org>
34350
34351 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34352 floating point anymore.
34353 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34354
95614c84 343552008-06-15 Pavel Roskin <proski@gnu.org>
34356
34357 * commands/ls.c (grub_ls_list_files): Use integer calculations
34358 for human readable format, avoid floating point use.
34359 * kern/misc.c (grub_ftoa): Remove.
34360 (grub_vsprintf): Remove floating point support.
34361
50465dd6 343622008-06-15 Robert Millan <rmh@aybabtu.com>
34363
fe6b695a 34364 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34365 devices.
34366 Reported by Max Vozeler.
34367
a9207284 343682008-06-15 Robert Millan <rmh@aybabtu.com>
34369
34370 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34371 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34372 skipped later.
34373 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34374 the beginning of the prefix.
34375
34376 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34377 It is assumed that if we have a memdisk, grub-mkimage has set
34378 grub_prefix to include the "(memdisk)" drive in it.
34379
a7cbd45a 343802008-06-15 Robert Millan <rmh@aybabtu.com>
34381
34382 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34383 Initialize keyboard controller after registering the terminal, so that
34384 grub_printf() can be called from grub_keyboard_controller_init().
34385
21cf716a 343862008-06-15 Robert Millan <rmh@aybabtu.com>
34387
34388 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34389 extent-btree which is written as big endian on disk.
34390 Reported by Alain Greppin <al@chilibi.org>.
34391
23a64d8e 343922008-06-14 Robert Millan <rmh@aybabtu.com>
34393
34394 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34395 * util/i386/pc/grub-install.in (modules): Likewise.
34396
d687651c 343972008-06-13 Pavel Roskin <proski@gnu.org>
34398
34399 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34400
dfe9ddd4 344012008-06-13 Bean <bean123ch@gmail.com>
34402
34403 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34404
34405 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34406
34407 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34408 to indicate sparse block.
34409
16ae7781 344102008-06-12 Pavel Roskin <proski@gnu.org>
34411
e6d1a308 34412 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34413 number, grub_fshelp_read() does it for us.
34414
16ae7781 34415 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34416 linear disk read with journal translation.
34417 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34418 * include/grub/fshelp.h: Declare grub_fshelp_read().
34419
40fd3a2b 344202008-06-09 Pavel Roskin <proski@gnu.org>
34421
34422 * fs/minix.c (grub_minix_mount): Handle error reading
34423 superblock.
34424
f5679726 344252008-06-08 Robert Millan <rmh@aybabtu.com>
34426
34427 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34428 don't append the RAID prefix afterwards.
34429 Reported by Clint Adams.
34430
ce525529 344312008-06-08 Robert Millan <rmh@aybabtu.com>
34432
34433 Based on description from Pavel:
34434 * kern/disk.c (grub_disk_check_range): Rename to ...
34435 (grub_disk_adjust_range): ... this. Add a comment explaining the
34436 tasks performed by this function.
34437
ad4936a0 344382008-06-08 Robert Millan <rmh@aybabtu.com>
34439
34440 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34441 `num_serial' (for consistency with other variables).
34442 (struct grub_ntfs_data): Add `uuid' member.
34443 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34444 (grub_ntfs_uuid): New function.
34445 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34446
dc20b0f9 344472008-06-07 Pavel Roskin <proski@gnu.org>
34448
34449 * util/biosdisk.c (open_device): Revert last change to the
34450 function, it broke installation. The sector needs to be
34451 different dependent on which device is opened.
34452
c5e3cfba 344532008-06-06 Robert Millan <rmh@aybabtu.com>
34454
34455 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34456 rest of GRUB, and breakage doesn't happen if its value were modified.
34457
34458 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34459 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34460 a constant (same value).
34461 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34462 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34463
26a1f8c4 344642008-06-06 Robert Millan <rmh@aybabtu.com>
34465
34466 * util/biosdisk.c (open_device): Do not modify sector offset when
34467 accessing a partition. kern/disk.c already handles this for us.
34468
25d6b327 344692008-06-06 Robert Millan <rmh@aybabtu.com>
34470
34471 * util/grub-emu.c (grub_machine_init): Move code in this function from
34472 here ...
34473 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34474 segfault in case grub_printf() is called).
34475
34476 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34477 grub_probe. Update all users not to explicitly add it again.
34478 (grub_device): New variable; contains corresponding device for grubdir.
34479 (fs_module, partmap_module, devabstraction_module): Pass
34480 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34481 every time.
34482
9ece62fb 344832008-06-05 Robert Millan <rmh@aybabtu.com>
34484
34485 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34486 is found, print it (same layout as with labels).
34487
1ad36d37 344882008-06-04 Robert Millan <rmh@aybabtu.com>
34489
34490 * util/biosdisk.c (get_drive): Rename to ...
34491 (find_grub_drive): ... this. Update all users.
34492
34493 (get_os_disk): Rename to ...
34494 (convert_system_partition_to_system_disk): ... this. Update all users.
34495
34496 (find_drive): Rename to ...
34497 (find_system_device): ... this. Update all users.
34498
e6a30859 344992008-06-04 Robert Millan <rmh@aybabtu.com>
34500
34501 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34502 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34503 (make_device_map): Likewise.
34504
00c108a4 345052008-06-01 Robert Millan <rmh@aybabtu.com>
34506
34507 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34508 before dereferencing it.
34509
34510 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34511 union with fat12/fat16-specific ones. Add some new fields, including
34512 `num_serial' for both versions.
34513 (struct grub_fat_data): Add `uuid' member.
34514 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34515 names. Initialize `data->uuid' using `num_serial'.
34516 (grub_fat_uuid): New function.
34517 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34518
34519 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34520 (grub_reiserfs_uuid): New function.
34521 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34522 member.
34523
34524 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34525 (grub_xfs_uuid): New function.
34526 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34527
1385c5bb 345282008-06-01 Robert Millan <rmh@aybabtu.com>
34529
34530 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34531 code that is backward compatible with pre-uuid search command.
34532
c682dfd7 345332008-05-31 Robert Millan <rmh@aybabtu.com>
34534
34535 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34536 floppies after everything else, to ensure floppy drive isn't accessed
34537 unnecessarily (patch from Bean).
34538
b7db5d47 345392008-05-31 Robert Millan <rmh@aybabtu.com>
34540
34541 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34542 not print device names when we were asked to set a variable.
34543
6e037aa9 345442008-05-31 Robert Millan <rmh@aybabtu.com>
34545
34546 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34547 using "cursor-on" and "cursor-off" commands (understood at least by
34548 the Open Firmware flavour on OLPC).
34549
41305bc8 345502008-05-31 Michael Gorven <michael@gorven.za.net>
34551
34552 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34553 on and off sequences.
34554
69ba137e 345552008-05-31 Robert Millan <rmh@aybabtu.com>
34556
34557 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34558 * util/update-grub.in: Likewise.
34559
520ae21b 345602008-05-30 Pavel Roskin <proski@gnu.org>
34561
34562 * util/biosdisk.c (linux_find_partition): Simplify logic and
34563 make the code more universal. Keep special processing for
34564 devfs, but use a simple rule for all other devices. If the
34565 device ends with a number, append 'p' and the partition number.
34566 Otherwise, append only the partition number.
34567
5786569b 345682008-05-30 Robert Millan <rmh@aybabtu.com>
34569
34570 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34571 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34572 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34573 the `root' parameter to Linux.
34574
51500452 345752008-05-30 Robert Millan <rmh@aybabtu.com>
34576
34577 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34578 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34579 --fs_uuid with --fs-uuid.
34580 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34581 all filesystems support them).
34582
811d3878 345832008-05-30 Robert Millan <rmh@aybabtu.com>
34584
34585 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34586 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34587
cab63c95 345882008-05-30 Robert Millan <rmh@aybabtu.com>
34589
34590 * util/grub.d/00_header.in: Remove obsolete comment referencing
34591 convert_system_path_to_grub_path().
34592 * util/update-grub.in: Likewise.
34593 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34594 (convert_system_path_to_grub_path): Add a warning message explaining
34595 that this function is deprecated. Rely on is_path_readable_by_grub()
34596 for the readability checks.
34597 (font_path): Use is_path_readable_by_grub() for the readability
34598 check rather than convert_system_path_to_grub_path().
34599
972e2f7a 346002008-05-30 Robert Millan <rmh@aybabtu.com>
34601
34602 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34603 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34604 converting it first.
34605 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34606 grub.cfg for access to font file, and afterwards call it again to set
34607 the root device.
34608
62191274 346092008-05-30 Robert Millan <rmh@aybabtu.com>
34610
34611 * commands/search.c (options): Add --fs_uuid option.
34612 (search_fs_uuid): New function.
34613 (grub_cmd_search): Fix --set argument passing.
34614 Use search_fs_uuid() when requested via --fs_uuid.
34615 (grub_search_init): Update help message.
34616 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34617 and redeclare it as an array of 16-bit words.
34618 (grub_ext2_uuid): New function.
34619 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34620 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34621 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34622 (GRUB_DEVICE_BOOT_UUID): New variables.
34623 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34624 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34625 whenever possible.
34626 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34627 just assume `root' variable has the right value.
34628 * util/grub.d/10_linux.in: Likewise.
34629 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34630 via PRINT_FS_UUID.
34631 (main): Recognise `-t fs_uuid' argument.
34632
01b73ec8 346332008-05-30 Robert Millan <rmh@aybabtu.com>
34634
34635 * util/biosdisk.c (map): Redefine structure to hold information
34636 about GRUB drive name.
fe6b695a 34637 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34638 drive names.
34639 (call_hook): Remove.
34640 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34641 member. Assume drive has partitions.
34642 (grub_util_biosdisk_open): Access device names via `.device' struct
34643 member.
34644 (open_device): Likewise.
34645 (find_drive): Likewise.
34646 (read_device_map): Adjust map[] usage to match the new struct
34647 definition. Don't check for duplicates (still possible, but not cheap
34648 anymore).
34649 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34650 (make_device_name): Remove assumption of BIOS-like drive names.
34651
22f16596 346522008-05-30 Pavel Roskin <proski@gnu.org>
34653
34654 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34655 compiling execute.c doesn't need grub_script.tab.h anymore.
34656 (normal/command.c_DEPENDENCIES): Likewise.
34657 (normal/function.c_DEPENDENCIES): Likewise.
34658 * conf/i386-ieee1275.rmk: Likewise.
34659 * conf/i386-linuxbios.rmk: Likewise.
34660 * conf/i386-pc.rmk: Likewise.
34661 * conf/powerpc-ieee1275.rmk: Likewise.
34662 * conf/sparc64-ieee1275.rmk: Likewise.
34663
528ad8f2 346642008-05-29 Pavel Roskin <proski@gnu.org>
34665
d1dff95d 34666 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34667 when scanning metadata for volume group name.
34668
528ad8f2 34669 * include/grub/script.h: Don't include grub_script.tab.h. It's
34670 a generated file, which may only be included from the files with
34671 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34672 use union YYSTYPE, as the later allows forward declaration.
34673 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34674
47248e08 346752008-05-29 Robert Millan <rmh@aybabtu.com>
34676
34677 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34678 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34679 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34680 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34681 scan codes.
34682
ee632529 346832008-05-29 Robert Millan <rmh@aybabtu.com>
34684
34685 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34686 control key combinations.
34687
eee96e08 346882008-05-29 Robert Millan <rmh@aybabtu.com>
34689
34690 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34691 * util/ieee1275/grub-install.in: ... to here.
34692 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34693 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34694 (grub_install_SOURCES): Likewise.
34695
da9a6a94 346962008-05-29 Robert Millan <rmh@aybabtu.com>
34697
34698 * fs/affs.c: Update copyright year.
34699 * fs/ext2.c: Likewise.
34700 * fs/fshelp.c: Likewise.
34701 * fs/hfsplus.c: Likewise.
34702 * fs/ntfs.c: Likewise.
34703 * fs/xfs.c: Likewise.
34704 * include/grub/fshelp.h: Likewise.
34705 * util/grub-mkdevicemap.c: Likewise.
34706
12e65f3a 347072008-05-28 Robert Millan <rmh@aybabtu.com>
34708
34709 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34710 might need to be fatfs to support some firmware implementations
34711 (e.g. OFW or EFI).
34712
23023641 347132008-05-28 Robert Millan <rmh@aybabtu.com>
34714
34715 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34716 devices.
34717 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34718 (make_device_map): Likewise.
34719
887d2619 347202008-05-20 Bean <bean123ch@gmail.com>
34721
34722 * fs/fshelp.c (grub_fshelp_map_block): New function.
34723 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34724 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34725
34726 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34727 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34728 (grub_fshelp_journal): New structure.
34729 (grub_fshelp_map_block): New function prototype.
34730 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34731 (grub_fshelp_map_block): Likewise.
34732
34733 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34734 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34735 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34736 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34737 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34738 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34739 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34740 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34741 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34742 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34743 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34744 (grub_ext2_sblock): New members for journal support.
34745 (grub_ext3_journal_header): New structure.
34746 (grub_ext3_journal_revoke_header): Likewise.
34747 (grub_ext3_journal_block_tag): Likewise.
34748 (grub_ext3_journal_sblock): Likewise.
34749 (grub_fshelp_node): New members logfile and journal.
34750 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34751 grub_fshelp_map_block to get real block number.
34752 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34753 number.
34754 (grub_ext2_read_inode): Likewise.
34755 (grub_ext3_get_journal): New function.
34756 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34757 (grub_ext2_close): Release memory used by journal.
34758
34759 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34760 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34761 (grub_reiserfs_transaction_header): Renamed to
34762 grub_reiserfs_description_block, replace field data with real_blocks.
34763 (grub_reiserfs_commit_block): New structure.
34764 (grub_reiserfs_data): New member journal.
34765 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34766 number.
34767 (grub_reiserfs_read_symlink): Likewise.
34768 (grub_reiserfs_iterate_dir): Likewise.
34769 (grub_reiserfs_open): Likewise.
34770 (grub_reiserfs_read): Likewise.
34771 (grub_reiserfs_get_journal): New function.
34772 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34773 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34774 using grub_reiserfs_get_journal.
34775 (grub_reiserfs_close): Release memory used by journal.
34776
34777 * fs/affs.c (grub_affs_read_block): Change block type to
34778 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34779
34780 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34781
34782 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34783
34784 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34785
34786 * fs/udf.c (grub_udf_read_block): Change block type to
34787 grub_disk_addr_t. Use type cast to avoid warning.
34788
34789 * fs/xfs.c (grub_xfs_read_block): Likewise.
34790
b7c6bed5 347912008-05-16 Christian Franke <franke@computer.org>
34792
34793 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34794 to ensure that break with ESC will always work.
34795 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34796 Remove ESC from keyboard queue.
34797
eedf167f 347982008-05-16 Christian Franke <franke@computer.org>
34799
34800 * util/biosdisk.c: [__CYGWIN__] Add includes.
34801 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34802 (get_os_disk): Move variable declarations to OS specific
34803 parts to avoid warning.
34804 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34805 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34806 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34807 Cygwin.
34808 * util/getroot.c: [__CYGWIN__] Add includes.
34809 (strip_extra_slashes): Fix "/" case.
34810 [__CYGWIN__] (get_win32_path): New function.
34811 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34812 [__CYGWIN__] (find_root_device): Disable.
34813 [__CYGWIN__] (get_bootsec_serial): New function.
34814 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34815 [__linux__] (grub_guess_root_device): Add early returns to simplify
34816 structure.
34817 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34818 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34819 check for Linux only.
34820
a079699e 348212008-05-15 Bean <bean123ch@gmail.com>
34822
34823 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34824 keyboard hang problem in apple's intel mac.
34825
1cf4059a 348262008-05-09 Robert Millan <rmh@aybabtu.com>
34827
34828 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34829 devices.
34830 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34831 (make_device_map): Likewise.
34832 Reported by Aurelien Jarno <aurel32@debian.org>
34833
ed759390 348342008-05-07 Ian Campbell <ijc@hellion.org.uk>
34835
34836 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34837 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34838 (make_device_map): Output entries for xvd type disks.
34839
b56c4eaa 348402008-05-07 Robert Millan <rmh@aybabtu.com>
34841
34842 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34843 devices.
34844 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34845 (make_device_map): Likewise.
34846 Reported by Roland Dreier <rdreier@cisco.com>
34847
7f8866ed 348482008-05-07 Robert Millan <rmh@aybabtu.com>
34849
34850 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34851 grub_strstr() call. Correct a few mistakes in failure path handling.
34852
b0346e0f 348532008-05-06 Robert Millan <rmh@aybabtu.com>
34854
34855 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34856 Do not print a trailing slash (therefore, the root directory is an
34857 empty string).
34858 (convert_system_path_to_grub_path): Do not remove trailing slash
34859 from make_system_path_relative_to_its_root() output.
34860
34861 * util/i386/pc/grub-install.in: Add trailing slash to output from
34862 make_system_path_relative_to_its_root().
34863
6cf12cbd 348642008-05-06 Robert Millan <rmh@aybabtu.com>
34865
34866 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34867 ensures that output lines aren't intermangled with those sent to
34868 stderr (via grub_util_info()).
34869 * util/grub-probe.c (grub_refresh): Likewise.
34870 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34871
0fbb3117 348722008-05-05 Christian Franke <franke@computer.org>
34873
34874 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34875 Add Cygwin device names.
34876 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34877 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34878 (check_device): Return error instead of success on empty name.
34879 (make_device_map): Move label inside linux specific code to
34880 prevent compiler warning.
34881
8124cdb7 348822008-04-30 Robert Millan <rmh@aybabtu.com>
34883
34884 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34885 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34886 first boot option.
34887 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34888
094c01d0 348892008-04-29 Robert Millan <rmh@aybabtu.com>
34890
34891 * docs/grub.cfg: New file (example GRUB configuration).
34892
f4b1fc02 348932008-04-26 Robert Millan <rmh@aybabtu.com>
34894
329ce2a5 34895 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34896 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34897 and `disk/ieee1275/nand.c'.
f4b1fc02 34898
25f16ec1 348992008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34900
25f16ec1 34901 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34902 i386-linuxbios.
34903
34904 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34905 change the buffer size to 4096 for cdrom device.
34906
34907 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34908 and nand.mod.
34909 (_linux_mod_SOURCES): New variable.
34910 (_linux_mod_CFLAGS): Likewise.
34911 (_linux_mod_LDFLAGS): Likewise.
34912 (linux_mod_SOURCES): Likewise.
34913 (linux_mod_CFLAGS): Likewise.
34914 (linux_mod_LDFLAGS): Likewise.
34915 (nand_mod_SOURCES): Likewise.
34916 (nand_mod_CFLAGS): Likewise.
34917 (nand_mod_LDFLAGS): Likewise.
34918
34919 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34920 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34921 type property. (nand device in olpc don't have this property)
34922
34923 * include/grub/disk.h (grub_disk_dev_id): New macro
34924 GRUB_DISK_DEVICE_NAND_ID.
34925
34926 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34927 function prototype.
34928 (grub_rescue_cmd_initrd): Likewise.
34929
34930 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34931 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34932 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34933
25f16ec1 34934 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34935 GRUB_MACHINE_IEEE1275 is defined.
34936
34937 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34938 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34939
34940 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34941 on nested function heap_init.
34942 (grub_upper_mem): New variable for i386-ieee1275.
34943 (grub_get_extended_memory): New function for i386-ieee1275.
34944 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34945
34946 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34947 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34948 property.
f19dbdb7 34949
25f16ec1 34950 * loader/i386/ieee1275/linux.c: New file.
34951
34952 * loader/i386/ieee1275/linux_normal.c: New file.
34953
34954 * disk/ieee1275/nand.c: New file.
34955
e89d61e9 349562008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34957
34958 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34959 value.
34960 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34961
602566f6 349622008-04-18 Robert Millan <rmh@aybabtu.com>
34963
34964 Restructures early code path on ieee1275 to unify grub_main() as
34965 the first C function that is executed in every platform.
34966
34967 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34968 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34969 cmain().
34970 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34971 * kern/ieee1275/cmain.c (cmain): Rename to ...
34972 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34973 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34974 at the beginning.
34975
57490c2b 349762008-04-18 Robert Millan <rmh@aybabtu.com>
34977
34978 * util/update-grub.in: Fix syntax error when setting
34979 `GRUB_PRELOAD_MODULES'.
34980 Reported by Stephane Chazelas <stephane@artesyncp.com>
34981
1977517d 349822008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34983
34984 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34985 section into account, newer toolchains generate unique build ids
34986 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34987 we want build ids to be preserved
1977517d 34988 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34989 far from other sections don't cause the raw binary images grow
34990 size
34991
bfb1f1a2 349922008-04-15 Robert Millan <rmh@aybabtu.com>
34993
34994 * disk/lvm.c: Update copyright year.
34995 * kern/misc.c: Likewise.
34996
01979850 349972008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34998
34999 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35000 there is no memory left for physical volume name.
01979850 35001
0a1150e2 350022008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35003
35004 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35005 volume name mapping to support bigger than 9 character names properly.
35006
82ead3fe 350072008-04-13 Robert Millan <rmh@aybabtu.com>
35008
35009 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35010 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35011
e54a72f5 350122008-04-13 Christian Franke <franke@computer.org>
35013
35014 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35015 to create a floppy emulation boot CD when non emulation mode
35016 does not work.
35017 Enable Joliet CD filesystem extension.
35018
9fe86034 350192008-04-13 Robert Millan <rmh@aybabtu.com>
35020
35021 * kern/misc.c (grub_strncat): Fix off-by-one error.
35022 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35023
35024 * kern/env.c (grub_env_context_close): Clear current context, not
35025 previous one.
35026 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35027
35028 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35029
7ceeee39 350302008-04-13 Robert Millan <rmh@aybabtu.com>
35031
35032 Improve robustness when handling LVM.
35033
35034 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35035 (and leave `*p' unmodified).
7ceeee39 35036 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35037 through it.
35038 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35039 iterating through it.
35040 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35041 through it.
fe6b695a 35042 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35043 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35044 Don't assume `vg->pvs != NULL' when iterating through it.
35045
58cd3d85 350462008-04-13 Robert Millan <rmh@aybabtu.com>
35047
35048 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35049 * genmk.rb (partmap): New variable.
35050 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35051 (#{partmap}): New target rule.
35052 * genpartmaplist.sh: New file.
35053 * Makefile.in (pkglib_DATA): Add partmap.lst.
35054 (partmap.lst): New target rule.
35055 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35056 modules (including all partition maps), instead of preloading them.
35057
78b51059 350582007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35059
35060 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35061 `linux-boot-prober' (if installed) to detect other operating
35062 systems which are installed on the computer and add them to
35063 the boot menu.
35064 * conf/common.rmk: Build and install 30_os-prober.
35065
a91627b4 350662008-04-12 Robert Millan <rmh@aybabtu.com>
35067
35068 * kern/powerpc/ieee1275/init.c: Move from here ...
35069 * kern/ieee1275/init.c: ... to here. Update all users.
35070
35071 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35072 * kern/ieee1275/cmain.c: ... to here. Update all users.
35073
35074 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35075 * kern/ieee1275/openfw.c: ... to here. Update all users.
35076
35077 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35078 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35079
322562ea 350802008-04-10 Pavel Roskin <proski@gnu.org>
35081
35082 * configure.ac: Always use "_cv_" in cache variables for
35083 compatibility with Autoconf 2.62.
35084
a02a73c5 350852008-04-07 Robert Millan <rmh@aybabtu.com>
35086
35087 Revert grub/machine/init.h addition by Pavel (since it breaks on
35088 i386-ieee1275 and others):
35089 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35090 * util/powerpc/ieee1275/misc.c: Likewise.
35091
25c024b1 350922008-04-07 Robert Millan <rmh@aybabtu.com>
35093
35094 * util/grub-probe.c (probe): Improve error message.
35095
3cbd2f98 350962008-04-07 Robert Millan <rmh@aybabtu.com>
35097
35098 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35099 (this prevents the presence of a bogus entry from ruining the whole
35100 thing).
35101
87a297bf 351022008-04-06 Pavel Roskin <proski@gnu.org>
35103
36747a62 35104 * util/biosdisk.c: Include grub/util/biosdisk.h.
35105 * util/grub-fstest.c (execute_command): Make static.
35106 * util/grub-mkdevicemap.c (check_device): Likewise.
35107 * util/i386/pc/misc.c: Include grub/machine/init.h.
35108 * util/powerpc/ieee1275/misc.c: Likewise.
35109 * util/lvm.c: Include grub/util/lvm.h.
35110 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35111 grub/cache.h.
35112 * util/raid.c: Include grub/util/raid.h.
35113 (grub_util_getdiskname): Make static.
35114
87a297bf 35115 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35116 grub_hostfs_fini(), as they are called from grub_init_all() and
35117 grub_fini_all() respectively. This fixes an infinite loop in
35118 grub-fstest due to double registration of hostfs.
35119 Reported by Christian Franke <Christian.Franke@t-online.de>
35120
f6ce7629 351212008-04-05 Pavel Roskin <proski@gnu.org>
35122
35123 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35124 all 8 functions. Otherwise, probe function 0 only.
35125
070e49e4 351262008-04-04 Pavel Roskin <proski@gnu.org>
35127
8b088a4c 35128 * commands/lspci.c (grub_lspci_iter): Print the bus number
35129 correctly.
35130
4f657021 35131 * commands/lspci.c (grub_pci_classes): Fix typos.
35132 (grub_lspci_iter): Don't print func twice. Print vendor ID
35133 before device ID, as it's normally done.
35134
070e49e4 35135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35136 Fix signedness warnings.
35137 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35138 Likewise.
35139 * util/ieee1275/get_disk_name.c: Include config.h so that
35140 _GNU_SOURCE is defined and getline() is declared. Mark an
35141 unused argument as such. Fix a signedness warning.
35142
ba7328dc 351432008-04-02 Pavel Roskin <proski@gnu.org>
35144
26887f22 35145 * genkernsyms.sh.in: Use more robust assignments for CC and
35146 srcdir. Quote srcdir.
35147 * gensymlist.sh.in: Likewise. Assert at the compile time that
35148 the symbol table is not empty.
35149
ba7328dc 35150 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35151 * fs/cpio.c (grub_cpio_read): Likewise.
35152
0f582c6b 351532008-04-01 Pavel Roskin <proski@gnu.org>
35154
4b6e1995 35155 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35156 * disk/host.c (grub_host_open): Likewise.
35157 * disk/loopback.c (grub_loopback_open): Likewise.
35158 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35159 disk->id as in disk/host.c, not a multi-character constant.
35160
828a2768 35161 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35162 later is obsolete, potentially dangerous and sets a bad example.
35163 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35164 * util/misc.c (grub_util_get_image_size): Likewise.
35165
2bb4fb47 35166 * disk/loopback.c (options): Improve help for "--partitions".
35167
0f582c6b 35168 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35169 options to align them with the short options, e.g. "echo -e".
35170
a33224e0 351712008-03-31 Bean <bean123ch@gmail.com>
35172
35173 * video/reader/png.c (grub_png_data): New member is_16bit and
35174 image_data.
35175 (grub_png_decode_image_header): Detect 16 bit png image.
35176 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35177 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35178 (grub_video_reader_png): Release memory occupied by image_data.
35179
35180 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35181 4096 bytes.
35182 (grub_nfs_mount): Skip the test for sector per cluster.
35183
35184 * include/grub/ntfs.h (MAX_SPC): Removed.
35185
86cb4f54 351862008-03-31 Bean <bean123ch@gmail.com>
35187
35188 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35189 (grub_probe_SOURCES): Add fs/afs.c.
35190 (grub_fstest_SOURCES): Likewise.
35191 (afs_mod_SOURCES): New variable.
35192 (afs_mod_CFLAGS): Likewise.
35193 (afs_mod_LDFLAGS): Likewise.
35194
35195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35196 (grub_emu_SOURCES): Likewise.
35197
35198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35199
35200 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35201
35202 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35203
35204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35205
35206 * fs/afs.c: New file.
35207
17c74c21 352082008-03-30 Pavel Roskin <proski@gnu.org>
35209
4cb68e89 35210 * disk/host.c: Include grub/misc.h to fix a warning.
35211 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35212 warnings about implicit declarations.
35213
8790bb04 35214 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35215 variable.
35216 * include/grub/i386/loader.h: Change declaration of
35217 grub_linux_boot() to match what grub_loader_set() expects.
35218 * util/getroot.c (grub_guess_root_device): Return const char* to
35219 fix a warning.
35220 * util/grub-probe.c (probe): Fix a warning about uninitialized
35221 abstraction_name variable.
35222 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35223 second argument as unused to fix a warning.
35224
9a3f3296 35225 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35226 missing grub_error() call.
35227
0ecef90d 35228 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35229 2.60 and newer uses it to define datadir.
35230
0bf6d401 35231 * commands/sleep.c: Fix warning about implicit declaration.
35232 * disk/memdisk.c: Likewise.
35233 * loader/aout.c: Likewise.
35234 * loader/i386/bsd_normal.c: Likewise.
35235 * util/grub-probe.c: Likewise.
35236
7cdacf97 35237 * commands/i386/cpuid.c (has_longmode): Make static.
35238 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35239 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35240
17c74c21 35241 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35242 GDT. This is more robust, as %ds can change.
35243 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35244 calling real_to_prot().
35245 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35246
80a3e68b 352472008-03-28 Pavel Roskin <proski@gnu.org>
35248
35249 * kern/i386/pc/startup.S: Assert that uncompressed functions
35250 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35251 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35252 code, as they push parts of the code (error handlers) beyond
35253 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35254 code as correctness and size.
35255
77bcd272 352562008-03-28 Pavel Roskin <proski@gnu.org>
35257
35258 * kern/i386/pc/startup.S
35259 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35260 data block address to the real mode, keep offset minimal. This
35261 works around a bug in AWARD BIOS on old Athlon systems, which
35262 makes CD detection hang.
35263
c5dfd43b 352642008-03-26 Pavel Roskin <proski@gnu.org>
35265
35266 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35267 const.
35268 * include/grub/normal.h: Add grub_parse_color_name_pair()
35269 declaration.
35270
bf962df2 352712008-03-24 Bean <bean123ch@gmail.com>
35272
35273 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35274 (cd_count): Removed.
35275 (cd_drive): New variable.
35276 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35277 (grub_biosdisk_call_hook): Likewise.
35278 (grub_biosdisk_iterate): Change cdrom detection method.
35279 (grub_biosdisk_open): Replace cd_start with cd_drive.
35280 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35281 detect cdrom device.
35282
35283 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35284 Removed.
35285 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35286 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35287 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35288 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35289 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35290 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35291 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35292 (grub_biosdisk_cdrp): New structure.
35293 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35294
35295 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35296
35297 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35298 device.
35299
35300 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35301 New function.
35302
68e7fc7a 353032008-03-20 Robert Millan <rmh@aybabtu.com>
35304
35305 Remove 2 TiB limit in ata.mod.
35306 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35307 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35308 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35309 grub_uint64_t instead of grub_uint32_t.
35310
38ad2cf5 353112008-03-05 Bean <bean123ch@gmail.com>
35312
35313 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35314 (grub_multiboot): Set boot device.
35315
35316 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35317
2b89344e 353182008-03-02 Bean <bean123ch@gmail.com>
35319
35320 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35321 symlink_buffer.
35322
87a95d1f 353232008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35324
35325 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35326 texinfo.tex.
35327
35328 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35329 modified.
35330
35331 * docs/fdl.texi: New file.
f19dbdb7 35332
87a95d1f 35333 * docs/mdate-sh: New file. Copied from gnulib.
35334 * docs/texinfo.tex: Likewise.
35335
35336 * config.guess: Updated from gnulib.
35337 * install-sh: Likewise.
35338
7dc15d8e 353392008-02-28 Robert Millan <rmh@aybabtu.com>
35340
35341 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35342 (aout_mod_SOURCES): New variable.
35343 (aout_mod_CFLAGS): Likewise.
35344 (aout_mod_LDFLAGS): Likewise.
35345
35346 * conf/i386-ieee1275.rmk: Likewise.
35347
b00ab696 353482008-02-28 Robert Millan <rmh@aybabtu.com>
35349
35350 * util/update-grub.in: Reorganise terminal validity check. Accept
35351 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35352 Based on suggestion by Franklin PIAT.
35353
79ca2d78 353542008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35355
35356 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35357 function.
35358 * util/getroot.c (grub_util_check_block_device): New function that
35359 returns the given argument if it is a block device and returns NULL else.
35360 * util/grub-probe.c (argument_is_device): New variable.
35361 (probe): Promote device_name from a variable to an argument. Receive
35362 device_name from grub_util_check_block_device() if path is NULL and from
35363 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35364 (options): Introduce new parameter '-d, --device'.
79ca2d78 35365 (main): Add description of the new parameter to the help screen.
35366 Rename path variable to argument. Set argument_is_device if the '-d'
35367 option is given. Pass argument to probe() depending on
35368 argument_is_device.
35369
0d16e571 353702008-02-24 Bean <bean123ch@gmail.com>
35371
35372 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35373 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35374 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35375 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35376 (GRUB_ISO9660_VOLDESC_END): Likewise.
35377 (grub_iso9660_primary_voldesc): New member escape.
35378 (grub_iso9660_data): New member joliet.
35379 (grub_iso9660_convert_string): New function.
35380 (grub_iso9660_mount): Detect joliet extension.
35381 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35382 (grub_iso9660_iso9660_label): Likewise.
35383
35384 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35385 (grub_setup_SOURCES): Add fs/udf.c.
35386 (grub_fstest_SOURCES): Likewise.
35387 (udf_mod_SOURCES): New variable.
35388 (udf_mod_CFLAGS): Likewise.
35389 (udf_mod_LDFLAGS): Likewise.
35390
35391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35392 (grub_emu_SOURCES): Likewise.
35393
35394 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35395
35396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35397
35398 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35399
35400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35401
35402 * fs/udf.c: New file.
35403
8a594a17 354042008-02-24 Robert Millan <rmh@aybabtu.com>
35405
35406 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35407 (normal/lexer.c_DEPENDENCIES): New variables.
35408 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35409 (normal/lexer.c_DEPENDENCIES): Likewise.
35410 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35411 (normal/lexer.c_DEPENDENCIES): Likewise.
35412 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35413 (normal/lexer.c_DEPENDENCIES): Likewise.
35414 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35415 (normal/lexer.c_DEPENDENCIES): Likewise.
35416 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35417 (normal/lexer.c_DEPENDENCIES): Likewise.
35418
2dc33c03 354192008-02-23 Robert Millan <rmh@aybabtu.com>
35420
35421 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35422 since they were intended to be in hex. This didn't break previously
35423 because of a bug in gpt_partition_map_iterate() (see below).
35424
35425 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35426 when checking the validity of GPT header.
35427 Remove `partno', since it always provides the same information as `i'.
35428
f6f4cfb0 354292008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35430
35431 * include/grub/efi/time.h: Fix a wrong comment.
35432
79ff665f 354332008-02-19 Pavel Roskin <proski@gnu.org>
35434
35435 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35436 message.
35437
d38e24c2 354382008-02-19 Bean <bean123ch@gmail.com>
35439
35440 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35441 (aout_mod_SOURCES): New variable.
35442 (aout_mod_CFLAGS): Likewise.
35443 (aout_mod_LDFLAGS): Likewise.
35444 (_bsd_mod_SOURCES): New variable.
35445 (_bsd_mod_CFLAGS): Likewise.
35446 (_bsd_mod_LDFLAGS): Likewise.
35447 (bsd_mod_SOURCES): New variable.
35448 (bsd_mod_CFLAGS): Likewise.
35449 (bsd_mod_LDFLAGS): Likewise.
35450
35451 * include/grub/aout.h: New file.
35452
35453 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35454
35455 * include/grub/i386/bsd.h: New file.
35456
35457 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35458 to make it public.
35459
35460 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35461 function is called, so that it's possible to change it inside the hook.
35462 (grub_elf64_load): Likewise.
35463 (grub_elf_file): Don't close the file if elf header is not found.
35464 (grub_elf_close): Close the file if grub_elf_file fails (The new
35465 grub_elf_file won't close it).
35466 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35467 (grub_elf64_size): Likewise.
35468
35469 * kern/i386/loader.S (grub_unix_real_boot): New function.
35470
35471 * loader/aout.c: New file.
35472
35473 * loader/i386/bsd.c: New file.
35474
35475 * loader/i386/bsd_normal.c: New file.
35476
35477 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35478
35479 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35480 can test other formats.
d38e24c2 35481
b93bdb0f 354822008-02-19 Robert Millan <rmh@aybabtu.com>
35483
35484 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35485 (grub_gpt_partition_type_empty): Redefine with macro from
35486 `<grub/gpt_partition.h>'.
35487 (gpt_partition_map_iterate): Adjust partition type comparison.
35488
35489 Export `entry' as partmap-specific `part.data' struct.
35490 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35491
35492 * include/grub/gpt_partition.h (grub_gpt_header)
35493 (grub_gpt_partentry): ... to here (new file).
35494
35495 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35496
35497 (grub_gpt_partition_type_bios_boot): New const variable, defined
35498 with macro from `<grub/gpt_partition.h>'.
35499
35500 (setup): Replace `first_start' with `embed_region', which keeps
35501 track of the embed region (and is partmap-agnostic).
35502
35503 Replace find_first_partition_start() with find_usable_region(),
35504 which finds a usable region for embedding using partmap-specific
35505 knowledge (supports PC/MSDOS and GPT).
35506
35507 Fix all assumptions that the embed region start at sector 1, using
35508 `embed_region.start' from now on. Similarly, use `embed_region.end'
35509 rather than `first_start' to calculate available size.
35510
35511 In grub_util_info() message, replace "into after the MBR" with an
35512 indication of the specific sector our embed region starts at.
35513
66cb40f6 355142008-02-19 Robert Millan <rmh@aybabtu.com>
35515
35516 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35517 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35518 `commands/reboot.c'.
35519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35520 (halt_mod_SOURCES): Likewise.
35521 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35522 (halt_mod_SOURCES): Likewise.
35523
b7202015 355242008-02-17 Christian Franke <franke@computer.org>
35525
35526 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35527
32b0fc49 355282008-02-17 Robert Millan <rmh@aybabtu.com>
35529
35530 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35531 set `first_start' to 0 for non-PC/MSDOS partition maps.
35532
aca63502 355332008-02-16 Robert Millan <rmh@aybabtu.com>
35534
35535 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35536 do not assume partition map is PC/MSDOS before performing checks that
35537 are specific to that layout.
35538
0de8be86 355392008-02-13 Robert Millan <rmh@aybabtu.com>
35540
35541 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35542 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35543 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35544
c3db8364 355452008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35546
35547 * configure.ac: Only a cosmetic change on the handling of
35548 -fno-stack-protector.
35549
f714229e 355502008-02-12 Alexandre Boeglin <alex@boeglin.org>
35551
c3db8364 35552 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35553 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35554 reboot.c.
f714229e 35555 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35556 (halt_mod_SOURCES): New variable.
35557 (halt_mod_CFLAGS): Likewise.
35558 (halt_mod_LDFLAGS): Likewise.
35559 (reboot_mod_SOURCES): Likewise.
35560 (reboot_mod_CFLAGS): Likewise.
35561 (reboot_mod_LDFLAGS): Likewise.
35562
c3db8364 35563 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35564 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35565 reboot.c.
f714229e 35566 (halt_mod_SOURCES): Likewise.
35567 (reboot_mod_SOURCES): Likewise.
35568
c3db8364 35569 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35570 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35571 (reboot_mod_SOURCES): Likewise.
35572
35573 * commands/i386/pc/reboot.c: merge this file ...
35574
35575 * commands/ieee1275/reboot.c: ... and this file ...
35576
35577 * commands/reboot.c: ... to this file.
c3db8364 35578 Add some precompiler directive to include the correct header for
35579 each machine.
f714229e 35580
35581 * commands/ieee1275/halt.c: move this file ...
35582
35583 * commands/halt.c: ... to here.
c3db8364 35584 Add some precompiler directive to include the correct header for
35585 each machine.
f714229e 35586
35587 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35588 (grub_halt): Likewise.
35589
35590 * kern/efi/efi.c (grub_reboot): New function.
35591 (grub_halt): Likewise.
35592
c74493e0 355932008-02-12 Robert Millan <rmh@aybabtu.com>
35594
35595 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35596 /dev (like it is done for /dev/mapper). This doesn't provide support
35597 for EVMS, but at least it is now easy to identify the problem when it
35598 arises.
35599
d0db4b04 356002008-02-11 Robert Millan <rmh@aybabtu.com>
35601
35602 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35603 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35604 comparing it with -1, not 0.
35605
bf748642 356062008-02-10 Robert Millan <rmh@aybabtu.com>
35607
35608 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35609 `disk/lvm.c'.
35610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35611 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35612
35613 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35614 `disk/lvm.c' to the end of the list.
35615 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35616 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35617
b5db202a 356182008-02-10 Robert Millan <rmh@aybabtu.com>
35619
35620 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35621 grub_print_error() instead. This will let user know why we're entering
35622 rescue mode.
35623 Based on suggestions from Sam Morris.
35624
83abee31 356252008-02-10 Alexandre Boeglin <alex@boeglin.org>
35626
35627 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35628 on remaining N args, instead of "--" arg N times.
35629
78d5a08b 356302008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35631
35632 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35633 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35634 pattern for unknown glyphs.
35635
68807e5f 356362008-02-09 Robert Millan <rmh@aybabtu.com>
35637
35638 * configure.ac: Probe for `help2man'.
35639 * Makefile.in (builddir): New variable.
35640 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35641 or otherwise add a few flags/options to it.
35642 (install-local): For every executable utility or script that is
35643 installed, invoke $(HELP2MAN) to install a manpage based on --help
35644 output.
35645
35646 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35647 that it doesn't prevent --help from working in build tree.
35648
35649 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35650 with `bug-grub@gnu.org'.
35651 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35652 * util/update-grub.in (usage): New function.
35653 Implement proper argument check, with support for --help and --version
35654 (as well as existing -y).
35655
356562008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35657
35658 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35659 avoid overwriting previous output.
35660 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35661
c1962162 356622008-02-09 Robert Millan <rmh@aybabtu.com>
35663
35664 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35665 drawing the menu.
35666
3dac2e3f 356672008-02-09 Robert Millan <rmh@aybabtu.com>
35668
35669 * commands/sleep.c: New file.
35670 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35671 (sleep_mod_SOURCES): New variable.
35672 (sleep_mod_CFLAGS): Likewise.
35673 (sleep_mod_LDFLAGS): Likewise.
35674
7a634e08 356752008-02-09 Robert Millan <rmh@aybabtu.com>
35676
35677 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35678 situations in which we can deduce the RAID size and the superblock
35679 doesn't match it.
35680
b92f0c18 356812008-02-09 Robert Millan <rmh@aybabtu.com>
35682
35683 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35684 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35685 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35686
35687 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35688 and return a grub_diskmemberlist_t composed of physical array members.
35689 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35690
35691 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35692 prototype.
35693 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35694 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35695 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35696
35697 * util/grub-probe.c (probe): Move partmap probing code from here ...
35698 (probe_partmap): ... to here.
35699 (probe): Use probe_partmap() once for the disk we're probing, and
35700 additionally, when such disk contains a memberlist() struct member,
35701 once for each disk that is contained in the structure returned by
35702 memberlist().
35703
91a4bf68 357042008-02-09 Robert Millan <rmh@aybabtu.com>
35705
35706 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35707 environment variable to 'all' in order to obtain debug output from
35708 non-util/ code.
35709 * util/i386/pc/grub-setup.c (main): Likewise.
35710
a96f9caa 357112008-02-08 Robert Millan <rmh@aybabtu.com>
35712
35713 * disk/raid.c (grub_raid_scan_device): Check for
35714 `array->device[sb.this_disk.number]' rather than for
35715 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35716 guaranteed to be accessible.
a96f9caa 35717
b37a9222 357182008-02-08 Robert Millan <rmh@aybabtu.com>
35719
35720 * disk/raid.c: Update copyright.
35721 * fs/cpio.c: Likewise.
35722 * include/grub/raid.h: Likewise.
35723 * loader/i386/pc/multiboot.c: Likewise.
35724 * util/hostfs.c: Likewise.
35725
5626aee1 357262008-02-08 Robert Millan <rmh@aybabtu.com>
35727
35728 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35729 to a grub_disk_t array.
35730 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35731 `device[x]'.
35732 (grub_raid_scan_device): Replace `device[x].name' accesses with
35733 `device[x]->name'. Simplify initialization of `array->device[x]'.
35734
554f0187 357352008-02-08 Robert Millan <rmh@aybabtu.com>
35736
35737 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35738 grub_dprintf() calls.
35739 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35740 error message.
35741
1ec8425d 357422008-02-07 Christian Franke <franke@computer.org>
35743
35744 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35745 instead of fseek and ftell to support large files.
35746 (grub_hostfs_read): Likewise.
35747
f2156fda 357482008-02-07 Robert Millan <rmh@aybabtu.com>
35749
35750 Patch from Jeroen Dekkers.
35751 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35752 failure, since successfully reading all array members might not be
f2156fda 35753 required.
35754
9216e0e7 357552008-02-06 Robert Millan <rmh@aybabtu.com>
35756
35757 * util/grub-probe.c (probe): Simplify partmap probing (with the
35758 assumption that the first word up to the underscore equals to
35759 the module name).
35760
b0dfd29a 357612008-02-06 Christian Franke <franke@computer.org>
35762
35763 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35764 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35765 last block of a cpio or tar stream.
35766 Check for "TRAILER!!!" instead of any empty data
35767 block to detect last block of a cpio stream.
35768 (grub_cpio_dir): Fix constness of variable np.
35769 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35770 cpio or tar trailer is detected. This fixes a crash
35771 on open of a non existing file.
35772
c32865bf 357732008-02-05 Bean <bean123ch@gmail.com>
35774
35775 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35776 address of entry.
35777 (grub_multiboot_load_elf64): Likewise.
35778 (grub_multiboot): Initialize mbi structure.
35779
35780 * util/grub-fstest.c: Don't include unused header file script.h.
35781
fe6b695a 35782 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35783 of file.
35784 (grub_fstest_SOURCES): Likewise.
35785
409480b7 357862008-02-05 Robert Millan <rmh@aybabtu.com>
35787
35788 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35789 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35790 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35791 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35792
35793 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35794 (translation_table): Replace hardcoded values with macros
35795 provided by `<grub/term.h>'.
35796
35797 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35798 (keyboard_map): Correct/add a few values, with macros provided
35799 by `<grub/term.h>'.
35800 (keyboard_map_shift): Zero values that don't differ from their
35801 `keyboard_map' equivalents.
35802 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35803 Discard the second scan code that is always sent by Caps lock.
35804 Only use `keyboard_map_shift' when it provides a non-zero value,
35805 otherwise fallback to `keyboard_map'.
35806
99fadbaa 358072008-02-04 Bean <bean123ch@gmail.com>
35808
35809 * Makefile.in (enable_grub_fstest): New variable.
35810
35811 * conf/common.rmk (grub_fstest_init.lst): New rule.
35812 (grub_fstest_init.h): Likewise.
35813 (grub_fstest_init.c): Likewise.
35814 (util/grub-fstest.c_DEPENDENCIES): New variable.
35815 (grub_fstest_SOURCES): Likewise.
35816
35817 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35818
35819 * util/grub-fstest.c: New file.
35820
bf567c50 358212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35822
35823 Make grub-setup handle a separate root device.
f19dbdb7 35824
bf567c50 35825 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35826 so that the root device can be compared with the destination
35827 device.
35828 When embedding the core image, if the root and destination devices
35829 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35830 0xFF.
35831 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35832
9be6b98b 358332008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35834
35835 Add support for having a grub directory in a different drive. This
35836 is still only the data handling part.
f19dbdb7 35837
9be6b98b 35838 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35839 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35840 (grub_root_drive): New variable.
35841
35842 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35843 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35844 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35845 as it was.
35846
35847 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35848
35849 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35850 macro.
35851 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35852
35853 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35854 is bogus, because PXE booting does not specify any drive
35855 correctly.
35856
35857 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35858 am not sure if this is really correct.
35859
35860 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35861 is always identical to the boot drive when booting from a CD.
35862
35863 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35864 longer.
35865 (root_drive): New variable.
35866 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35867 (setup_sectors): Push %dx right after popping it, because %dh will
35868 be modified later.
35869 (copy_buffer): Restore %dx.
35870
e0ca0677 358712008-02-03 Robert Millan <rmh@aybabtu.com>
35872
35873 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35874 use `cdboot.img' for cdrom images.
35875
3b3f6629 358762008-02-03 Robert Millan <rmh@aybabtu.com>
35877
35878 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35879 only setup gfxterm when `font' command has succeeded.
35880
d42b3672 358812008-02-03 Robert Millan <rmh@aybabtu.com>
35882
35883 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35884 (grub_rescue_cmd_multiboot_loader)
35885 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35886
fa370ea6 358872008-02-03 Pavel Roskin <proski@gnu.org>
35888
e0c5dacb 35889 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35890 %edx and %esi from stack only after grub_gate_a20() is called.
35891 grub_gate_a20() clobbers %edx.
35892
f2a76e1d 358932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35894
35895 * configure.ac (AC_INIT): Bumped to 1.96.
35896
35897 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35898 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35899 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35900 video/readers/png.c.
35901
90fd32d1 359022008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35903
35904 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35905 (cdboot_img_SOURCES): New variable.
35906 (cdboot_img_ASFLAGS): New variable.
35907 (cdboot_img_LDFLAGS): New variable.
35908
35909 * boot/i386/pc/cdboot.S: New file.
35910
35911 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35912 (cd_count): Likewise.
35913 (grub_biosdisk_get_drive): Add support for cd device.
35914 (grub_biosdisk_call_hook): Likewise.
35915 (grub_biosdisk_iterate): Likewise.
35916 (grub_biosdisk_open): Likewise.
35917 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35918 (grub_biosdisk_rw): Support reading from cd device.
35919 (GRUB_MOD_INIT): Iterate cd devices.
35920
35921 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35922 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35923 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35924
35925 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35926
4020aa53 359272008-02-02 Robert Millan <rmh@aybabtu.com>
35928
35929 * commands/read.c: New file.
35930 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35931 (read_mod_SOURCES): New variable.
35932 (read_mod_CFLAGS): Likewise.
35933 (read_mod_LDFLAGS): Likewise.
35934
e03a1132 359352008-02-02 Robert Millan <rmh@aybabtu.com>
35936
35937 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35938 determining whether menu has to be displayed.
35939
58c69220 359402008-02-02 Marco Gerards <marco@gnu.org>
35941
35942 * bus/pci.c: New file.
35943
35944 * include/grub/pci.h: Likewise.
35945
35946 * include/grub/i386/pc/pci.h: Likewise.
35947
35948 * commands/lspci.c: Likewise.
35949
35950 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35951 `lspci.mod'.
35952 (pci_mod_SOURCES): New variable.
35953 (pci_mod_CFLAGS): Likewise.
35954 (pci_mod_LDFLAGS): Likewise.
35955 (lspci_mod_SOURCES): Likewise.
35956 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35957 (lspci_mod_LDFLAGS): Likewise.
58c69220 35958
c004e1b4 359592008-02-02 Bean <bean123ch@gmail.com>
35960
35961 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35962 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35963
35964 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35965 (grub_xfs_btree_node): New structure.
35966 (grub_xfs_btree_root): New structure.
35967 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35968 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35969 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35970 (GRUB_XFS_EXTENT_SIZE): Likewise.
35971 (grub_xfs_read_block): Support btree format type.
35972 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35973 Use directory block as basic unit.
35974
35975 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35976
35977 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35978 __attribute__ ((__regparm__ (1))).
35979
f95562bf 359802008-02-01 Robert Millan <rmh@aybabtu.com>
35981
35982 Correct a mistake in previous commit.
35983
35984 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35985 top.
35986 (normal/command.c_DEPENDENCIES): New variable.
35987
7d31f41f 359882008-02-01 Robert Millan <rmh@aybabtu.com>
35989
35990 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35991 top.
35992 (normal/command.c_DEPENDENCIES): New variable.
35993 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35994 * conf/i386-ieee1275.rmk: Likewise.
35995 * conf/i386-linuxbios.rmk: Likewise.
35996 * conf/i386-pc.rmk: Likewise.
35997 * conf/sparc64-ieee1275.rmk: Likewise.
35998 * conf/powerpc-ieee1275.rmk: Likewise.
35999 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36000
36001 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36002
60b6be74 360032008-02-01 Robert Millan <rmh@aybabtu.com>
36004
36005 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36006 call at beginning of function.
36007
078522ab 360082008-01-31 Pavel Roskin <proski@gnu.org>
36009
36010 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36011 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36012 (grub_mkrescue_SOURCES): Likewise.
078522ab 36013 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36014
ccaa8a5f 360152008-01-30 Robert Millan <rmh@aybabtu.com>
36016
36017 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36018 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36019 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36020 (grub_probe_SOURCES): ... to here.
36021
36022 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36023 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36024 * conf/i386-ieee1275.rmk: Likewise.
36025 * conf/i386-linuxbios.rmk: Likewise.
36026 * conf/powerpc-ieee1275.rmk: Likewise.
36027
ae5a9cd7 360282008-01-30 Tristan Gingold <gingold@free.fr>
36029
36030 * kern/rescue.c: Silently accept empty lines.
36031
70bc2ef2 360322008-01-29 Bean <bean123ch@gmail.com>
36033
36034 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36035 (real_code_2): Code cleanup and change comment style.
36036 (move_memory): Avoid using 32-bit address mode.
36037
6a4d50ea 360382008-01-29 Bean <bean123ch@gmail.com>
36039
36040 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36041 (png_mod_SOURCES): New variable.
36042 (png_mod_CFLAGS): Likewise.
36043 (png_mod_LDFLAGS): Likewise.
36044
36045 * video/readers/png.c: New file.
36046
11cc30ac 360472008-01-28 Robert Millan <rmh@aybabtu.com>
36048
36049 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36050 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36051 `ifndef GRUB_MOD_GAP' hack.
36052 * util/elf/grub-mkimage.c (add_segments): Likewise.
36053
3abc589f 360542008-01-27 Robert Millan <rmh@aybabtu.com>
36055
36056 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36057 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36058 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36059
e1907778 360602008-01-27 Robert Millan <rmh@aybabtu.com>
36061
36062 Get grub-emu to build again (including parallel builds).
36063
36064 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36065 Split into ...
36066 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36067 (normal/execute.c_DEPENDENCIES): ... this, ...
36068 (grub-emu_DEPENDENCIES): ... and this.
36069
36070 * conf/i386-efi.rmk: Likewise.
36071 * conf/i386-linuxbios.rmk: Likewise.
36072 * conf/i386-ieee1275.rmk: Likewise.
36073 * conf/powerpc-ieee1275.rmk: Likewise.
36074 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36075
2216b101 360762008-01-27 Robert Millan <rmh@aybabtu.com>
36077
36078 * NEWS: Add a few items.
36079
f75172d9 360802008-01-27 Robert Millan <rmh@aybabtu.com>
36081
36082 Fix parallel builds with grub-emu. Based on earlier commit for
36083 grub-probe and grub-setup.
36084
36085 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36086 (util/grub-emu.c_DEPENDENCIES): ... this.
36087 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36088 (util/grub-emu.c_DEPENDENCIES): ... this.
36089 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36090 (util/grub-emu.c_DEPENDENCIES): ... this.
36091 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36092 (util/grub-emu.c_DEPENDENCIES): ... this.
36093 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36094 (util/grub-emu.c_DEPENDENCIES): ... this.
36095
3f51de77 360962008-01-27 Pavel Roskin <proski@gnu.org>
36097
36098 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36099 to create a gap between _end and the modules added to the image
36100 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36101 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36102 * util/elf/grub-mkimage.c (add_segments): Likewise.
36103
2033f53e 361042008-01-26 Pavel Roskin <proski@gnu.org>
36105
36106 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36107 just return an error.
36108
22da1f6f 361092008-01-26 Bean <bean123ch@gmail.com>
36110
36111 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36112 (grub_reiserfs_get_item): Save offset of the next item.
36113 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36114
2a9525e6 361152008-01-25 Robert Millan <rmh@aybabtu.com>
36116
36117 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36118 make all filesystem sources appear together (possibly fixing omissions
36119 while at it).
36120 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36121 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36122 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36124
36125 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36126 add `kern/file.c'.
36127 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36128 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36129 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36130 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36131
36132 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36133 (probe): Add a sanity check to make sure of our ability to read
36134 requested files when probing for filesystem type.
36135
36136 * genmk.rb: Update copyright year (2007).
36137
36138 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36139 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36140 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36141 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36142 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36143 : Remove function prototypes.
36144
b95f71b5 361452008-01-25 Robert Millan <rmh@aybabtu.com>
36146
36147 Revert my previous commits (based on wrong assumption of how grub_errno
36148 works).
36149
fe6b695a 36150 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36151 * kern/file.c (grub_file_open): Likewise.
36152
d08bbb49 361532008-01-24 Pavel Roskin <proski@gnu.org>
36154
36155 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36156 that hang if GRUB tries to setup colors.
36157 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36158 colors for firmwares that don't support it.
36159 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36160 Recognize Open Hack'Ware, set flags to work around its
36161 limitations.
36162
605e36ed 361632008-01-24 Robert Millan <rmh@aybabtu.com>
36164
36165 * kern/file.c (grub_file_open): Do not account previous failures of
36166 unrelated functions when grub_errno is checked for.
36167 Reported by Oleg Strikov.
36168
bac332a1 361692008-01-24 Bean <bean123ch@gmail.com>
36170
36171 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36172 (grub_ufs_sblock): New member volume name.
36173 (grub_ufs_find_file): Fix string copy bug.
36174 (grub_ufs_label): Implement this function properly.
36175
36176 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36177 (grub_hfs_iterate_records): Use the correct file number for extents
36178 and catalog file. Fix problem in next index calculation.
36179 (grub_hfs_find_node): Replace recursive function call with loop.
36180 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36181
15c80c09 361822008-01-23 Robert Millan <rmh@aybabtu.com>
36183
36184 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36185 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36186 (grub_multiboot2_real_boot): New function prototype.
36187
36188 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36189 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36190
36191 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36192 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36193
305338fd 361942008-01-23 Robert Millan <rmh@aybabtu.com>
36195
36196 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36197 #ifdef'ed out grub_printf().
36198
3ea52685 361992008-01-23 Robert Millan <rmh@aybabtu.com>
36200
36201 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36202 grub_dprintf calls, since they make "debug=all" mode unusable.
36203 (grub_console_checkkey): Likewise.
36204
5882ae4b 362052008-01-23 Robert Millan <rmh@aybabtu.com>
36206
36207 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36208 `term/i386/pc/at_keyboard.c'.
36209 (pkglib_MODULES): Add `serial.mod'.
36210 (serial_mod_SOURCES): New variable.
36211 (serial_mod_CFLAGS): Likewise.
36212 (serial_mod_LDFLAGS): Likewise.
36213
36214 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36215 `<grub/powerpc/ieee1275/console.h>'.
36216 (grub_keyboard_controller_init): New function prototype.
36217 (grub_console_checkkey): Likewise.
36218 (grub_console_getkey): Likewise.
36219
36220 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36221 keyboard on i386.
36222
36223 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36224 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36225
06ab5303 362262008-01-23 Robert Millan <rmh@aybabtu.com>
36227
36228 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36229 present, "(memdisk)/boot/grub" becomes the default prefix.
36230
36231 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36232 a memdisk tarball with all the modules. Add --overlay=DIR option that
36233 allows users to overlay additional files into the image.
36234
dbb475a4 362352008-01-23 Robert Millan <rmh@aybabtu.com>
36236
36237 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36238 and `machine/memory.h'.
36239 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36240 (_multiboot_mod_SOURCES): New variable.
36241 (_multiboot_mod_CFLAGS): Likewise.
36242 (_multiboot_mod_LDFLAGS): Likewise.
36243 (multiboot_mod_SOURCES): Likewise.
36244 (multiboot_mod_CFLAGS): Likewise.
36245 (multiboot_mod_LDFLAGS): Likewise.
36246
36247 * include/grub/i386/ieee1275/loader.h: New file.
36248
36249 * include/grub/i386/ieee1275/machine.h: Likewise.
36250
36251 * include/grub/i386/ieee1275/memory.h: Likewise.
36252
36253 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36254 variable declaration.
36255 (grub_os_area_size): Likewise.
36256
36257 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36258 (grub_lower_mem, grub_upper_mem): New variables.
36259 (grub_stop_floppy): New function (just to make
36260 grub_multiboot2_real_boot() happy).
36261
36262 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36263 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36264 (grub_stop): New function.
36265 Include `"../realmode.S"' and `"../loader.S"'.
36266
36267 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36268 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36269
36270 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36271 rely on grub_multiboot2_real_boot() for final boot.
36272
25638629 362732008-01-22 Robert Millan <rmh@aybabtu.com>
36274
36275 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36276 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36277 device that doesn't look like an SD card.
36278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36279 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36280 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36281 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36282 found.
36283
9dad816d 362842008-01-22 Robert Millan <rmh@aybabtu.com>
36285
36286 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36287 avoid claiming over our own code.
36288
34842f2d 362892008-01-22 Bean <bean123ch@gmail.com>
36290
36291 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36292 (jpeg_mod_SOURCES): New variable.
36293 (jpeg_mod_CFLAGS): Likewise.
36294 (jpeg_mod_LDFLAGS): Likewise.
36295
36296 * video/readers/jpeg.c : New file.
36297
44023a28 362982008-01-22 Bean <bean123ch@gmail.com>
36299
36300 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36301 there are no more items.
36302
bc2d8ac6 363032008-01-21 Robert Millan <rmh@aybabtu.com>
36304
36305 * kern/mm.c (grub_mm_init_region): Improve debug message.
36306
261bd4bc 363072008-01-21 Robert Millan <rmh@aybabtu.com>
36308
36309 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36310 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36311 address.
36312 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36313 a C macro.
36314 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36315 Indicates start of upper memory.
36316 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36317 (generate_image): Abort when image size is big enough to corrupt
36318 upper memory.
36319
36320 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36321 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36322 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36323 instead of hardcoding 0xA0000.
36324 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36325 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36326 instead of hardcoding 0xA0000.
36327
f970b55e 363282008-01-21 Robert Millan <rmh@aybabtu.com>
36329
36330 * disk/memdisk.c (memdisk_size): New variable.
36331 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36332 `memdisk_size'.
36333 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36334 image to dynamic memory.
36335 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36336 `memdisk_size'. Free memdisk block.
36337
1a8b0526 363382008-01-21 Robert Millan <rmh@aybabtu.com>
36339
36340 Fix detection of very small filesystems (like tar).
36341
36342 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36343 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36344 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36345 a problem with this disk).
36346
6e9b4aab 363472008-01-21 Robert Millan <rmh@aybabtu.com>
36348
36349 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36350 on grub_biosdisk_rw_standard() error.
36351
0d8837b2 363522008-01-21 Robert Millan <rmh@aybabtu.com>
36353
36354 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36355 recent changes.
36356 * kern/elf.c: Likewise.
36357 * kern/ieee1275/ieee1275.c: Likewise.
36358 * kern/powerpc/ieee1275/openfw.c: Likewise.
36359 * term/ieee1275/ofconsole.c: Likewise.
36360
ffd36e34 363612008-01-21 Robert Millan <rmh@aybabtu.com>
36362
36363 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36364
3f0093d0 36365 * include/grub/kernel.h (grub_arch_memdisk_addr)
36366 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36367
3f0093d0 36368 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36369 (grub_arch_memdisk_size): ... to here.
ffd36e34 36370
6c391b21 363712008-01-21 Robert Millan <rmh@aybabtu.com>
36372
36373 Mostly based on bugfix from Bean.
36374
36375 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36376 attribute with hook() parameter.
36377 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36378 declaration.
36379 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36380 attribute with hook() parameter.
36381 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36382 declaration.
36383
55a581dc 363842008-01-21 Robert Millan <rmh@aybabtu.com>
36385
36386 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36387 (pkglib_MODULES): Add `memdisk.mod'.
36388 (memdisk_mod_SOURCES): New variable.
36389 (memdisk_mod_CFLAGS): Likewise.
36390 (memdisk_mod_LDFLAGS): Likewise.
36391
36392 * disk/memdisk.c: New file.
36393
36394 * include/grub/disk.h (grub_disk_dev_id): Add
36395 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36396
36397 * include/grub/i386/pc/kernel.h
36398 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36399 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36400 (grub_kernel_image_size): New variable declaration.
36401 (grub_total_module_size): Likewise.
36402 (grub_memdisk_image_size): Likewise.
36403
36404 * include/grub/i386/pc/memory.h
36405 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36406
36407 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36408 (grub_arch_memdisk_addr): New variable declaration.
36409 (grub_arch_memdisk_size): Likewise.
36410
36411 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36412 (grub_arch_memdisk_size): Likewise.
36413
36414 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36415 (codestart): Replace hardcoded `0x100000' with
36416 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36417
36418 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36419 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36420 not NULL, append the contents of the file it refers to, at the end of
36421 the compressed kernel image. Initialize `grub_memdisk_image_size'
36422 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36423 (options): Add "memdisk"|'m' option.
36424 (main): Parse --memdisk|-m option, and pass user-provided path as
36425 parameter to generate_image().
36426
3d7f54c9 364272008-01-20 Robert Millan <rmh@aybabtu.com>
36428
36429 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36430 grub_dprintf() calls from here ...
36431 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36432
0bf74728 364332008-01-20 Robert Millan <rmh@aybabtu.com>
36434
36435 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36436
36437 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36438 declaration.
36439 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36440 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36441 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36442 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36443 property).
36444 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36445 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36446
33bf70a7 364472008-01-19 Robert Millan <rmh@aybabtu.com>
36448
fe6b695a 36449 Get rid of confusing function (superseded by
33bf70a7 36450 `grub_ieee1275_get_integer_property')
36451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36452 prototype.
36453 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36454 function.
36455 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36456 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36457 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36458
e2da7d26 364592008-01-19 Robert Millan <rmh@aybabtu.com>
36460
36461 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36462 command after "shut-down", since implementations differ on which
36463 the command for halt is.
36464
59f1fd8d 364652008-01-19 Robert Millan <rmh@aybabtu.com>
36466
36467 * include/grub/i386/linuxbios/console.h: Add header protection.
36468 (grub_keyboard_controller_init): New function prototype.
36469 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36470 (KEYBOARD_COMMAND_READ): Likewise.
36471 (KEYBOARD_COMMAND_WRITE): Likewise.
36472 (KEYBOARD_SCANCODE_SET1): Likewise.
36473 (grub_keyboard_controller_write): New function.
36474 (grub_keyboard_controller_read): Likewise.
36475 (grub_keyboard_controller_init): Likewise.
36476
36477 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36478 (grub_console_init): On coreboot/LinuxBIOS, call
36479 grub_keyboard_controller_init().
36480
5f5a7c15 364812008-01-19 Robert Millan <rmh@aybabtu.com>
36482
36483 PowerPC changes provided by Pavel Roskin.
36484
36485 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36486 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36487 don't rely on cmain() doing it.
36488 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36489 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36490
1210e168 364912008-01-16 Robert Millan <rmh@aybabtu.com>
36492
36493 * include/grub/i386/linuxbios/memory.h
36494 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36495 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36496 receive `table_header' as argument. Instead, probe for it in the
36497 known memory ranges where it can be present.
36498 (grub_available_iterate): Do not pass a fixed `table_header' address
36499 to grub_linuxbios_table_iterate().
36500
3d04eab8 365012008-01-15 Robert Millan <rmh@aybabtu.com>
36502
36503 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36504 * conf/i386-ieee1275.rmk: New file.
36505 * include/grub/i386/ieee1275/console.h: Likewise.
36506 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36507 * include/grub/i386/ieee1275/kernel.h: Likewise.
36508 * include/grub/i386/ieee1275/time.h: Likewise.
36509 * kern/i386/ieee1275/init.c: Likewise.
36510 * kern/i386/ieee1275/startup.S: Likewise.
36511
d1bc1b73 365122008-01-15 Robert Millan <rmh@aybabtu.com>
36513
36514 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36515 when pointers are 32-bit (but still do set it to one when they are
36516 64-bit).
36517
66a65807 365182008-01-15 Robert Millan <rmh@aybabtu.com>
36519
36520 * include/grub/ieee1275/ieee1275.h
36521 (grub_ieee1275_get_integer_property): New function prototype.
36522
36523 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36524 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36525 grub_ieee1275_get_property() to handle endianness.
66a65807 36526
36527 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36528 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36529 where appropriate.
66a65807 36530 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36531 (grub_map): Likewise.
36532 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36533
a83ccafd 365342008-01-15 Bean <bean123ch@gmail.com>
36535
36536 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36537 (grub_script_execute_cmdline): Reset grub_errno.
36538
36539 * normal/main.c (read_config_file): Reset grub_errno.
36540
36541 * normal/parse.y (script_init): New.
36542 (script): Move function and menuentry here.
36543 (delimiter): New.
36544 (command): Add delimiter at the end of command.
36545 (commands): Adjust to match the new command.
36546 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36547 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36548 (if): Use the new commands.
36549
36550 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36551
df6ecfc6 365522008-01-15 Robert Millan <rmh@aybabtu.com>
36553
36554 * normal/menu.c (run_menu): Move timeout message from here ...
36555 (print_timeout): ... to here.
36556 (run_menu): Use print_timeout() once during initial draw to print
36557 the whole message, and again in every clock tick to update only
36558 the number of seconds.
36559
87ae25eb 365602008-01-15 Robert Millan <rmh@aybabtu.com>
36561
36562 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36563 actual size of `available' from grub_ieee1275_get_property(), and
36564 restrict parsing to that bound.
36565
47bf09a4 365662008-01-15 Christian Franke <franke@computer.org>
36567
36568 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36569 (argp_program_version): Remove variable.
36570 (argp_program_bug_address): Likewise.
36571 (options): Convert from struct argp_option to struct option.
36572 (struct arguments): Remove.
36573 (parse_opt): Remove.
36574 (usage): New function.
36575 (main): Replace struct args members by simple variables.
36576 Replace argp_parse() by getopt_long().
36577 Add switch to evaluate options.
36578 Add missing "(...)" around root_dev in prefix string.
36579
c86f1469 365802008-01-14 Robert Millan <rmh@aybabtu.com>
36581
36582 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36583 for grub_ieee1275_exit(), in order to improve portability.
36584
e622c559 365852008-01-14 Robert Millan <rmh@aybabtu.com>
36586
36587 * util/grub.d/10_linux.in (prefix): Define.
36588 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36589
44cb1ec8 365902008-01-13 Pavel Roskin <proski@gnu.org>
36591
36592 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36593 grub_errno if no errors have been detected.
36594
1eb8c802 365952008-01-12 Robert Millan <rmh@aybabtu.com>
36596
36597 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36598 (grub_util_get_dev_abstraction): New function prototype.
36599
36600 * util/getroot.c: Include `<grub/util/getroot.h>'
36601 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36602 (grub_util_get_dev_abstraction): ... here (new function).
36603
36604 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36605 `PRINT_ABSTRACTION'.
36606 (probe): Probe for abstraction type when requested.
36607 (main): Understand `--target=abstraction'.
36608
36609 * util/i386/efi/grub-install.in: Add abstraction module to core
36610 image when it is found to be necessary.
36611 * util/i386/pc/grub-install.in: Likewise.
36612 * util/powerpc/ieee1275/grub-install.in: Likewise.
36613
36614 * util/update-grub_lib.in (font_path): Return system path without
36615 converting to GRUB path.
36616 * util/update-grub.in: Convert system path returned by font_path()
36617 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36618 abstraction module is needed for loading fonts (if any). Export
36619 that as `GRUB_PRELOAD_MODULES'.
36620 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36621 insmod commands).
36622
52bd3de9 366232008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36624
36625 Remove some unused code from reiserfs.
f19dbdb7 36626
52bd3de9 36627 * fs/reiserfs.c (struct grub_reiserfs_key)
36628 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36629 (struct grub_reiserfs_node_body): Removed.
36630 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36631 Likewise.
36632 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36633 Likewise.
36634 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36635 Likewise.
36636 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36637 Likewise.
36638 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36639 Likewise.
36640 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36641 Likewise.
36642 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36643 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36644 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36645
2f80039d 366462008-01-10 Robert Millan <rmh@aybabtu.com>
36647
36648 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36649 Determines if a file is garbage left by packaging systems, etc.
36650 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36651 for processing /etc/grub.d scripts.
36652 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36653 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36654 as a condition for processing Linux images.
36655
87888032 366562008-01-10 Pavel Roskin <proski@gnu.org>
36657
36658 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36659 to compile reiserfs.c on PowerPC.
36660
7e54fced 366612008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36662
36663 * kern/device.c (grub_device_iterate): Do not abort device iteration
36664 when one of the devices cannot be opened.
36665 * kern/disk.c (grub_disk_open): Do not account previous failures of
36666 unrelated functions when grub_errno is checked for.
36667
5aa541e6 366682008-01-08 Robert Millan <rmh@aybabtu.com>
36669
36670 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36671 `! grub_linux_is_bzimage', change order of address comparison to make
36672 it more intuitive, and improve "too big zImage" error message.
36673
7076340d 366742008-01-08 Robert Millan <rmh@aybabtu.com>
36675
36676 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36677 `$(update-grub_DATA)'.
36678 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36679 targets.
36680
9ca70333 366812008-01-07 Robert Millan <rmh@aybabtu.com>
36682
36683 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36684 which instruction is modified by grub-setup during installation
36685 (since it wasn't obvious by only looking at this file).
36686
38ccf575 366872008-01-07 Robert Millan <rmh@aybabtu.com>
36688
36689 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36690 listing actual TODO items.
36691
f5db4291 366922008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36693
868967cf 36694 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36695 correctly.
36696 (grub_reiserfs_get_key_offset): Likewise.
36697 (grub_reiserfs_set_key_offset): Likewise.
36698 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36699 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36700
36701 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36702 better to remove the bitfield version completely.
f19dbdb7 36703
868967cf 367042008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36705
f5db4291 36706 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36707 allocated from the heap, due to the fshelp implementation.
36708 (grub_reiserfs_dir): Free NODE, due to the same reason.
36709
492e6d9d 367102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36711
36712 Mostly from Vincent Pelletier:
f19dbdb7 36713
492e6d9d 36714 * fs/reiserfs.c: New file.
f19dbdb7 36715
492e6d9d 36716 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36717 (reiserfs_mod_SOURCES): New variable.
36718 (reiserfs_mod_CFLAGS): Likewise.
36719 (reiserfs_mod_LDFLAGS): Likewise.
36720
36721 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36722 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36723 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36724 normal/color.c.
36725
9ce3e7c1 367262008-01-06 Robert Millan <rmh@aybabtu.com>
36727
36728 * normal/color.c: Remove `<grub/env.h>'.
36729
f3b58148 367302008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36731
36732 * include/grub/normal.h: Include <grub/env.h>.
36733
7ac3bcfa 367342008-01-05 Robert Millan <rmh@aybabtu.com>
36735
36736 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36737 usage example with `(hd0,1)'.
fb358190 36738 Reported by Samuel Thibault.
7ac3bcfa 36739
c8ee99d7 367402008-01-05 Robert Millan <rmh@aybabtu.com>
36741
36742 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36743 (grub_linux_boot_zimage): Rename to ...
36744 (grub_linux_boot): ... this.
36745 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36746 (grub_linux_boot_zimage): Conditionalize zImage copy.
36747
36748 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36749 (grub_linux_boot_bzimage): Remove prototype.
36750 (grub_linux_boot_zimage): Rename to ...
36751 (grub_linux_boot): ... this.
36752
36753 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36754 (grub_linux_boot): Remove function.
36755
0ece25b1 367562008-01-05 Robert Millan <rmh@aybabtu.com>
36757
36758 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36759 (grub_env_write_color_highlight): Likewise.
36760 (grub_wait_after_message): Likewise.
36761
36762 * normal/color.c: New file.
36763
36764 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36765 (normal_mod_DEPENDENCIES): Likewise.
36766
36767 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36768 (normal_mod_DEPENDENCIES): Likewise.
36769
36770 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36771 (normal_mod_DEPENDENCIES): Likewise.
36772
36773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36774 (normal_mod_DEPENDENCIES): Likewise.
36775
36776 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36777 for waiting after a message is printed.
36778 * normal/main.c (read_config_file): Likewise.
36779 (grub_normal_init): Register grub_env_write_color_normal() and
36780 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36781 `color_highlight' variables as global.
36782
36783 * normal/menu.c (grub_wait_after_message): New function.
36784 (grub_color_menu_normal): New variable. Replaces ...
36785 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36786 (grub_color_menu_highlight): New variable. Replaces ...
36787 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36788 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36789 `GRUB_TERM_COLOR_STANDARD'.
36790 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36791 `normal_code' and `highlight_code' to `old_color_normal' and
36792 `old_color_highlight', respectively.
36793 (grub_menu_init_page): Update colors when drawing the menu, based on
36794 `menu_color_normal' and `menu_color_highlight' variables.
36795 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36796 a message is printed.
36797
182dd4e5 367982008-01-05 Robert Millan <rmh@aybabtu.com>
36799
36800 * kern/env.c (grub_env_context_open): Propagate hooks for global
36801 variables to new context.
36802
36803 * kern/main.c (grub_set_root_dev): Export `root' variable.
36804
ddf8f6ad 368052008-01-05 Robert Millan <rmh@aybabtu.com>
36806
36807 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36808 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36809 them.
36810
d8b43d9b 368112008-01-05 Robert Millan <rmh@aybabtu.com>
36812
36813 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36814
2bff2de3 368152008-01-04 Christian Franke <franke@computer.org>
36816
36817 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36818 of eisa_mmap.
36819
97eab917 368202008-01-03 Pavel Roskin <proski@gnu.org>
36821
36822 * kern/i386/linuxbios/init.c: Put "void" to all function
36823 declarations with no arguments.
36824 * kern/powerpc/ieee1275/init.c: Likewise.
36825 * term/i386/pc/at_keyboard.c: Likewise.
36826 * term/i386/pc/vga_text.c: Likewise.
36827 * util/grub-mkdevicemap.c: Likewise.
36828
b9416d00 368292008-01-02 Robert Millan <rmh@aybabtu.com>
36830
36831 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36832 message when loaded image is out of bounds.
36833 (grub_multiboot_load_elf64): Likewise.
36834
92695df9 368352008-01-02 Pavel Roskin <proski@gnu.org>
36836
36837 * util/grub.d/10_linux.in: Try version without ".old" when
36838 looking for initrd. It's better to use initrd from the newer
36839 kernel of the same version than no initrd at all.
36840
d98d9cad 368412008-01-01 Robert Millan <rmh@aybabtu.com>
36842
36843 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36844
dbfdce36 368452008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36846
f19dbdb7 36847 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36848 grub_video_get_active_render_target.
36849 (grub_video_adapter): Added unmap_color and get_active_render_target.
36850
f19dbdb7 36851 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36852 grub_video_get_active_render_target.
36853 (grub_video_get_info): Changed method to accept NULL pointer as an
36854 argument to allow detection of active video adapter.
36855
36856 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36857 grub_video_vbe_unmap_color_int.
36858 Added grub_video_vbe_unmap_color and
36859 grub_video_vbe_get_active_render_target.
36860 (grub_video_vbe_adapter): Added unmap_color and
36861 get_active_render_target.
36862
f19dbdb7 36863 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36864 with grub_video_vbe_unmap_color_int.
36865
36866 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36867 (DEFAULT_NORMAL_COLOR): Likewise.
36868 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36869 (DEFAULT_FG_COLOR): Removed.
36870 (DEFAULT_BG_COLOR): Likewise.
36871 (DEFAULT_CURSOR_COLOR): Changed value.
36872 (grub_virtual_screen): Added standard_color_setting,
36873 normal_color_setting, highlight_color_setting and term_color.
36874 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36875 (bitmap_width): Added.
36876 (bitmap_height): Likewise.
36877 (bitmap): Likewise.
36878 (set_term_color): Likewise.
36879 (grub_virtual_screen_setup): Changed to use new terminal coloring
36880 settings.
36881 (grub_gfxterm_init): Added init for bitmap.
36882 (grub_gfxterm_fini): Added destroy for bitmap.
36883 (redraw_screen_rect): Updated to use background bitmap and new
36884 terminal coloring.
36885 (scroll_up): Added optimization for case when there is no bitmap.
36886 (grub_gfxterm_cls): Fixed to use correct background color.
36887 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36888 coloring.
36889 (grub_virtual_screen_setcolor): Likewise.
36890 (grub_virtual_screen_getcolor): Added.
36891 (grub_gfxterm_background_image_cmd): Likewise.
36892 (grub_video_term): Added setcolor and getcolor.
36893 (MOD_INIT): Added registration of background_image command.
36894 (MOD_TERM): Added unregistration for background_image command.
36895
c3c20931 368962007-12-30 Pavel Roskin <proski@gnu.org>
36897
36898 * loader/multiboot_loader.c: Fix multiboot command
36899 unregistration. Fix all typos in the word "multiboot".
36900
df266716 369012007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36902
36903 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36904 support for initrd names used in Fedora.
36905
fc6e896c 369062007-12-26 Bean <bean123ch@gmail.com>
36907
36908 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36909 (cpio_mod_SOURCES): New variable.
36910 (cpio_mod_CFLAGS): Likewise.
36911 (cpio_mod_LDFLAGS): Likewise.
36912
36913 * fs/cpio.c: New file.
36914
36915 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36916
36917 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36918
36919 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36920
36921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36922
533110ad 369232007-12-25 Robert Millan <rmh@aybabtu.com>
36924
36925 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36926 (grub_getcolor): New function.
36927
36928 * kern/term.c (grub_getcolor): New function.
36929 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36930 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36931 (print_entry): Set normal and highlight colors to
36932 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36933 respectively, before printing and restore them to old
36934 values afterwards.
36935 (grub_menu_init_page): Likewise. Fill an additional colored space
36936 that would otherwise be left blank.
36937
36938 * term/efi/console.c (grub_console_getcolor): New function.
36939 (struct grub_console_term.getcolor): New variable.
36940 * term/i386/pc/console.c (grub_console_getcolor): New function.
36941 (struct grub_console_term.getcolor): New variable.
36942 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36943 (struct grub_console_term.getcolor): New variable.
36944
36945 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36946 (struct grub_console_term.setcolor): Remove variable.
36947 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36948 (struct grub_console_term.setcolor): Remove variable.
36949 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36950 (struct grub_console_term.setcolor): Remove variable.
36951 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36952 (struct grub_console_term.setcolor): Remove variable.
36953
4931827f 369542007-12-25 Robert Millan <rmh@aybabtu.com>
36955
36956 * configure.ac: Search for possible unifont.hex locations, and
36957 define UNIFONT_HEX if found.
36958
36959 * Makefile.in (UNIFONT_HEX): Define variable.
36960 (DATA): Rename to ...
36961 (PKGLIB): ... this. Update all users.
36962 (PKGDATA): New variable.
36963 (pkgdata_IMAGES): Rename to ...
36964 (pkglib_IMAGES): ... this. Update all users.
36965 (pkgdata_MODULES): Rename to ...
36966 (pkglib_MODULES): ... this. Update all users.
36967 (pkgdata_PROGRAMS): Rename to ...
36968 (pkglib_PROGRAMS): ... this. Update all users.
36969 (pkgdata_DATA): Rename to ...
36970 (pkglib_DATA): ... this. Update all users.
36971 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36972 (unicode.pff, ascii.pff): New rules.
36973 (all-local): Add `$(PKGDATA)' dependency.
36974 (install-local): Process `$(PKGDATA)'.
36975
36976 * util/update-grub_lib.in (font_path): Search for *.pff files in
36977 a few more locations, including `${pkgdata}'.
36978
57e57e31 369792007-12-23 Robert Millan <rmh@aybabtu.com>
36980
36981 Patch from Bean <bean123ch@gmail.com>:
36982 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36983 `size'.
36984
4bc72aa9 369852007-12-21 Bean <bean123ch@gmail.com>
36986
36987 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36988 (ntfscomp_mod_SOURCES): New variable.
36989 (ntfscomp_mod_CFLAGS): Likewise.
36990 (ntfscomp_mod_LDFLAGS): Likewise.
36991
36992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36993 (grub_probe_SOURCES): Likewise.
36994 (grub_emu_SOURCES): Likewise.
36995
36996 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36997 (grub_emu_SOURCES): Likewise.
36998
36999 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37000 (grub_emu_SOURCES): Likewise.
37001
37002 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37003 (grub_emu_SOURCES): Likewise.
37004
37005 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37006 (read_run_list): Renamed to grub_ntfs_read_run_list.
37007 (decomp_nextvcn): Moved to ntfscomp.c.
37008 (decomp_getch): Likewise.
37009 (decomp_get16): Likewise.
37010 (decomp_block): Likewise.
37011 (read_block): Likewise.
37012 (read_data): Partially moved to ntfscomp.c.
37013 (fixup): Change unsigned to grub_uint16_t.
37014 (read_mft): Change unsigned long to grub_uint32_t.
37015 (read_attr): Likewise.
37016 (read_data): Likewise.
37017 (read_run_data): Likewise.
37018 (read_run_list): Likewise.
37019 (read_mft): Likewise.
37020
37021 * fs/ntfscomp.c: New file.
37022
37023 * include/grub/ntfs.h: New file.
37024
af680a87 370252007-12-16 Robert Millan <rmh@aybabtu.com>
37026
37027 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37028 IDE disk check, since Linux is known to support 20 IDE disks.
37029 Reported by Colin Watson.
37030
84be7599 370312007-12-15 Bean <bean123ch@gmail.com>
37032
37033 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37034 (lnxboot_img_SOURCES): New variable.
37035 (lnxboot_img_ASFLAGS): Likewise.
37036 (lnxboot_img_LDFLAGS): Likewise.
37037
37038 * boot/i386/pc/lnxboot.S: New file.
37039
6af9db01 370402007-11-24 Pavel Roskin <proski@gnu.org>
37041
37042 * configure.ac: Test if '--build-id=none' is supported by the
37043 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37044 objcopy to generate incorrect binary files (binutils
37045 2.17.50.0.18-1 as shipped by Fedora 8).
37046 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37047 linking, so that build ID doesn't break the test.
37048
7361cfe6 370492007-11-24 Pavel Roskin <proski@gnu.org>
37050
37051 * include/grub/i386/time.h: use "void" in the argument list
37052 of grub_cpu_idle().
37053 * include/grub/powerpc/time.h: Likewise.
37054 * include/grub/sparc64/time.h: Likewise.
37055
1593e10c 370562007-11-18 Christian Franke <franke@computer.org>
37057
37058 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37059 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37060 This fixes the problem that function keys did not work in grub-emu.
37061
3b8db1a8 370622007-11-18 Christian Franke <franke@computer.org>
37063
37064 * disk/host.c (grub_host_open): Remove attribute unused from
37065 name parameter. Add check for "host". This fixes the problem
37066 that grub-emu does not find partitions.
37067
2e29408d 370682007-11-18 Christian Franke <franke@computer.org>
37069
37070 * util/hostfs.c (is_dir): New function.
37071 (grub_hostfs_dir): Handle missing dirent.d_type case.
37072 (grub_hostfs_read): Add missing fseek().
37073 (grub_hostfs_label): Clear label pointer. This fixes a crash
37074 of grub-emu on "ls (host)".
37075
398cd047 370762007-11-18 Christian Franke <franke@computer.org>
37077
37078 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37079 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37080 to 64 bit boundary by default.
37081
c405c391 370822007-11-18 Bean <bean123ch@gmail.com>
37083
37084 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37085 (hexdump_mod_SOURCES): New variable.
37086 (hexdump_mod_CFLAGS): Likewise.
37087 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37088
c405c391 37089 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37090
37091 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37092
37093 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37094
37095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37096
37097 * include/grub/hexdump.h: New file.
37098
37099 * commands/hexdump.c: New file.
37100
5cced7fd 371012007-11-10 Robert Millan <rmh@aybabtu.com>
37102
37103 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37104 in grub_outb() calls.
37105 (beep_on): Likewise.
37106
8b714eb0 371072007-11-10 Christian Franke <franke@computer.org>
37108
37109 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37110 (grub_menu_run): Likewise.
37111
ce0f1839 371122007-11-10 Robert Millan <rmh@aybabtu.com>
37113
37114 * include/grub/i386/efi/machine.h: New file.
37115 * include/grub/i386/linuxbios/machine.h: Likewise.
37116 * include/grub/i386/pc/machine.h: Likewise.
37117 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37118 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37119
37120 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37121 (serial_hw_io_addr): New variable.
37122 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37123 instead of `(unsigned short *) 0x400'.
37124
270c237d 371252007-11-10 Bean <bean123ch@gmail.com>
37126
37127 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37128
a87783bf 371292007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37130
37131 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37132 (vga_mod_SOURCES): Added.
37133 (vga_mod_CFLAGS): Likewise.
37134 (vga_mod_LDFLAGS): Likewise.
37135
37136 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37137 grub_outb() calls.
37138 (set_map_mask): Likewise.
37139 (set_read_map): Likewise.
37140 (set_read_address): Likewise.
37141 (vga_font): Removed variable.
37142 (get_vga_glyph): Removed function.
37143 (invalidate_char): Likewise.
37144 (write_char): Changed to use grub_font_get_glyph() for font
37145 information.
37146 (grub_vga_putchar): Likewise.
37147 (grub_vga_getcharwidth): Likewise.
37148
6433b448 371492007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37150
37151 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37152 flags.
37153 (pxeboot_img_LDFLAGS): Likewise.
37154 (diskboot_img_LDFLAGS): Likewise.
37155 (kernel_img_LDFLAGS): Likewise.
37156
49178511 371572007-11-06 Robert Millan <rmh@aybabtu.com>
37158
37159 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37160 in grub_outb() calls.
37161 (serial_hw_init): Likewise.
37162
53b052de 371632007-11-05 Robert Millan <rmh@aybabtu.com>
37164
37165 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37166 spaces. Skip non-regular files.
37167
5ab33bba 371682007-11-05 Robert Millan <rmh@aybabtu.com>
37169
37170 * kern/disk.c (grub_disk_firmware_fini)
37171 (grub_disk_firmware_is_tainted): New variables.
37172
37173 * include/grub/disk.h (grub_disk_firmware_fini)
37174 (grub_disk_firmware_is_tainted): Likewise.
37175
37176 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37177 (grub_disk_biosdisk_fini): ... to here.
37178 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37179 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37180 is set. Register grub_disk_biosdisk_fini() in
37181 `grub_disk_firmware_fini'.
37182
37183 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37184 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37185 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37186 to finish existing firmware disk interface.
37187
37188 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37189 (ata_mod_SOURCES): New variable.
37190 (ata_mod_CFLAGS): Likewise.
37191 (ata_mod_LDFLAGS): Likewise.
37192
0149ab7c 371932007-11-05 Robert Millan <rmh@aybabtu.com>
37194
37195 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37196 (grub_ata_wait): Reimplement using grub_millisleep().
37197
37198 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37199 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37200
be7ac41e 372012007-11-03 Marco Gerards <marco@gnu.org>
37202
37203 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37204 (CRTC_ADDR_PORT): New macro.
37205 (CRTC_DATA_PORT): Likewise.
37206 (CRTC_CURSOR): Likewise.
37207 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37208 (CRTC_CURSOR_ADDR_LOW): Likewise.
37209 (update_cursor): New function.
37210 (grub_console_real_putchar): Call `update_cursor'.
37211 (grub_console_gotoxy): Likewise.
37212 (grub_console_cls): Set the default color when clearing the
37213 screen.
37214 (grub_console_setcursor): Implemented.
37215
bb06ab2e 372162007-11-03 Marco Gerards <marco@gnu.org>
37217
37218 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37219 become activate.
37220 (grub_ata_pio_write): Likewise.
37221
37222 (grub_atapi_identify): Wait after issuing an ATA command.
37223 (grub_atapi_packet): Likewise.
37224 (grub_ata_identify): Likewise.
37225 (grub_ata_readwrite): Likewise.
37226
cf8f780b 372272007-11-03 Marco Gerards <marco@gnu.org>
37228
37229 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37230 (grub_ata_pio_write): Likewise.
37231 (grub_ata_readwrite): Use `grub_error', instead of
37232 returning `grub_errno'.
37233
ed649e54 372342007-11-03 Marco Gerards <marco@gnu.org>
37235
37236 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37237 grub_ata_pio_write once for every single sector, instead of for
37238 multiple sectors.
37239
ca25d8f0 372402007-10-31 Robert Millan <rmh@aybabtu.com>
37241
37242 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37243
37244 * conf/i386-linuxbios.rmk: New file.
37245
37246 * kern/i386/pc/hardware.c: Likewise.
37247 * term/i386/pc/at_keyboard.c: Likewise.
37248 * term/i386/pc/vga_text.c: Likewise.
37249
37250 * include/grub/i386/linuxbios/boot.h: Likewise.
37251 * include/grub/i386/linuxbios/console.h: Likewise.
37252 * include/grub/i386/linuxbios/init.h: Likewise.
37253 * include/grub/i386/linuxbios/kernel.h: Likewise.
37254 * include/grub/i386/linuxbios/loader.h: Likewise.
37255 * include/grub/i386/linuxbios/memory.h: Likewise.
37256 * include/grub/i386/linuxbios/serial.h: Likewise.
37257 * include/grub/i386/linuxbios/time.h: Likewise.
37258
37259 * kern/i386/linuxbios/init.c: Likewise.
37260 * kern/i386/linuxbios/startup.S: Likewise.
37261 * kern/i386/linuxbios/table.c: Likewise.
37262
e911ecc1 372632007-10-31 Marco Gerards <marco@gnu.org>
37264
37265 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37266 (ata_mod_SOURCES): New variable.
37267 (ata_mod_CFLAGS): Likewise.
37268 (ata_mod_LDFLAGS): Likewise.
37269
37270 * disk/ata.c: New file.
37271
37272 * include/grub/disk.h (grub_disk_dev_id): Add
37273 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37274
7f66d0e0 372752007-10-31 Robert Millan <rmh@aybabtu.com>
37276
37277 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37278 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37279
37280 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37281 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37282
37283 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37284 `<grub/types.h>'.
37285
37286 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37287
5cd7dd46 372882007-10-27 Robert Millan <rmh@aybabtu.com>
37289
3236ca65 37290 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37291
2ebfc90f 372922007-10-22 Robert Millan <rmh@aybabtu.com>
37293
37294 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37295 `"../realmode.S"'.
37296 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37297
73fcb0f3 372982007-10-22 Robert Millan <rmh@aybabtu.com>
37299
37300 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37301 (pkgdata_MODULES): Add `biosdisk.mod'.
37302 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37303 variables.
37304
37305 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37306 (grub_biosdisk_init): Replace with ...
37307 (GRUB_MOD_INIT(biosdisk)): ... this.
37308 (grub_biosdisk_fini): Replace with ...
37309 (GRUB_MOD_FINI(biosdisk)): ... this.
37310
37311 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37312 (grub_machine_init): Remove call to grub_biosdisk_init().
37313 (grub_machine_fini): Remove call to grub_machine_fini().
37314
37315 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37316
3381d274 373172007-10-22 Robert Millan <rmh@aybabtu.com>
37318
37319 * include/grub/time.h: New file.
37320 * include/grub/i386/time.h: Likewise.
37321 * include/grub/powerpc/time.h: Likewise.
37322 * include/grub/sparc64/time.h: Likewise.
37323
37324 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37325 instances to ...
37326 (KERNEL_MACHINE_TIME_HEADER): ... this.
37327 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37328 instances to ...
37329 (KERNEL_MACHINE_TIME_HEADER): ... this.
37330 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37331 instances to ...
37332 (KERNEL_MACHINE_TIME_HEADER): ... this.
37333
37334 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37335 (grub_millisleep): New function.
37336 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37337 (grub_millisleep): New function.
37338 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37339 Remove `grub/machine/time.h' include.
37340 (grub_millisleep): New function.
37341 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37342 Remove `grub/machine/time.h' include.
37343 (grub_millisleep): New function.
37344
37345 * include/grub/misc.h (grub_div_roundup): New function.
37346
37347 * kern/misc.c: Include `<grub/time.h>'.
37348 (grub_millisleep_generic): New function.
37349
37350 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37351 Add `time.h'.
37352 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37353 Add `time.h'.
37354 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37355 `machine/time.h'. Add `time.h'.
37356 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37357
a39a0312 373582007-10-21 Robert Millan <rmh@aybabtu.com>
37359
37360 * include/grub/misc.h (grub_max): New function.
37361
2aad70e2 373622007-10-21 Robert Millan <rmh@aybabtu.com>
37363
37364 * util/misc.c (grub_util_info): Call fflush() before returning.
37365
54b71c4b 373662007-10-20 Robert Millan <rmh@aybabtu.com>
37367
37368 * genmk.rb (Image): Copy `extra_flags' from here ...
37369 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37370
37371 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37372 to `argc' and `args' arguments.
37373
a979f513 373742007-10-17 Robert Millan <rmh@aybabtu.com>
37375
37376 * kern/i386/loader.S: New file.
37377
37378 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37379 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37380 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37381 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37382 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37383 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37384 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37385 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37386 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37387 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37388 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37389 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37390 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37391 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37392
37393 * kern/i386/realmode.S: New file.
37394
37395 * kern/i386/pc/startup.S (protstack): Moved from here ...
37396 * kern/i386/realmode.S (protstack)... to here.
37397 * kern/i386/pc/startup.S (gdt): Moved from here ...
37398 * kern/i386/realmode.S (gdt)... to here.
37399 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37400 * kern/i386/realmode.S (prot_to_real)... to here.
37401
37402 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37403 `kern/i386/realmode.S'.
37404
825fc8fd 374052007-10-17 Robert Millan <rmh@aybabtu.com>
37406
37407 * include/grub/i386/loader.h: New file.
37408
37409 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37410 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37411 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37412 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37413 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37414 * include/grub/i386/loader.h (grub_linux_prot_size)
37415 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37416 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37417 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37418 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37419
37420 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37421
e179b2f4 374222007-10-15 Robert Millan <rmh@aybabtu.com>
37423
37424 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37425 filesystem when dev->disk is unset.
37426 Do probe for filesystem even when dev->disk->has_partitions is set.
37427 In case a filesystem is found, always report it.
37428 In case it isn't, if dev->disk->has_partitions is set, report that
37429 a partition table was found instead of reporting that no filesystem
37430 could be identified.
37431
5db82af6 374322007-10-12 Robert Millan <rmh@aybabtu.com>
37433
37434 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37435 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37436
68f6ac74 37437 * include/grub/types.h (grub_host_to_target16): New macro.
37438 (grub_host_to_target32): Likewise.
37439 (grub_host_to_target64): Likewise.
37440 (grub_target_to_host16): Likewise.
37441 (grub_target_to_host32): Likewise.
37442 (grub_target_to_host64): Likewise.
5db82af6 37443
37444 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37445 Renamed from to ...
37446 (GRUB_MOD_ALIGN): ...this. Update all users.
37447
68f6ac74 37448 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37449 grub_host_to_target32.
37450 Replace grub_be_to_cpu32 with grub_target_to_host32.
37451 (load_modules): Likewise.
37452 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37453 Replace grub_be_to_cpu32 with grub_target_to_host32.
37454 Replace grub_cpu_to_be16 with grub_host_to_target16.
37455 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37456
3cf497cc 374572007-10-12 Robert Millan <rmh@aybabtu.com>
37458
37459 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37460 * util/elf/grub-mkimage.c: ... here.
37461
37462 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37463 `util/powerpc/ieee1275/grub-mkimage.c'.
37464
c8cc3692 374652007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37466
c8cc3692 37467 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37468 and make it easier to figure out.
37469 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37470 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37471 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37472 leave us with less than HEAP_MIN_SIZE total heap.
37473 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37474
5c58b791 374752007-10-03 Robert Millan <rmh@aybabtu.com>
37476
37477 * include/grub/i386/io.h: New file.
37478 * commands/i386/pc/play.c (inb): Removed.
37479 (outb): Removed.
37480 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37481 with grub_outb().
afcd2ef8 37482 * term/i386/pc/serial.c (inb): Removed.
37483 (outb): Removed.
37484 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37485 with grub_outb().
37486 * term/i386/pc/vga.c (inb): Removed.
37487 (outb): Removed.
37488 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37489 with grub_outb().
5c58b791 37490
1a477ed6 374912007-10-02 Robert Millan <rmh@aybabtu.com>
37492
37493 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37495 Reported by Marcin Kurek.
37496
6b5d80fa 374972007-09-07 Robert Millan <rmh@aybabtu.com>
37498
37499 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37500 SmartFirmware version updates (as released by Sven Luther), and avoid
37501 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37502 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37503 known broken.
37504
5618afbf 375052007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37506
37507 From Hitoshi Ozeki:
37508 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37509 when merging two regions.
37510
6139dcd9 375112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37512
508e39ee 37513 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37514 * normal/completion.c (grub_normal_do_completion): Likewise.
37515 Reported by Hitoshi Ozeki.
37516
375172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37518
6139dcd9 37519 Do not use devices at boot in chainloading.
f19dbdb7 37520
6139dcd9 37521 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37522 (boot_part_addr): Likewise.
37523 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37524 with BOOT_DRIVE and BOOT_PART_ADDR.
37525 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37526 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37527
38da6516 375282007-08-29 Robert Millan <rmh@aybabtu.com>
37529
37530 Patch from Simon Peter <dn.tlp@gmx.net>:
37531 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37532 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37533 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37534 util/i386/pc/grub-setup.c_DEPENDENCIES.
37535 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37536 util/grub-probe.c_DEPENDENCIES.
37537 * conf/powerpc-ieee1275.rmk: Likewise.
37538
29d0928c 375392007-08-28 Robert Millan <rmh@aybabtu.com>
37540
37541 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37542 to tell grub-mkdevicemap how to name devices.
37543 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37544 feature).
37545
37546 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37547 util/i386/get_disk_name.c.
37548 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37549 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37550 util/ieee1275/get_disk_name.c.
37551
37552 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37553
37554 * DISTLIST: Add util/i386/get_disk_name.c and
37555 util/ieee1275/get_disk_name.c.
37556
37557 * util/grub-mkdevicemap.c: Replace device naming logic with
37558 grub_util_get_disk_name() calls.
37559
5a0d3cca 375602007-08-20 Robert Millan <rmh@aybabtu.com>
37561
37562 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37563 (so that it works for both plural and singular quantities).
37564
8b72db2f 375652007-08-05 Robert Millan <rmh@aybabtu.com>
37566
37567 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37568 so that [xz] isn't taken into account when determining order.
37569
352466bf 375702007-08-02 Marco Gerards <marco@gnu.org>
37571
37572 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37573 `include/multiboot2.h', `include/grub/elfload.h',
37574 `include/multiboot.h', `include/grub/multiboot.h',
37575 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37576 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37577 `kern/elf.c', `loader/multiboot_loader.c',
37578 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37579 `loader/i386/pc/multiboot2.c',
37580 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37581 `util/i386/pc/grub-mkrescue.in'. Remove
37582 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37583 `include/grub/i386/pc/util/biosdisk.h' and
37584 `include/grub/powerpc/ieee1275/multiboot.h'.
37585
8f096014 375862007-08-02 Bean <bean123ch@gmail.com>
37587
37588 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37589 (ntfs_mod_SOURCES): New variable.
37590 (ntfs_mod_CFLAGS): Likewise.
37591 (ntfs_mod_LDFLAGS): Likewise.
37592
37593 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37594 (grub_probe_SOURCES): Likewise.
37595 (grub_emu_SOURCES): Likewise.
37596
37597 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37598 (grub_emu_SOURCES): Likewise.
37599
37600 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37601 (grub_emu_SOURCES): Likewise.
f19dbdb7 37602
8f096014 37603 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37604
37605 * fs/ntfs.c: New file.
37606
9959f7db 376072007-08-02 Bean <bean123ch@gmail.com>
37608
37609 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37610
37611 * file.h (grub_file): Likewise.
37612
37613 * fshelp.h (grub_fshelp_read_file): Likewise.
37614
37615 * util/i386/pc/grub-setup.c (setup): Likewise.
37616 (save_first_sector): Likewise.
37617 (save_blocklists): Likewise.
f19dbdb7 37618
9959f7db 37619 * fs/affs.c (grub_affs_read_file): Likewise.
37620
37621 * fs/ext2.c (grub_ext2_read_file): Likewise.
37622
37623 * fs/fat.c (grub_fat_read_data): Likewise.
37624
37625 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37626
37627 * fs/hfs.c (grub_hfs_read_file): Likewise.
37628
37629 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37630
37631 * fs/jfs.c (grub_jfs_read_file): Likewise.
37632
37633 * fs/minix.c (grub_minix_read_file): Likewise.
37634
37635 * fs/sfs.c (grub_sfs_read_file): Likewise.
37636
37637 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37638
9959f7db 37639 * fs/xfs.c (grub_xfs_read_file): Likewise.
37640
37641 * command/blocklist.c (read_blocklist): Likewise.
37642 (print_blocklist): Likewise.
37643
0a203f83 376442007-08-02 Marco Gerards <marco@gnu.org>
37645
37646 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37647 `util/hostfs.c'.
37648
37649 * disk/host.c: New file.
37650
37651 * util/hostfs.c: Likewise.
37652
37653 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37654 return `GRUB_ERR_BAD_FS'.
37655 * fs/sfs.c (grub_sfs_mount): Likewise.
37656 * fs/xfs.c (grub_xfs_mount): Likewise.
37657
37658 * include/grub/disk.h (enum grub_disk_dev_id): Add
37659 `GRUB_DISK_DEVICE_HOST_ID'.
37660
37661 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37662
e5dfe777 376632007-07-24 Jerone Young <jerone@gmail.com>
37664
f19dbdb7 37665 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37666 modules for compilation.
37667 * conf/powerpc-ieee1275.rmk: Likewise.
37668
37669 * include/multiboot.h: Move multiboot definitions to one file. Rename
37670 many definitions to not get grub specific.
37671 * include/multiboot2.h: Create header with multiboot 2 definitions.
37672 * include/grub/multiboot.h: Header for grub specific function
37673 prototypes and definitions.
37674 * include/grub/multiboot2.h: Likewise.
37675 * include/grub/multiboot_loader.h: Likewise.
37676 * include/grub/i386/pc/multiboot.h: Removed.
37677 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37678
37679 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37680 and 2 to allow for one multiboot and module commands.
37681 * loader/multiboot2.c: Add multiboot2 functionality.
37682 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37683 and definition names.
37684 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37685 2 functions.
37686 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37687 ieee1275 specific multiboot2 code.
37688
37689 * kern/i386/pc/startup.S: Change headers and definition names for
37690 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37691
daf0f0ba 376922007-07-22 Robert Millan <rmh@aybabtu.com>
37693
37694 * geninitheader.sh: Process file specified in first parameter rather
37695 than hardcoding grub_modules_init.lst.
fe6b695a 37696 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37697 than hardcoding grub_modules_init.h.
37698
37699 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37700 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37701 grub_probe_init.[ch] and grub_setup_init.[ch].
37702
37703 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37704 grub_modules_init.h with grub_emu_init.h.
37705 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37706 grub_probe_init.[ch] files.
37707 * conf/i386-efi.rmk: Likewise.
37708 * conf/i386-pc.rmk: Likewise.
37709 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37710 grub_setup_init.[ch] files.
37711
37712 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37713 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37714 to initialize modules rather than a list of hardcoded functions.
37715 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37716 grub_init_all() to initialize modules rather than a list of hardcoded
37717 functions.
37718
54cdc1cc 377192007-07-22 Robert Millan <rmh@aybabtu.com>
37720
37721 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37722 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37723
ad0686cc 377242007-07-22 Robert Millan <rmh@aybabtu.com>
37725
37726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37727 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37728 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37729 flag when running on SmartFirmware.
37730 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37731 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37732 was set.
37733
37734 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37735 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37736 rather than decreasing it.
37737
37738 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37739 there's not enough space to do it, fail in the same way as when it
37740 can't be done because there are no partitions.
37741
37742 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37743 when nvsetenv failed.
37744
969c02ec 377452007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37746
37747 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37748 because this rule is automatically generated.
37749 (grub-mkrescue): Removed for the same reason as above.
37750
5a79f472 377512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37752
37753 Migrate to GNU General Public License Version 3.
f19dbdb7 37754
5a79f472 37755 * COPYING: Replaced with the plain text version of GPLv3.
37756
37757 * config.guess: Updated from gnulib.
37758 * config.sub: Likewise.
37759
37760 * geninit.sh: Output a GPLv3 copyright notice.
37761 * geninitheader.sh: Likewise.
37762 * genmodsrc.sh: Likewise.
37763 * gensymlist.sh.in: Likewise.
37764
37765 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37766 * boot/i386/pc/diskboot.S: Likewise.
37767 * boot/i386/pc/pxeboot.S: Likewise.
37768 * commands/blocklist.c: Likewise.
37769 * commands/boot.c: Likewise.
37770 * commands/cat.c: Likewise.
37771 * commands/cmp.c: Likewise.
37772 * commands/configfile.c: Likewise.
37773 * commands/echo.c: Likewise.
37774 * commands/help.c: Likewise.
37775 * commands/ls.c: Likewise.
37776 * commands/search.c: Likewise.
37777 * commands/terminal.c: Likewise.
37778 * commands/test.c: Likewise.
37779 * commands/videotest.c: Likewise.
37780 * commands/i386/cpuid.c: Likewise.
37781 * commands/i386/pc/halt.c: Likewise.
37782 * commands/i386/pc/play.c: Likewise.
37783 * commands/i386/pc/reboot.c: Likewise.
37784 * commands/i386/pc/vbeinfo.c: Likewise.
37785 * commands/i386/pc/vbetest.c: Likewise.
37786 * commands/ieee1275/halt.c: Likewise.
37787 * commands/ieee1275/reboot.c: Likewise.
37788 * commands/ieee1275/suspend.c: Likewise.
37789 * disk/loopback.c: Likewise.
37790 * disk/lvm.c: Likewise.
37791 * disk/raid.c: Likewise.
37792 * disk/efi/efidisk.c: Likewise.
37793 * disk/i386/pc/biosdisk.c: Likewise.
37794 * disk/ieee1275/ofdisk.c: Likewise.
37795 * font/manager.c: Likewise.
37796 * fs/affs.c: Likewise.
37797 * fs/ext2.c: Likewise.
37798 * fs/fat.c: Likewise.
37799 * fs/fshelp.c: Likewise.
37800 * fs/hfs.c: Likewise.
37801 * fs/hfsplus.c: Likewise.
37802 * fs/iso9660.c: Likewise.
37803 * fs/jfs.c: Likewise.
37804 * fs/minix.c: Likewise.
37805 * fs/sfs.c: Likewise.
37806 * fs/ufs.c: Likewise.
37807 * fs/xfs.c: Likewise.
37808 * hello/hello.c: Likewise.
37809 * include/grub/acorn_filecore.h: Likewise.
37810 * include/grub/arg.h: Likewise.
37811 * include/grub/bitmap.h: Likewise.
37812 * include/grub/boot.h: Likewise.
37813 * include/grub/cache.h: Likewise.
37814 * include/grub/device.h: Likewise.
37815 * include/grub/disk.h: Likewise.
37816 * include/grub/dl.h: Likewise.
37817 * include/grub/elfload.h: Likewise.
37818 * include/grub/env.h: Likewise.
37819 * include/grub/err.h: Likewise.
37820 * include/grub/file.h: Likewise.
37821 * include/grub/font.h: Likewise.
37822 * include/grub/fs.h: Likewise.
37823 * include/grub/fshelp.h: Likewise.
37824 * include/grub/gzio.h: Likewise.
37825 * include/grub/hfs.h: Likewise.
37826 * include/grub/kernel.h: Likewise.
37827 * include/grub/loader.h: Likewise.
37828 * include/grub/lvm.h: Likewise.
37829 * include/grub/misc.h: Likewise.
37830 * include/grub/mm.h: Likewise.
37831 * include/grub/net.h: Likewise.
37832 * include/grub/normal.h: Likewise.
37833 * include/grub/parser.h: Likewise.
37834 * include/grub/partition.h: Likewise.
37835 * include/grub/pc_partition.h: Likewise.
37836 * include/grub/raid.h: Likewise.
37837 * include/grub/rescue.h: Likewise.
37838 * include/grub/script.h: Likewise.
37839 * include/grub/setjmp.h: Likewise.
37840 * include/grub/symbol.h: Likewise.
37841 * include/grub/term.h: Likewise.
37842 * include/grub/terminfo.h: Likewise.
37843 * include/grub/tparm.h: Likewise.
37844 * include/grub/types.h: Likewise.
37845 * include/grub/video.h: Likewise.
37846 * include/grub/efi/api.h: Likewise.
37847 * include/grub/efi/chainloader.h: Likewise.
37848 * include/grub/efi/console.h: Likewise.
37849 * include/grub/efi/console_control.h: Likewise.
37850 * include/grub/efi/disk.h: Likewise.
37851 * include/grub/efi/efi.h: Likewise.
37852 * include/grub/efi/pe32.h: Likewise.
37853 * include/grub/efi/time.h: Likewise.
37854 * include/grub/i386/linux.h: Likewise.
37855 * include/grub/i386/setjmp.h: Likewise.
37856 * include/grub/i386/types.h: Likewise.
37857 * include/grub/i386/efi/kernel.h: Likewise.
37858 * include/grub/i386/efi/loader.h: Likewise.
37859 * include/grub/i386/efi/time.h: Likewise.
37860 * include/grub/i386/pc/biosdisk.h: Likewise.
37861 * include/grub/i386/pc/boot.h: Likewise.
37862 * include/grub/i386/pc/chainloader.h: Likewise.
37863 * include/grub/i386/pc/console.h: Likewise.
37864 * include/grub/i386/pc/init.h: Likewise.
37865 * include/grub/i386/pc/kernel.h: Likewise.
37866 * include/grub/i386/pc/loader.h: Likewise.
37867 * include/grub/i386/pc/memory.h: Likewise.
37868 * include/grub/i386/pc/multiboot.h: Likewise.
37869 * include/grub/i386/pc/serial.h: Likewise.
37870 * include/grub/i386/pc/time.h: Likewise.
37871 * include/grub/i386/pc/vbe.h: Likewise.
37872 * include/grub/i386/pc/vbeblit.h: Likewise.
37873 * include/grub/i386/pc/vbefill.h: Likewise.
37874 * include/grub/i386/pc/vbeutil.h: Likewise.
37875 * include/grub/i386/pc/vga.h: Likewise.
37876 * include/grub/ieee1275/ieee1275.h: Likewise.
37877 * include/grub/ieee1275/ofdisk.h: Likewise.
37878 * include/grub/powerpc/libgcc.h: Likewise.
37879 * include/grub/powerpc/setjmp.h: Likewise.
37880 * include/grub/powerpc/types.h: Likewise.
37881 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37882 * include/grub/powerpc/ieee1275/console.h: Likewise.
37883 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37884 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37885 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37886 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37887 * include/grub/powerpc/ieee1275/time.h: Likewise.
37888 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37889 * include/grub/sparc64/libgcc.h: Likewise.
37890 * include/grub/sparc64/setjmp.h: Likewise.
37891 * include/grub/sparc64/types.h: Likewise.
37892 * include/grub/sparc64/ieee1275/console.h: Likewise.
37893 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37894 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37895 * include/grub/sparc64/ieee1275/time.h: Likewise.
37896 * include/grub/util/biosdisk.h: Likewise.
37897 * include/grub/util/getroot.h: Likewise.
37898 * include/grub/util/lvm.h: Likewise.
37899 * include/grub/util/misc.h: Likewise.
37900 * include/grub/util/raid.h: Likewise.
37901 * include/grub/util/resolve.h: Likewise.
37902 * io/gzio.c: Likewise.
37903 * kern/device.c: Likewise.
37904 * kern/disk.c: Likewise.
37905 * kern/dl.c: Likewise.
37906 * kern/elf.c: Likewise.
37907 * kern/env.c: Likewise.
37908 * kern/err.c: Likewise.
37909 * kern/file.c: Likewise.
37910 * kern/fs.c: Likewise.
37911 * kern/loader.c: Likewise.
37912 * kern/main.c: Likewise.
37913 * kern/misc.c: Likewise.
37914 * kern/mm.c: Likewise.
37915 * kern/parser.c: Likewise.
37916 * kern/partition.c: Likewise.
37917 * kern/rescue.c: Likewise.
37918 * kern/term.c: Likewise.
37919 * kern/efi/efi.c: Likewise.
37920 * kern/efi/init.c: Likewise.
37921 * kern/efi/mm.c: Likewise.
37922 * kern/i386/dl.c: Likewise.
37923 * kern/i386/efi/init.c: Likewise.
37924 * kern/i386/efi/startup.S: Likewise.
37925 * kern/i386/pc/init.c: Likewise.
37926 * kern/i386/pc/lzo1x.S: Likewise.
37927 * kern/i386/pc/startup.S: Likewise.
37928 * kern/ieee1275/ieee1275.c: Likewise.
37929 * kern/powerpc/cache.S: Likewise.
37930 * kern/powerpc/dl.c: Likewise.
37931 * kern/powerpc/ieee1275/cmain.c: Likewise.
37932 * kern/powerpc/ieee1275/crt0.S: Likewise.
37933 * kern/powerpc/ieee1275/init.c: Likewise.
37934 * kern/powerpc/ieee1275/openfw.c: Likewise.
37935 * kern/sparc64/cache.S: Likewise.
37936 * kern/sparc64/dl.c: Likewise.
37937 * kern/sparc64/ieee1275/init.c: Likewise.
37938 * kern/sparc64/ieee1275/openfw.c: Likewise.
37939 * loader/efi/chainloader.c: Likewise.
37940 * loader/efi/chainloader_normal.c: Likewise.
37941 * loader/i386/efi/linux.c: Likewise.
37942 * loader/i386/efi/linux_normal.c: Likewise.
37943 * loader/i386/pc/chainloader.c: Likewise.
37944 * loader/i386/pc/chainloader_normal.c: Likewise.
37945 * loader/i386/pc/linux.c: Likewise.
37946 * loader/i386/pc/linux_normal.c: Likewise.
37947 * loader/i386/pc/multiboot.c: Likewise.
37948 * loader/i386/pc/multiboot_normal.c: Likewise.
37949 * loader/powerpc/ieee1275/linux.c: Likewise.
37950 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37951 * normal/arg.c: Likewise.
37952 * normal/cmdline.c: Likewise.
37953 * normal/command.c: Likewise.
37954 * normal/completion.c: Likewise.
37955 * normal/execute.c: Likewise.
37956 * normal/function.c: Likewise.
37957 * normal/lexer.c: Likewise.
37958 * normal/main.c: Likewise.
37959 * normal/menu.c: Likewise.
37960 * normal/menu_entry.c: Likewise.
37961 * normal/misc.c: Likewise.
37962 * normal/parser.y: Likewise.
37963 * normal/script.c: Likewise.
37964 * normal/i386/setjmp.S: Likewise.
37965 * normal/powerpc/setjmp.S: Likewise.
37966 * normal/sparc64/setjmp.S: Likewise.
37967 * partmap/acorn.c: Likewise.
37968 * partmap/amiga.c: Likewise.
37969 * partmap/apple.c: Likewise.
37970 * partmap/gpt.c: Likewise.
37971 * partmap/pc.c: Likewise.
37972 * partmap/sun.c: Likewise.
37973 * term/gfxterm.c: Likewise.
37974 * term/terminfo.c: Likewise.
37975 * term/efi/console.c: Likewise.
37976 * term/i386/pc/console.c: Likewise.
37977 * term/i386/pc/serial.c: Likewise.
37978 * term/i386/pc/vesafb.c: Likewise.
37979 * term/i386/pc/vga.c: Likewise.
37980 * term/ieee1275/ofconsole.c: Likewise.
37981 * util/biosdisk.c: Likewise.
37982 * util/console.c: Likewise.
37983 * util/genmoddep.c: Likewise.
37984 * util/getroot.c: Likewise.
37985 * util/grub-emu.c: Likewise.
37986 * util/grub-mkdevicemap.c: Likewise.
37987 * util/grub-probe.c: Likewise.
37988 * util/lvm.c: Likewise.
37989 * util/misc.c: Likewise.
37990 * util/raid.c: Likewise.
37991 * util/resolve.c: Likewise.
37992 * util/update-grub.in: Likewise.
37993 * util/update-grub_lib.in: Likewise.
37994 * util/grub.d/00_header.in: Likewise.
37995 * util/grub.d/10_hurd.in: Likewise.
37996 * util/grub.d/10_linux.in: Likewise.
37997 * util/i386/efi/grub-install.in: Likewise.
37998 * util/i386/efi/grub-mkimage.c: Likewise.
37999 * util/i386/pc/grub-install.in: Likewise.
38000 * util/i386/pc/grub-mkimage.c: Likewise.
38001 * util/i386/pc/grub-mkrescue.in: Likewise.
38002 * util/i386/pc/grub-setup.c: Likewise.
38003 * util/i386/pc/misc.c: Likewise.
38004 * util/powerpc/ieee1275/grub-install.in: Likewise.
38005 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38006 * util/powerpc/ieee1275/misc.c: Likewise.
38007 * video/bitmap.c: Likewise.
38008 * video/video.c: Likewise.
38009 * video/i386/pc/vbe.c: Likewise.
38010 * video/i386/pc/vbeblit.c: Likewise.
38011 * video/i386/pc/vbefill.c: Likewise.
38012 * video/i386/pc/vbeutil.c: Likewise.
38013 * video/readers/tga.c: Likewise.
38014
3572d015 380152007-07-02 Robert Millan <rmh@aybabtu.com>
38016
38017 * conf/i386-efi.rmk: Replace obsolete reference to
38018 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38019 with util/getroot.c.
38020 * conf/powerpc-ieee1275.rmk: Likewise.
38021 * conf/sparc64-ieee1275.rmk: Likewise.
38022
38023 * util/grub-emu.c (main): Fix unchecked pointer handling.
38024
2c2a681b 380252007-07-02 Robert Millan <rmh@aybabtu.com>
38026
38027 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38028 invocation to fail, in order to support partition-less media.
38029
38030 * util/i386/pc/grub-install.in: Likewise.
38031
38032 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38033 which fs or partmap modules are needed (akin to its sister scripts).
38034
38035 Also use grub-probe to get rid of unportable /proc/mounts check.
38036
38037 Print the same informational message that the other scripts do, before
fe6b695a 38038 exiting.
2c2a681b 38039
6193defe 380402007-06-23 Robert Millan <rmh@aybabtu.com>
38041
fe6b695a 38042 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38043 a font file can be found and, if so, echo the GRUB path to it.
38044
38045 * util/update-grub.in: Handle multiple terminals depending on user
38046 input, platform availability and font file presence. Propagate
38047 variables of our findings to /etc/grub.d/ children.
38048
38049 * util/grub.d/00_header.in: Handle multiple terminals, based on
38050 environment setup by update-grub.
38051
eface1dc 380522007-06-23 Robert Millan <rmh@aybabtu.com>
38053
ba50d28f 38054 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38055
bf697e28 380562007-06-21 Robert Millan <rmh@aybabtu.com>
38057
38058 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38059 indicate end of data section in kernel image.
38060 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38061 GRUB_KERNEL_MACHINE_DATA_END.
38062
38063 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38064 space for it.
38065 * kern/i386/efi/startup.S: Likewise.
38066
38067 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38068 during image generation. Implement --prefix option to override this
38069 patch.
38070 * util/i386/efi/grub-mkimage.c: Likewise.
38071
38072 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38073 code to make path relative to its root into a separate function.
38074
38075 * util/i386/pc/grub-install.in: Use newly provided
38076 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38077 pass the result to grub-install --prefix.
38078
baa574b4 380792007-06-13 Robert Millan <rmh@aybabtu.com>
38080
38081 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38082 DEFAULT_DEVICE_MAP.
38083 * util/grub-emu.c: Use above definitions from misc.h instead of
38084 defining them.
38085 * util/grub-mkdevicemap.c: Likewise.
38086 * util/i386/pc/grub-setup.c: Likewise.
38087 * util/grub-probe.c: Likewise.
38088 (probe): Abort with grub_util_error() when either
38089 grub_guess_root_device or grub_util_get_grub_dev fails.
38090
0215dcbf 380912007-06-12 Robert Millan <rmh@aybabtu.com>
38092
38093 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38094 "pager" assignment.
38095 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38096 "pcdata".
38097 * util/grub-probe.c (probe): Likewise for "drive_name".
38098
8af2ab7b 380992007-06-11 Robert Millan <rmh@aybabtu.com>
38100
38101 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38102 not just the cdrom one.
38103
59d31694 381042007-06-11 Robert Millan <rmh@aybabtu.com>
38105
38106 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38107 Add --pkglibdir=DIR option to override pkglibdir.
38108 Mention --image-type=TYPE in help output.
38109 Fix --grub-mkimage (it was a no-op).
fe6b695a 38110 Abort gracefully when no parameter is given.
59d31694 38111
7ee367e4 381122007-06-11 Robert Millan <rmh@aybabtu.com>
38113
38114 * util/i386/pc/grub-mkrescue.in: New file.
38115 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38116 * Makefile.in: Handle bin_SCRIPTS.
38117
29b0ed46 381182007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38119
38120 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38121 list of video modes.
38122
c0f90770 381232007-06-06 Robert Millan <rmh@aybabtu.com>
38124
38125 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38126 file doesn't exist, or if it is in a filesystem grub can't read.
38127
38128 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38129 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38130 header comment to fit in 80 columns when the variables are resolved.
38131
38132 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38133 could be identified by update-grub. Remove redundant check for
fe6b695a 38134 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38135 handles that).
38136
fb36dc26 381372007-06-04 Robert Millan <rmh@aybabtu.com>
38138
38139 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38140
38141 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38142
38143 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38144
0c68c93e 381452007-06-04 Robert Millan <rmh@aybabtu.com>
38146
38147 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38148
38149 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38150 grub_apple_partition_map_fini.
38151
38152 * util/biosdisk.c
38153 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38154 to access >2 TiB disks).
38155
38156 Print disk->total_sectors with %llu instead of %lu, since this
38157 variable is always 64-bit (prevents wrong disk size from being displayed
38158 on either >2 TiB disk or big-endian CPU).
38159
38160 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38161 into a generic case that supports all (sane) partition maps.
38162
38163 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38164 breaks big-endian.
38165
38166 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38167 and grub_apple_partition_map_fini() after that.
38168
0f23eb74 381692007-06-01 Robert Millan <rmh@aybabtu.com>
38170
38171 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38172
38173 * util/grub.d/00_header.in: Only enable gfxterm when
38174 convert_system_path_to_grub_path() succeeds.
38175
42c71976 381762007-05-20 Robert Millan <rmh@aybabtu.com>
38177
38178 * util/update-grub_lib.in: New file.
38179 * DISTLIST: Add update-grub_lib.in.
38180 * conf/common.rmk: Generate update-grub_lib and install it in
38181 $(lib_DATA).
38182 * Makefile.in: Add install routine for $(lib_DATA).
38183
38184 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38185 function provided by update-grub_lib to support arbitrary paths of
38186 unifont.pff.
38187 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38188 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38189
5beb2291 381902007-05-19 Robert Millan <rmh@aybabtu.com>
38191
38192 * commands/i386/cpuid.c: New module.
38193 * DISTLIST: Add it.
38194 * conf/i386-efi.rmk: Enable cpuid.mod.
38195 * conf/i386-pc.rmk: Likewise.
38196
7262eca1 381972007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38198
38199 * kern/disk.c (grub_disk_read): Check return value of
38200 grub_realloc().
38201
260ba823 382022007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38203
38204 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38205 arrays.
38206 * disk/raid.c (grub_raid_open): Likewise.
38207
1ecb6cf2 382082007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38209
38210 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38211 stack instead of on the heap.
38212
38213 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38214 before doing a read on it.
38215
38216 * configure.ac: Only use -fno-stack-protector for the target
38217 environment.
f19dbdb7 38218
21c8cbb1 382192007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38220
38221 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38222 __attribute_ ((unused)) to mode_type argument.
38223
38224 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38225
21c8cbb1 38226 * kern/misc.c (memcmp): Fix prototype.
38227
38228 * include/grub/partition.h [GRUB_UTIL]
38229 (grub_gpt_partition_map_init): Add prototype.
38230 (grub_gpt_partition_map_fini): Likewise.
38231
38232 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38233 at the right place.
38234
38235 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38236 (grub_fat_read_data): Likewise.
38237 (grub_fat_find_dir): Likewise.
38238
38239 * font/manager.c (find_glyph): Make table a const.
38240 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38241
849d55d3 382422007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38243
38244 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38245 code, first search for device in /dev/mapper, then in /dev.
38246 (grub_util_get_grub_dev): New function.
38247 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38248 prototype.
38249 * util/grub-probe.c (probe): Remove check for RAID, call
38250 grub_util_get_grub_dev() instead of
38251 grub_util_biosdisk_get_grub_dev().
38252 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38253 grub_util_biosdisk_get_grub_dev().
38254 * util/i386/pc/grub-setup.c (main): Likewise.
38255
8fff7c2f 382562007-05-16 Robert Millan <rmh@aybabtu.com>
38257
38258 * DISTLIST: Update for the latest changes.
38259 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38260 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38261 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38262 grub/util/biosdisk.h.
38263 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38264 grub/util/biosdisk.h.
38265
48e12b52 382662007-05-16 Robert Millan <rmh@aybabtu.com>
38267
38268 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38269
46b9d128 382702007-05-16 Robert Millan <rmh@aybabtu.com>
38271
38272 * util/i386/efi/grub-install.in: New.
38273 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38274 newly added grub-install.
38275 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38276 include.
38277 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38278 grub/util/biosdisk.h.
38279 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38280 grub/util/biosdisk.h.
38281
2d1a40a9 382822007-05-16 Robert Millan <rmh@aybabtu.com>
38283
38284 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38285 * include/grub/util/biosdisk.h: ... here.
38286 * util/i386/pc/biosdisk.c: Moved to ...
38287 * util/biosdisk.c: ... here.
38288 * util/i386/pc/getroot.c: Moved to ...
38289 * util/getroot.c: ... here.
38290 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38291 * util/grub-mkdevicemap.c: ... here.
38292 * util/i386/pc/grub-probe.c: Moved to ...
38293 * util/grub-probe.c: ... here.
38294
9e26e3bc 382952007-05-15 Robert Millan <rmh@aybabtu.com>
38296
38297 * util/update-grub.in: Remove duplicated line in grub.cfg header
38298 message.
38299
57f96397 383002007-05-13 Robert Millan <rmh@aybabtu.com>
38301
38302 * util/update-grub.in: Fix a few assumptions about the devices holding
38303 /, /boot and /boot/grub being the same.
38304 * util/grub.d/00_header.in: Likewise.
38305 * util/grub.d/10_hurd.in: Likewise.
38306 * util/grub.d/10_linux.in: Likewise.
38307
38308 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38309 patterns. Use that to define the `.old' suffix as older than `'.
38310
38311 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38312
38313 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38314 the grub.cfg header message.
38315
2e610d62 383162007-05-11 Robert Millan <rmh@aybabtu.com>
38317
38318 * util/update-grub.in: Create device.map if it doesn't already exist,
38319 before attempting to run grub-probe.
38320 Check for grub-probe and grub-mkdevicemap with the same code
38321 grub-install is using.
38322 Remove test mode.
38323
3f6a10ef 383242007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38325
38326 * Makefile.in: Add the datarootdir autoconf variable.
38327
02e7b75e 383282007-05-09 Robert Millan <rmh@aybabtu.com>
38329
38330 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38331 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38332
75f396cc 383332007-05-07 Robert Millan <rmh@aybabtu.com>
38334
38335 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38336 determine partition map module.
38337 * util/i386/pc/grub-install.in: Use this feature to decide which
38338 partition module to load, instead of hardcoding pc and gpt.
38339
da65cb36 383402007-05-07 Robert Millan <rmh@aybabtu.com>
38341
38342 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38343 source directory differs from build directory.
38344
b57d6a91 383452007-05-05 Robert Millan <rmh@aybabtu.com>
38346
38347 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38348 initialisation.
38349
509d00f1 383502007-05-05 Robert Millan <rmh@aybabtu.com>
38351
38352 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38353
c48f23ef 383542007-05-05 Robert Millan <rmh@aybabtu.com>
38355
38356 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38357 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38358
20b97658 383592007-05-05 Robert Millan <rmh@aybabtu.com>
38360
38361 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38362 (grub_probe_SOURCES): Likewise.
38363 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38364 GPT and initialize dos_part and bsd_part accordingly.
38365 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38366 install_bsd_part.
38367 (main): Activate gpt module for use during partition identification,
38368 and deactivate it afterwards.
38369 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38370 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38371 partition identification, and deactivate it afterwards.
38372
99123174 383732007-05-05 Robert Millan <rmh@aybabtu.com>
38374
38375 * term/i386/pc/console.c (grub_console_fini): Call
38376 grub_term_set_current() before grub_term_unregister().
38377
ebd97f6e 383782007-05-04 Robert Millan <rmh@aybabtu.com>
38379
38380 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38381 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38382 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38383 and update-grub_DATA.
38384 * conf/common.rmk: Build and install update-grub components.
38385 * conf/common.mk: Regenerate.
38386 * util/update-grub.in: New. Core of update-grub.
38387 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38388 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38389 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38390 * util/grub.d/README: New. Document grub.d directory layout.
38391
b06a264d 383922007-05-01 Robert Millan <rmh@aybabtu.com>
38393
38394 * util/grub-emu.c: Move initialization functions
38395 grub_util_biosdisk_init() and grub_init_all() before
38396 grub_util_biosdisk_get_grub_dev(), which relies on them.
38397
41f0050e 383982007-04-19 Robert Millan <rmh@aybabtu.com>
38399
38400 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38401 it is used later.
38402
04582bb3 384032007-04-18 Jerone Young <jerone@gmail.com>
38404
f19dbdb7 38405 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38406 stanza.
38407
08db4632 384082007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38409
08db4632 38410 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38411 continue on and look for device node with real device name.
38412
801b76be 384132007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38414
fe6b695a 38415 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38416 ability.
38417 * Makefile.in: Add autoconf package transformation code.
38418 * util/i386/pc/grub-install.in: Likewise.
38419 * util/powerpc/ieee1275/grub-install.in: Likewise.
38420
6795c4e1 384212007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38422
38423 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38424 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38425 (EXT2_REVISION): Likewise.
38426 (EXT2_INODE_SIZE): Likewise.
38427 (struct grub_ext2_block_group): Added a missing member
38428 "used_dirs".
38429 (grub_ext2_read_inode): Divide by the inode size in a superblock
38430 instead of 128 to obtain INODES_PER_BLOCK.
38431 Use the macro EXT2_INODE_SIZE instead of directly using
38432 SBLOCK->INODE_SIZE.
38433
d70af616 384342007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38435
38436 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38437 superblock instead of the structure size to compute an
38438 offset. This fixes the problem that GRUB could not read a
38439 filesystem when inode size is different from 128-byte.
38440
3b801603 384412007-03-05 Marco Gerards <marco@gnu.org>
38442
38443 * normal/main.c (read_config_file): When "menu" is not set, create
38444 an initial context.
38445
4785bfe4 384462007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38447
38448 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38449 (HEAP_LIMIT): New macro.
38450 (grub_claim_heap): Claim memory up to `heaplimit'.
38451
a0cbb023 384522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38453
38454 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38455 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38456 (_start): Likewise.
38457 (grub_arch_modules_addr): Return address after `_end'.
38458 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38459 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38460 (add_segments): Calculate `_end' from phdr size and location.
38461 (ALIGN_UP): Moved to ...
38462 * include/grub/misc.h: here.
38463 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38464 New macro.
38465 (GRUB_IEEE1275_MODULE_BASE): Removed.
38466
fd7d8eba 384672007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38468
38469 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38470 loop boundary.
38471
9b09e6fc 384722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38473
38474 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38475 All users updated.
38476 (grub_elf64_load_hook_t): Likewise.
38477 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38478 debug output.
38479
3ce27299 384802007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38481
38482 * kern/mm.c: Update copyright.
38483 (grub_mm_debug): Correct syntax error.
38484 (grub_mm_dump_free): New function.
38485 (grub_debug_free): Call `grub_free'.
38486 * include/grub/mm.h: Update copyright.
38487 (grub_mm_dump_free): Add declaration.
38488
077d5fee 384892007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38490
38491 * include/grub/ieee1275/ieee1275.h: Update copyright.
38492 * kern/powerpc/ieee1275/init.c: Likewise.
38493 * kern/powerpc/ieee1275/openfw.c: Likewise.
38494
38495 * loader/powerpc/ieee1275/linux.c: Likewise.
38496 * include/grub/elfload.h: Likewise.
38497 * kern/elf.c: Likewise.
38498 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38499 callers.
38500 (grub_elf64_load): Likewise.
38501 (grub_elf32_load_segment): Move to a nested function.
38502 (grub_elf64_load_segment): Likewise.
38503
dc946850 385042007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38505
38506 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38507 prototype.
38508 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38509 (grub_heap_len): Likewise.
38510 (HEAP_SIZE): New macro.
38511 (grub_claim_heap): New function.
38512 (grub_machine_init): Don't claim heap directly. Call
38513 `grub_claim_heap'.
38514 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38515 (grub_available_iterate): New function.
38516
baa2a121 385172007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38518
38519 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38520 * configure.ac: Use it for testing the HOST and TARGET compilers.
38521
4fe9862e 385222006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38523
38524 * Makefile.in (enable_grub_emu): New variable.
38525 * configure.ac (--enable-grub-emu): New option.
38526 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38527 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38528 * conf/i386-pc.rmk: Likewise.
38529 * conf/powerpc-ieee1275.rmk: Likewise.
38530 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38531
a8aa5762 385322006-12-12 Marco Gerards <marco@gnu.org>
38533
38534 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38535
38536 * kern/env.c (grub_env_unset): Don't free the member `value' when
38537 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38538 pointer.
38539
38540 * normal/main.c (current_menu): Removed.
38541 (free_menu): Unset the `menu' environment variable.
38542 (grub_normal_menu_addentry): Make use of the environment variable
38543 `menu', instead of using the global `current_menu'. Allocate
38544 memory for the sourcecode of this entry.
38545 (read_config_file): New argument `nested', changed all callers.
38546 Only in the case of a new context, initialize a new menu. Set the
38547 `menu' environment variable.
38548 (grub_normal_execute): Don't set and unset the environment
38549 variable `menu' here anymore. Only free the menu when leaving the
38550 context.
38551
38552 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38553 leak.
38554
957b3a3e 385552006-12-11 Marco Gerards <marco@gnu.org>
38556
38557 * normal/menu_entry.c (run): Fix off by one bug so the last line
38558 is executed. Move the loader check to outside the loop.
38559
ef875714 385602006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38561
38562 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38563
4e739985 385642006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38565
38566 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38567 the number of sectors. Reported by Andrey Shuvikov
38568 <mr_hyro@yahoo.com>.
f19dbdb7 38569
790707f2 385702006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38571
38572 * kern/disk.c (grub_disk_read): When there is a read error, always
38573 try to read only the necessary data.
f19dbdb7 38574
790707f2 38575 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38576 disk/raid.c.
38577 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38578 prototype.
38579 [GRUB_UTIL] (grub_raid_fini): Likewise.
38580 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38581 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38582 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38583 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38584 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38585 and grub_raid_fini().
f19dbdb7 38586
03e58196 385872006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38588
38589 * include/grub/types.h (__unused): Rename to UNUSED.
38590 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38591 (grub_elf64_size): Likewise.
f19dbdb7 38592
ae4f23bf 385932006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38594
38595 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38596 grub_error_push and grub_error_pop in the error-handling path.
38597 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38598 length.
38599
2166cc83 386002006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38601
38602 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38603 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38605 (kernel_elf_SOURCES): Likewise.
38606 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38607 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38608 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38609 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38610 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38611 (elf_mod_SOURCES): New variable.
38612 (elf_mod_CFLAGS): Likewise.
38613 (elf_mod_LDFLAGS): Likewise.
38614 * include/grub/types.h (__unused): New macro.
38615 * include/grub/elfload.h: New file.
38616 * kern/elf.c: Likewise.
38617 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38618 (ELF32_LOADMASK): New macro.
38619 (ELF64_LOADMASK): Likewise.
38620 (vmlinux): Removed.
38621 (grub_linux_load32): New function.
38622 (grub_linux_load64): Likewise.
38623 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38624 Use grub_elf_t instead of grub_file_t.
38625
a09d5aa5 386262006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38627
38628 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38629 `catch_result' to struct set_color_args.
38630
d976fc51 386312006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38632
38633 * normal/menu.c: Include grub/script.h.
38634 * normal/menu_entry.c: Likewise.
38635 * include/grub/normal.h: Do not include grub/script.h.
38636
67507549 386372006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38638
38639 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38640
69203a99 386412006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38642
38643 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38644 disk.
38645 (grub_disk_close): Print debug messages when closing a disk.
38646 (grub_disk_read): Print debug messages when disk read fails.
38647 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38648 filesystem type.
38649 * kern/partition.c: Include misc.h.
38650 (grub_partition_iterate): Print debug messages when detecting
38651 partition type.
38652
e2b8278c 386532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38654
38655 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38656 is negative.
38657 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38658
97b2f2ff 386592006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38660
38661 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38662 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38663
6555d655 386642006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38665
38666 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38667 instead of sizeof(lv). Patch by Michael Guntsche.
38668
4d42b77f 386692006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38670
38671 * disk/lvm.c: Rename VGS to VG_LIST.
38672 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38673 (grub_lvm_open): Likewise.
38674 Thanks to Michael Guntsche for finding this bug.
38675
5d74d927 386762006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38677
38678 * configure.ac (AC_INIT): Bumped to 1.95.
38679
a1bb27e4 386802006-10-14 Robert Millan <rmh@aybabtu.com>
38681
38682 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38683 with "/dev/.static/dev/md".
38684
e0994b8b 386852006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38686
38687 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38688 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38689 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38690 DRIVE_NAME are always freed.
38691
38692 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38693 DOS_PART, as a DOS partition is counted from one instead of zero
38694 now. Reported by Robert Millan.
38695
ddd5cee9 386962006-10-14 Robert Millan <rmh@aybabtu.com>
38697
38698 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38699 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38700 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38701 string returned by grub_guess_root_device.
38702 * util/i386/pc/grub-setup.c: Likewise.
38703 * util/i386/pc/grub-probefs.c: Likewise.
38704
38705 * util/i386/pc/grub-probefs.c: Rename to ...
38706 * util/i386/pc/grub-probe.c: ... this.
38707 * DISTLIST: Remove grub-probefs, add grub-probe.
38708 * conf/i386-efi.rmk: Likewise.
38709 * conf/i386-pc.rmk: Likewise.
38710 * util/i386/pc/grub-install.in: Likewise.
38711
38712 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38713 choose which information we want to print.
38714
2b002173 387152006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38716
38717 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38718 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38719 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38720 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38721 video/readers/tga.c and video/i386/pc/vbeutil.c.
38722
387232006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38724
38725 Added support for RAID and LVM.
f19dbdb7 38726
2b002173 38727 * disk/lvm.c: New file.
38728 * disk/raid.c: Likewise.
38729 * include/grub/lvm.h: Likewise.
f19dbdb7 38730 * include/grub/raid.h: Likewise.
2b002173 38731 * include/grub/util/lvm.h: Likewise.
38732 * include/grub/util/raid.h: Likewise.
38733 * util/lvm.c: Likewise.
38734 * util/raid.c: Likewise.
38735
38736 * include/grub/disk.h (grub_disk_dev_id): Add
38737 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38738 (grub_disk_get_size): New prototype.
38739 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38740 returns a partition.
38741 (grub_disk_get_size): New function.
f19dbdb7 38742
2b002173 38743 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38744 verbatim if grub_install_dos_part is -2.
38745
38746 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38747 and LVM devices.
38748
38749 * util/i386/pc/grub-setup.c (setup): New argument
38750 MUST_EMBED. Force embedding of GRUB when the argument is
38751 true. Close FILE before returning.
38752 (main): Add support for RAID and LVM.
f19dbdb7 38753
2b002173 38754 * conf/common.rmk: Add RAID and LVM modules.
38755 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38756 util/lvm.c.
38757 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38758
38759 * kern/misc.c (grub_strstr): New function.
38760 * include/grub/misc.h (grub_strstr): New prototype.
38761
050548d0 387622006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38763
38764 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38765
da849d2d 387662006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38767
38768 * kern/misc.c (grub_strtoull): Guess the base only if not
38769 specified.
38770
97b2f2ff 387712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38772
38773 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38774 PowerMac support.
38775
97b2f2ff 387762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38777
38778 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38779
38780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38781 Remove `flags' argument. All callers changed.
38782 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38783 (IEEE1275_IHANDLE_INVALID): New variable.
38784 (IEEE1275_CELL_INVALID): New variable.
38785 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38786 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38787 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38788 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38789 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38790 codes from Open Firmware. All callers updated.
38791 (grub_ieee1275_next_property): Directly return Open Firmware return
38792 code.
38793 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38794 Standardize error checking from `grub_ieee1275_get_property'.
38795 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38796 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38797
97b2f2ff 387982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38799
38800 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38801 `instance_to_package_args' to `instance_to_path_args'.
38802
38803 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38804 `grub_ieee1275_chosen'.
38805
38806 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38807 `grub_ieee1275_interpret'.
38808
97b2f2ff 388092006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38810
38811 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38812
97b2f2ff 388132006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38814
38815 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38816 (__cmpdi): Likewise.
38817
38818 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38819 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38820 `grub_ssize_t'.
38821
02bb8acc 38822 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38823
38824 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38825 to type `grub_ssize_t'.
38826 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38827
7f9a8531 388282006-09-22 Marco Gerards <marco@gnu.org>
38829
38830 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38831 newlines.
38832
b5ef1102 388332006-09-22 Marco Gerards <marco@gnu.org>
38834
38835 * commands/echo.c: New file.
38836
38837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38838
38839 * conf/common.rmk (echo_mod_SOURCES): New variable.
38840 (echo_mod_CFLAGS): Likewise.
38841 (echo_mod_LDFLAGS): Likewise.
38842
2cff3677 388432006-09-22 Marco Gerards <marco@gnu.org>
38844
38845 * normal/main.c (get_line): Malloc memory instead of using
38846 preallocated memory. Removed the arguments `cmdline' and
38847 `max_len'. Updated all callers.
38848
6ba4688b 388492006-09-22 Marco Gerards <marco@gnu.org>
38850
38851 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38852 (normal_mod_DEPENDENCIES): Likewise.
38853
38854 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38855 (normal_mod_DEPENDENCIES): Likewise.
38856
38857 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38858
e02ac02c 388592006-09-22 Johan Rydberg <jrydberg@gnu.org>
38860
38861 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38862 programs.
38863 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38864 (normal_mod_DEPENDENCIES): Likewise.
38865 * conf/i386-pc.mk: Regenerate.
38866 * conf/i386-efi.mk: Likewise
38867 * conf/common.mk: Likewise.
38868 * conf/powerpc-ieee1275.mk: Likewise.
38869 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38870
8d252e44 388712006-09-22 Robert Millan <rmh@aybabtu.com>
38872
38873 Sync with i386 version.
38874 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38875 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38876
209bf7ac 388772006-09-21 Robert Millan <rmh@aybabtu.com>
38878
38879 Import from GRUB Legacy (lib/device.c):
38880 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38881 (init_device_map) [__linux__]: Add support for I2O devices.
38882
6b146090 388832006-09-14 Marco Gerards <marco@gnu.org>
38884
38885 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38886 `-melf_i386'.
38887
e38600a8 388882006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38889
38890 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38891 /boot/grub/*.lst.
78fa1790 38892
2952da5d 38893 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38894
2952da5d 38895 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38896 before adding it to device.map.
38897
01b82a64 388982006-08-15 Johan Rydberg <jrydberg@gnu.org>
38899
fe6b695a 38900 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38901 compiles a file; using the -MD option.
38902 * conf/common.mk: Regenerate.
38903 * conf/i386-pc.mk: Likewise.
38904 * conf/i386-efi.mk: Likewise.
38905 * conf/powerpc-ieee1275.mk: Likewise.
38906 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38907
1064790d 389082006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38909
38910 Move the prototypes of grub_setjmp and grub_longjmp to
38911 cpu/setjmp.h, so that each architecture may specify different
38912 attributes.
f19dbdb7 38913
1064790d 38914 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38915 (grub_longjmp): Likewise.
38916 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38917 (grub_longjmp): Likewise.
38918 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38919 (grub_longjmp): Likewise.
38920
38921 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38922 [!GRUB_UTIL] (grub_longjmp): Removed.
38923
29dda3ed 389242006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38925
38926 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38927 "color!" method does not return any value.
38928
ad2a06ed 389292006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38930
38931 * include/grub/bitmap.h: New file.
38932
38933 * include/grub/i386/pc/vbeutil.h: Likewise.
38934
38935 * video/bitmap.c: Likewise.
38936
38937 * video/readers/tga.c: Likewise.
38938
38939 * video/i386/pc/vbeutil.c: Likewise.
38940
38941 * commands/videotest.c: Code cleanup and updated to reflect to new
38942 video API.
38943
38944 * term/gfxterm.c: Likewise.
38945
38946 * video/video.c: Likewise.
38947
38948 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38949 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38950 (bitmap_mod_SOURCES): New entry.
38951 (bitmap_mod_CFLAGS): Likewise.
38952 (bitmap_mod_LDFLAGS): Likewise.
38953 (tga_mod_SOURCES): Likewise.
38954 (tga_mod_CFLAGS): Likewise.
38955 (tga_mod_LDFLAGS): Likewise.
38956
38957 * include/grub/video.h (grub_video_blit_operators): New enum type.
38958 (grub_video_render_target): Changed as forward declaration and moved
38959 actual definition to be video driver specific.
38960 (grub_video_adapter.blit_bitmap): Added blitting operator.
38961 (grub_video_adapter.blit_render_target): Likewise.
38962 (grub_video_blit_bitmap): Likewise.
38963 (grub_video_blit_render_target): Likewise.
38964
38965 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38966 driver specific render target definition.
38967 (grub_video_vbe_map_rgba): Added driver internal helper.
38968 (grub_video_vbe_unmap_color): Updated to use
38969 grub_video_i386_vbeblit_info.
38970 (grub_video_vbe_get_video_ptr): Likewise.
38971
38972 * include/grub/i386/pc/vbeblit.h
38973 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38974 grub_video_i386_vbeblit_info.
38975 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38976 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38977 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38978 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38979 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38980 (grub_video_i386_vbeblit_index_index): Likewise.
38981 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38982 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38983 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38984 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38985 operator.
38986 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38987 operator.
38988
38989 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38990 include/grub/i386/pc/vbeblit.h.
38991
38992 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38993 Updated to use grub_video_i386_vbeblit_info.
38994 (grub_video_i386_vbefill_R8G8B8): Likewise.
38995 (grub_video_i386_vbefill_index): Likewise.
38996 (grub_video_i386_vbefill): Added generic filler.
38997
38998 * video/i386/pc/vbefill.c: Updated to reflect changes on
38999 include/grub/i386/pc/vbefill.h.
39000
39001 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39002 grub_video_i386_vbeblit_info.
39003 (grub_video_vbe_unmap_color): Likewise.
39004 (grub_video_vbe_blit_glyph): Likewise.
39005 (grub_video_vbe_scroll): Likewise.
39006 (grub_video_vbe_draw_pixel): Removed function.
39007 (grub_video_vbe_get_pixel): Likewise.
39008 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39009 updated code to use it.
39010 (common_blitter): Added common blitter for render target and bitmap.
39011 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39012 (grub_video_vbe_blit_render_target): Likewise.
39013
bc8c036d 390142006-07-30 Johan Rydberg <jrydberg@gnu.org>
39015
39016 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39017 is in text mode if there is no console control protocol instance
39018 available.
39019
684a8eff 390202006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39021
39022 * include/grub/video.h: Code cleanup.
39023
39024 * include/grub/i386/pc/vbe.h: Likewise.
39025
39026 * video/i386/pc/vbe.c: Likewise.
39027
39028 * video/i386/pc/vbeblit.c: Likewise.
39029
39030 * video/i386/pc/vbefill.c: Likewise.
39031
39032 * video/video.c: Likewise. Also added more comments.
39033
5915059b 390342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39035
39036 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39037 (struct grub_biosdisk_dap): Likewise.
39038
39039 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39040 linkage settings for all functions.
39041
90ce5d56 390422006-07-12 Marco Gerards <marco@gnu.org>
39043
39044 * configure.ac (--enable-mm-debug): Fix typo.
39045
39046 * genkernsyms.sh.in: Use proper quoting for `CC'.
39047
43e7f879 390482006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39049
39050 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39051 (normal_mod_ASFLAGS): Remove "-m32".
39052
4889bdec 390532006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39054
39055 * util/misc.c: Include config.h.
39056 [!HAVE_MEMALIGN]: Do not include malloc.h.
39057 (grub_memalign): Use posix_memalign, if present. Then, use
39058 memalign, if present. Otherwise, emit an error.
39059
39060 * util/grub-emu.c: Do not include malloc.h.
39061
39062 * include/grub/util/misc.h: Include unistd.h. This is required for
39063 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39064 D. Eades III <hde@foobar-qux.org>.
39065
39066 * configure.ac (AC_GNU_SOURCE): Added.
39067 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39068 type.
39069
fd39d4da 390702006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39071
39072 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39073 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39074
b786f3b5 390752006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39076
39077 * include/grub/types.h (grub_host_addr_t): Rename to
39078 grub_target_addr_t.
39079 (grub_host_off_t): Rename to grub_target_off_t.
39080 (grub_host_size_t): Rename to grub_target_size_t.
39081 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39082 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39083
39084 * include/grub/kernel.h (struct grub_module_header): Change type
39085 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39086 (grub_module_info): Likewise.
f19dbdb7 39087
051988bb 390882006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39089
39090 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39091 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39092 Velazquez <jesus.velazquez@gmail.com>.
39093
deae281b 390942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39095
39096 Count partitions from 1 instead of 0 in the string representation
39097 of partitions. Still use 0-based internally.
f19dbdb7 39098
deae281b 39099 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39100 (sun_partition_map_iterate): Use grub_partition_t instead of
39101 struct grub_partition *. Cast DESC->START_CYLINDER to
39102 grub_uint64_t after converting the endian.
39103 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39104 (sun_partition_map_get_name): Add 1 to P->INDEX.
39105
39106 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39107 PCDATA->DOS_PART.
39108 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39109
39110 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39111 zero instead of one.
39112 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39113 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39114
39115 * partmap/apple.c (apple_partition_map_iterate): Change the type
39116 of POS to unsigned.
39117 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39118 (apple_partition_map_get_name): Add 1 into P->INDEX.
39119
39120 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39121 of POS to unsigned.
39122 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39123 calculate the offset of a partition.
39124 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39125 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39126
39127 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39128 SECTOR to grub_disk_addr_t.
39129 (acorn_partition_map_iterate): Likewise.
39130 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39131 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39132 top.
39133 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39134
39135 * kern/i386/pc/init.c (make_install_device): Add 1 into
39136 GRUB_INSTALL_DOS_PART.
39137
39138 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39139 conditional.
39140
524a1e6a 391412006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39142
39143 Clean up the code to support 64-bit addressing in disks and
39144 files. This change is not enough for filesystems yet.
f19dbdb7 39145
524a1e6a 39146 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39147 type of "start" to grub_uint64_t.
39148 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39149 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39150 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39151 convert addresses.
39152
39153 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39154 to grub_disk_addr_t.
39155
39156 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39157 string.
39158
39159 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39160
39161 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39162 to char *.
39163
39164 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39165
39166 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39167
39168 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39169
39170 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39171 to grub_off_t, to detect an error from grub_file_seek.
39172 (grub_multiboot_load_elf32): Likewise.
39173
39174 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39175 maximum unsigned long value when an overflow is detected.
39176 (grub_strtoull): New function.
39177 (grub_divmod64): Likewise.
39178 (grub_lltoa): use grub_divmod64.
39179
39180 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39181 grub_disk_addr_t.
39182 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39183 the pointer to next character. Use grub_strtoull instead of
39184 grub_strtoul.
39185 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39186 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39187 respectively.
39188
fe6b695a 39189 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39190 return value is signed.
39191 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39192 test if OFFSET is less than zero, as OFFSET is unsigned now.
39193
39194 * kern/disk.c (struct grub_disk_cache): Change the type of
39195 "sector" to grub_disk_addr_t.
39196 (grub_disk_cache_get_index): Change the type of SECTOR to
39197 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39198 unsigned after shifting.
39199 (grub_disk_cache_invalidate): Change the type of SECTOR to
39200 grub_disk_addr_t.
39201 (grub_disk_cache_unlock): Likewise.
39202 (grub_disk_cache_store): Likewise.
39203 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39204 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39205 grub_disk_addr_t and grub_uint64_t, respectively.
39206 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39207 body, as the value of OFFSET is tweaked by
39208 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39209 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39210 respectively.
39211 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39212 body, as the value of OFFSET is tweaked by
39213 grub_disk_check_range. Change the types of LEN and N to
39214 grub_size_t.
39215
39216 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39217 and "saved_offset" to grub_off_t.
39218 (test_header): Cast BUF to char *.
39219 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39220 to char *.
39221 (grub_gzio_read): Change the types of OFFSET and SIZE to
39222 grub_off_t and grub_size_t, respectively.
39223
39224 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39225 Removed.
39226 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39227 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39228 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39229 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39230 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39231
39232 * include/grub/types.h (grub_off_t): Unconditionally set to
39233 grub_uint64_t.
39234 (grub_disk_addr_t): Changed to grub_uint64_t.
39235
39236 * include/grub/partition.h (struct grub_partition): Change the
39237 types of "start", "len" and "offset" to grub_disk_addr_t,
39238 grub_uint64_t and grub_disk_addr_t, respectively.
39239 (grub_partition_get_start): Return grub_disk_addr_t.
39240 (grub_partition_get_len): Return grub_uint64_t.
39241
39242 * include/grub/misc.h (grub_strtoull): New prototype.
39243 (grub_divmod64): Likewise.
39244
39245 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39246 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39247 grub_off_t, respectively.
39248 All callers and references changed.
39249
39250 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39251 grub_size_t in "read".
39252 All callers and references changed.
39253
39254 * include/grub/file.h (struct grub_file): Change the types of
39255 "offset" and "size" to grub_off_t and grub_off_t,
39256 respectively. Change the type of SECTOR to grub_disk_addr_t in
39257 "read_hook".
39258 (grub_file_read): Change the type of LEN to grub_size_t.
39259 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39260 grub_off_t.
39261 (grub_file_size): Return grub_off_t.
39262 (grub_file_tell): Likewise.
39263 All callers and references changed.
39264
39265 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39266 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39267 "write".
39268 (struct grub_disk): Change the type of "total_sectors" to
39269 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39270 "read_hook".
524a1e6a 39271 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39272 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39273 (grub_disk_write): Likewise.
39274 All callers and references changed.
39275
39276 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39277 char * for grub_strncmp to silence gcc.
39278 (grub_iso9660_mount): Likewise.
39279 (grub_iso9660_mount): Likewise.
39280 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39281 return statement.
39282 (grub_iso9660_iterate_dir): Likewise.
39283 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39284
39285 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39286 LEN to grub_disk_addr_t and grub_size_t, respectively.
39287
39288 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39289
39290 * fs/jfs.c (grub_jfs_read_file): Likewise.
39291
39292 * fs/minix.c (grub_jfs_read_file): Likewise.
39293
39294 * fs/sfs.c (grub_jfs_read_file): Likewise.
39295
39296 * fs/ufs.c (grub_jfs_read_file): Likewise.
39297
39298 * fs/xfs.c (grub_jfs_read_file): Likewise.
39299
39300 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39301 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39302 respectively.
39303
39304 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39305 BLKNR to -1 instead of returning GRUB_ERRNO.
39306 (grub_ext2_read_file): Change the types of SECTOR and
39307 LEN to grub_disk_addr_t and grub_size_t, respectively.
39308
39309 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39310 LEN to grub_disk_addr_t and grub_size_t, respectively.
39311
39312 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39313 grub_file_read.
39314
39315 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39316 string. Do not cast SECTOR explicitly.
39317
39318 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39319 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39320 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39321 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39322 over 2TB and LBA mode is not supported, raise an error.
39323 (get_safe_sectors): New function.
39324 (grub_biosdisk_read): Use get_safe_sectors.
39325 (grub_biosdisk_write): Likewise.
39326
39327 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39328 (grub_efidisk_write): Likewise.
39329
39330 * disk/loopback.c (delete_loopback): Cosmetic changes.
39331 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39332 correctly.
39333 (grub_loopback_open): Likewise.
39334 (grub_loopback_read): Likewise. Also, change the type of POS to
39335 grub_off_t, and fix the usage of grub_memset.
39336
39337 * commands/i386/pc/play.c: Include grub/machine/time.h.
39338
39339 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39340 print FILE->SIZE.
39341
39342 * commands/configfile.c: Include grub/env.h.
39343
39344 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39345 GRUB_ERRNO directly instead. Change the type of POS to
39346 grub_off_t. Follow the coding standard.
39347
39348 * commands/blocklist.c: Include grub/partition.h.
39349 (grub_cmd_blocklist): Return an error if the underlying device is
39350 not a disk. Take the starting sector of a partition into account,
39351 if a partition is used.
39352
39353 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39354 a length field.
39355 (lba_mode): Support 64-bit addresses.
39356 (chs_mode): Likewise.
39357 (copy_buffer): Adapted to the new offsets of a length field and a
39358 segment field.
39359 (blocklist_default_start): Allocate 64-bit space.
39360
39361 * boot/i386/pc/boot.S (force_lba): Removed.
39362 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39363 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39364 space.
39365 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39366 is useless.
39367 (lba_mode): Refactored to support a 64-bit address. More size
39368 optimization.
39369 (setup_sectors): Likewise.
39370
53af98ad 393712006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39372
39373 * DISTLIST: Added include/grub/i386/linux.h. Removed
39374 include/grub/i386/pc/linux.h
39375
39376 * configure.ac (AC_INIT): Bumped to 1.94.
39377
39378 * config.guess: Updated from gnulib.
39379 * config.sub: Likewise.
39380 * install-sh: Likewise.
39381 * mkinstalldirs: Likewise.
39382
b4c1940a 393832006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39384
39385 * conf/common.rmk (grub_modules_init.lst): Depended on
39386 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39387 MODSRCFILES.
39388
39389 * genmk.rb (PModule::rule): Reverted the previous change.
39390
cfca1cfd 393912006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39392
39393 * conf/common.rmk (grub_modules_init.lst): Depends on
39394 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39395 that the target does not exist before producing.
39396 (grub_modules_init.h): Remove the target before generating.
39397 (grub_emu_init.c): Likewise.
39398
39399 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39400
aa6d7826 394012006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39402
39403 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39404 for the target-specific tests. Make sure that we also have the
39405 up-to-date target variables for those tests.
39406
26c607b9 394072006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39408
39409 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39410 (PModule::rule): Likewise.
39411
0162321a 394122006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39413
39414 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39415 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39416 target-specific flags should be prefixed.
39417 (PModule::rule): Likewise.
39418
6c826348 394192006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39420
39421 * configure.ac (CMP): Check if cmp is available explicitly.
39422
b977bf01 394232006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39424
39425 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39426 (target_cpu): New variable.
39427 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39428
b977bf01 39429 * util/i386/pc/grub-install.in (host_cpu): Removed.
39430 (target_cpu): New variable.
39431 (pkglibdir): Use target_cpu instead of host_cpu.
39432
39433 * util/genmoddep.c: Removed.
f19dbdb7 39434
b977bf01 39435 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39436 instead of GRUB_HOST_SIZEOF_VOID_P.
39437 * kern/dl.c: Likewise.
39438
39439 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39440 ...
39441 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39442 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39443 (GRUB_TARGET_SIZEOF_LONG): ... this.
39444 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39445 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39446 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39447 to ...
39448 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39449 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39450 (GRUB_TARGET_SIZEOF_LONG): ... this.
39451 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39452 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39453 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39454 to ...
39455 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39456 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39457 (GRUB_TARGET_SIZEOF_LONG): ... this.
39458 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39459 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39460
39461 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39462 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39463 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39464 instead of GRUB_HOST_SIZEOF_LONG.
39465 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39466 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39467 GRUB_CPU_WORDS_BIGENDIAN.
39468 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39469 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39470 grub_host_ssize_t.
39471
39472 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39473 (genmoddep_SOURCES): Likewise.
39474 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39475 (genmoddep_SOURCES): Likewise.
39476 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39477 (genmoddep_SOURCES): Likewise.
39478 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39479 Likewise.
39480 (genmoddep_SOURCES): Likewise.
39481
39482 * genmoddep.awk: New file.
39483
39484 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39485 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39486 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39487 (PModule::rule): Likewise.
39488 (Program::rule): Likewise.
39489 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39490 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39491 respectively.
39492
39493 * configure.ac: Rewritten intensively to use host and target
39494 instead of build and host, respectively.
39495
39496 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39497 (host_cpu): Removed.
39498 (target_cpu): New variable.
39499 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39500 (BUILD_CC): Removed.
39501 (BUILD_CFLAGS): Likewise.
39502 (BUILD_CPPFLAGS): Likewise.
39503 (TARGET_CC): New variable.
39504 (TARGET_CFLAGS): Likewise.
39505 (TARGET_CPPFLAGS): Likewise.
39506 (TARGET_LDFLAGS): Likewise.
39507 (AWK): Likewise.
39508 (include): Use target_cpu instead of host_cpu.
39509 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39510
b977bf01 39511 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39512
f09771a1 395132006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39514
39515 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39516 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39517 field 'false' to 'exec_on_false'.
39518 (grub_script_create_cmdif): Renamed argument names to reflect above
39519 changes.
39520
39521 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39522
39523 * normal/script.c (grub_script_create_cmdif): Likewise.
39524
118f4fb3 395252006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39526
39527 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39528 top.
39529 (grub_hfsplus_btree_recptr): Likewise.
39530 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39531 FILEBLOCK both to pass a block number and store next block
39532 number.
39533 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39534 overflow file correctly. Specify errors appropriately, because
39535 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39536 grub_hfsplus_btree_recptr to get the pointer to a found key.
39537 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39538 is found.
39539
39540 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39541 linux.mod.
39542 (_linux_mod_SOURCES): New variable.
39543 (_linux_mod_CFLAGS): Likewise.
39544 (_linux_mod_LDFLAGS): Likewise.
39545 (linux_mod_SOURCES): Likewise.
39546 (linux_mod_CFLAGS): Likewise.
39547 (linux_mod_LDFLAGS): Likewise.
39548
39549 * DISTLIST: Added loader/i386/efi/linux.c,
39550 loader/i386/efi/linux_normal.c and
39551 include/grub/i386/efi/loader.h.
39552
39553 * loader/i386/efi/linux.c: New file.
39554 * loader/i386/efi/linux_normal.c: Likewise.
39555 * include/grub/i386/efi/loader.h: Likewise.
39556
89a7d726 395572006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39558
39559 * commands/blocklist.c: New file.
39560
39561 * DISTLIST: Added commands/blocklist.c.
39562
39563 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39564 color for the background, and a darker color for the foreground.
89a7d726 39565 (grub_console_checkkey): Return READ_KEY.
39566 (grub_console_cls): Set the background to
39567 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39568
39569 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39570
39571 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39572 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39573
39574 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39575 prototype.
39576
39577 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39578 BG. The spec is wrong again.
39579
39580 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39581 prototype.
39582 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39583
39584 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39585 commands/blocklist.c.
39586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39587
89a7d726 39588 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39589 (blocklist_mod_SOURCES): New variable.
39590 (blocklist_mod_CFLAGS): Likewise.
39591 (blocklist_mod_LDFLAGS): Likewise.
39592
75c8f258 395932006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39594
39595 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39596 duplication.
39597 (lba_mode): Use %eax more intensively to reduce the code size.
39598
da2eb181 395992006-05-20 Marco Gerards <marco@gnu.org>
39600
39601 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39602
39603 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39604 for `menuentry'.
39605 (script): Accept leading newlines.
39606 (newlines): New rule to describe 0 or more newlines.
39607 (commands): Accept `command' with trailing newline. Fixed the
39608 order in which arguments were passed to `grub_script_add_cmd'.
39609 Accept commands separated by newlines.
39610 (function): Changed to accept newlines.
39611 (menuentry) Rewritten.
39612
39613 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39614 front of the list, instead of to the end.
39615
577b4050 396162006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39617
39618 * util/i386/pc/grub-install.in (bindir): New variable.
39619 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39620 Shaver <lbgwjl@gmail.com>.
39621
0d6e1189 396222006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39623
39624 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39625 grub/machine/linux.h
39626 * loader/i386/pc/linux.c: Likewise.
39627
39628 * include/grub/i386/pc/linux.h: Moved to ...
39629 * include/grub/i386/linux.h: ... here.
39630
39631 * include/grub/i386/linux.h (struct linux_kernel_params): New
39632 struct.
f19dbdb7 39633
31b86e9f 396342006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39635
39636 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39637 checking.
39638 (grub_video_vbe_blit_glyph): Likewise.
39639 (grub_video_vbe_blit_bitmap): Likewise.
39640 (grub_video_vbe_blit_render_target): Likewise.
39641
83b984de 396422006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39643
39644 * configure.ac (--with-platform): Properly quote the square
39645 brackets.
39646
5f0413bd 396472006-05-08 Marco Gerards <marco@gnu.org>
39648
39649 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39650 this...
39651 (kernel_elf_HEADERS): ...to this. Updated all users.
39652 (grubof_symlist.c): Renamed from this...
39653 (kernel_elf_symlist.c): ...to this. Updated all users.
39654 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39655 (grubof_SOURCES): Renamed from this...
39656 (kernel_elf_SOURCES): ...to this.
39657 (grubof_HEADERS): Renamed from this...
39658 (kernel_elf_HEADERS): ...to this.
39659 (grubof_CFLAGS): Renamed from this...
39660 (kernel_elf_CFLAGS): ...to this.
39661 (grubof_ASFLAGS): Renamed from this...
39662 (kernel_elf_ASFLAGS): ...to this.
39663 (grubof_LDFLAGS): Renamed from this...
39664 (kernel_elf_LDFLAGS): ...to this.
39665
39666 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39667 this...
39668 (kernel_elf_HEADERS): ...to this. Updated all users.
39669 (grubof_symlist.c): Renamed from this...
39670 (kernel_elf_symlist.c): ...to this. Updated all users.
39671 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39672 (grubof_SOURCES): Renamed from this...
39673 (kernel_elf_SOURCES): ...to this.
39674 (grubof_HEADERS): Renamed from this...
39675 (kernel_elf_HEADERS): ...to this.
39676 (grubof_CFLAGS): Renamed from this...
39677 (kernel_elf_CFLAGS): ...to this.
39678 (grubof_ASFLAGS): Renamed from this...
39679 (kernel_elf_ASFLAGS): ...to this.
39680 (grubof_LDFLAGS): Renamed from this...
39681 (kernel_elf_LDFLAGS): ...to this.
39682
39683 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39684 `kernel.elf' instead of `grubof'.
39685
05568c2e 396862006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39687
39688 Add --with-platform to configure. Use pkglibdir instead of
39689 pkgdatadir. This is reported by Roger Leigh.
39690
39691 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39692 (host_vendor): Likewise.
39693 (host_os): Likewise.
39694 (pkgdatadir): Likewise.
39695 (platform): New variable.
39696 (pkglibdir): Likewise.
39697 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39698
05568c2e 39699 * util/i386/pc/grub-install.in (datadir): Removed.
39700 (host_vendor): Likewise.
39701 (host_os): Likewise.
39702 (pkgdatadir): Likewise.
39703 (platform): New variable.
39704 (pkglibdir): Likewise.
39705 Use PKGLIBDIR instead of PKGDATADIR.
39706
39707 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39708 instead of GRUB_DATADIR.
39709 (main): Likewise.
39710 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39711 (main): Likewise.
39712 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39713 (main): Likewise.
39714
39715 * configure.ac (--with-platform): New option.
39716 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39717
39718 * Makefile.in: Include a makefile based on PLATFORM instead of
39719 HOST_VENDOR.
39720 (pkgdatadir): Not appended by the machine type.
39721 (pkglibdir): Appended by the machine type.
39722 (host_vendor): Removed.
39723 (platform): New variable.
39724 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39725 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39726 (uninstall): Likewise.
39727
4e93851c 397282006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39729
39730 Use the environment context in the menu. Remove the commands
39731 "default" and "timeout", and use variables instead.
f19dbdb7 39732
4e93851c 39733 * normal/menu.c: Include grub/env.h.
39734 (print_entry): Cast TITLE to silence gcc.
39735 (get_timeout): New function.
39736 (set_timeout): Likewise.
39737 (get_entry_number): Likewise.
39738 (run_menu): Use a default entry, a fallback entry and a timeout
39739 in the environment variables "default", "fallback" and
39740 "timeout". Also, tweak the default entry if it is not within the
39741 current menu entries.
39742 (grub_menu_run): Use a fallback entry in the environment variable
39743 "fallback".
39744
39745 * normal/main.c (read_config_file): Do not initialize
39746 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39747 NEWMENU->TIMEOUT.
39748 (grub_normal_execute): Use a data slot to store the menu.
39749
39750 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39751 fallback_entry and timeout.
39752 (struct grub_menu_list): Removed.
39753 (grub_menu_list_t): Likewise.
39754 (struct grub_context): Likewise.
39755 (grub_context_t): Likewise.
39756 (grub_context_get): Likewise.
39757 (grub_context_get_current_menu): Likewise.
39758 (grub_context_push_menu): Likewise.
39759 (grub_context_pop_menu): Likewise.
39760 (grub_default_init): Likewise.
39761 (grub_default_fini): Likewise.
39762 (grub_timeout_init): Likewise.
39763 (grub_timeout_fini): Likewise.
39764
39765 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39766 and timeout.mod.
39767 (normal_mod_SOURCES): Removed normal/context.c.
39768
39769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39770 commands/default.c, commands/timeout.c and normal/context.c.
39771 (normal_mod_SOURCES): Removed normal/context.c.
39772
39773 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39774 commands/timeout.c and normal/context.c.
39775 (normal_mod_SOURCES): Removed normal/context.c.
39776
39777 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39778 commands/default.c, commands/timeout.c and normal/context.c.
39779 (normal_mod_SOURCES): Removed normal/context.c.
39780
39781 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39782 timeout.mod.
39783 (default_mod_SOURCES): Removed.
39784 (default_mod_CFLAGS): Likewise.
39785 (default_mod_LDFLAGS): Likewise.
39786 (timeout_mod_SOURCES): Removed.
39787 (timeout_mod_CFLAGS): Likewise.
39788 (timeout_mod_LDFLAGS): Likewise.
39789
39790 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39791 normal/context.c.
39792
39793 * commands/default.c: Removed.
39794 * commands/timeout.c: Likewise.
39795 * normal/context.c: Likewise.
39796
1eb9cc1d 397972006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39798
39799 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39800
385bd9c1 398012006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39802
39803 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39804 "next" to "prev" for readability.
39805 (struct grub_env_sorted_var): New struct.
39806 (grub_env_context): Renamed to ...
39807 (initial_context): ... this.
39808 (grub_env_var_context): Renamed to ...
39809 (current_context): ... this.
39810 (grub_env_find): Look only at CURRENT_CONTEXT.
39811 (grub_env_context_open): Rewritten to copy exported variables from
39812 previous context.
39813 (grub_env_context_close): Rewritten according to the new
39814 scheme. Also, add an assertion to prevent the initial context from
39815 removed.
39816 (grub_env_insert): Removed the code for the sorted list.
39817 (grub_env_remove): Likewise.
39818 (grub_env_export): Simply mark the variable with
39819 GRUB_ENV_VAR_GLOBAL.
39820 (grub_env_set): A cosmetic change for naming consistency.
39821 (grub_env_get): Likewise.
39822 (grub_env_unset): Likewise.
39823 (grub_env_iterate): Rewritten to sort variables within this
39824 function.
39825 (grub_register_variable_hook): Fixed for naming consistency. Call
39826 grub_env_find again, only if NAME is not found at the first time.
39827 (mangle_data_slot_name): New function.
39828 (grub_env_set_data_slot): Likewise.
39829 (grub_env_get_data_slot): Likewise.
39830 (grub_env_unset_data_slot): Likewise.
39831
39832 * include/grub/env.h (grub_env_var_type): New enum.
39833 (GRUB_ENV_VAR_LOCAL): New constant.
39834 (GRUB_ENV_VAR_GLOBAL): Likewise.
39835 (GRUB_ENV_VAR_DATA): Likewise.
39836 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39837 "type".
39838 (grub_env_set): Replace VAR with NAME for consistency.
39839 (grub_register_variable_hook): Likewise.
39840 (grub_env_export): Specify the name of the argument.
39841 (grub_env_set_data_slot): New prototype.
39842 (grub_env_get_data_slot): Likewise.
39843 (grub_env_unset_data_slot): Likewise.
39844
7f362539 398452006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39846
39847 Extend the loader so that GRUB can accept a loader which comes
39848 back to GRUB when a loaded image exits. Also, this change adds
39849 support for a chainloader on EFI.
f19dbdb7 39850
7f362539 39851 * term/efi/console.c: Include grub/misc.h.
39852 (grub_console_checkkey): Display a scan code on the top for
39853 debugging. This will be removed once the EFI port gets stable.
39854 Correct the scan code mapping.
39855
39856 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39857 allocate memory from larger regions, in order to reduce the number
39858 of allocated regions. Otherwise, the MacOSX loader panics.
39859 (filter_memory_map): Avoid less than 1MB for compatibility with
39860 other loaders.
39861 (add_memory_regions): Allocate from the tail of a region, if
39862 possible, to avoid allocating a region near to 1MB, for the MacOSX
39863 loader.
39864
39865 * kern/efi/init.c (grub_efi_set_prefix): Specify
39866 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39867
39868 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39869 argument IMAGE_HANDLE and specify it to get a loaded image.
39870 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39871 grub_efi_get_loaded_image.
fe6b695a 39872 (grub_efi_get_filename): Divide the length by the size of
7f362539 39873 grub_efi_char16_t.
39874 (grub_efi_get_device_path): New function.
39875 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39876 the length by the size of grub_efi_char16_t for a file path device
39877 path node.
39878
39879 * kern/loader.c (grub_loader_noreturn): New variable.
39880 (grub_loader_set): Accept a new argument NORETURN. Set
39881 GRUB_LOADER_NORETURN to NORETURN.
39882 All callers changed.
39883 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39884 grub_machine_fini.
39885
39886 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39887 prototype.
39888 (grub_efi_get_loaded_image): Take an argument to specify an image
39889 handle.
39890
39891 * include/grub/loader.h (grub_loader_set): Added one more argument
39892 NORETURN.
39893
39894 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39895 instead of grub_efi_open_protocol.
39896 (grub_efidisk_get_device_name): Likewise.
39897 (grub_efidisk_close): Print a newline.
39898 (grub_efidisk_get_device_handle): Fixed to use
39899 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39900 GRUB_EFI_DEVICE_PATH_TYPE.
39901
39902 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39903 * kern/efi/efi.c (device_path_guid): ... here.
39904
39905 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39906 chain.mod.
39907 (kernel_mod_HEADERS): Added efi/disk.h.
39908 (_chain_mod_SOURCES): New variable.
39909 (_chain_mod_CFLAGS): Likewise.
39910 (_chain_mod_LDFLAGS): Likewise.
39911 (chain_mod_SOURCES): Likewise.
39912 (chain_mod_CFLAGS): Likewise.
39913 (chain_mod_LDFLAGS): Likewise.
39914
39915 * DISTLIST: Added include/grub/efi/chainloader.h,
39916 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39917
39918 * include/grub/efi/chainloader.h: New file.
39919 * loader/efi/chainloader.c: Likewise.
39920 * loader/efi/chainloader_normal.c: Likewise.
39921
c0111d6e 399222006-04-30 Marco Gerards <marco@gnu.org>
39923
39924 * commands/configfile.c (grub_cmd_source): New function.
39925 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39926 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39927
df5341da 399282006-04-30 Marco Gerards <marco@gnu.org>
39929
39930 * normal/execute.c (grub_script_execute_cmd): Change the return
39931 type to `grub_err_t'. Correctly return the error.
39932 (grub_script_execute_cmdline): In case a command line is not a
39933 command or a function, try to interpret it as an assignment.
39934
f85934bd 399352006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39936
39937 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39938 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39939 skip a node whose name is obviously invalid as UTF-16,
39940 i.e. contains a NUL character. Stop the iteration when the last
39941 directory entry is found. Instead of using the return value of
39942 grub_hfsplus_btree_iterate_node, store the value in RET and use
39943 it, because the iterator can be stopped by the last directory
39944 entry.
39945
8f8a2cf8 399462006-04-30 Marco Gerards <marco@gnu.org>
39947
39948 * include/grub/env.h (grub_env_export): New prototype. Reported
39949 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39950
a27e84ce 399512006-04-30 Marco Gerards <marco@gnu.org>
39952
39953 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39954 size of the extents in a catalog file record.
39955
eaef0553 399562006-04-29 Marco Gerards <marco@gnu.org>
39957
39958 * commands/configfile.c (grub_cmd_configfile): Execute the
39959 configfile within its own context.
39960
39961 * include/grub/env.h (grub_env_context_open): New prototype.
39962 (grub_env_context_close): Likewise.
39963
39964 * kern/env.c (grub_env): Removed.
39965 (grub_env_sorted): Likewise.
39966 (grub_env_context): New variable.
39967 (grub_env_var_context): Likewise.
39968 (grub_env_find): Search both the active context and the global
39969 context.
39970 (grub_env_context_open): New function.
39971 (grub_env_context_close): Likewise.
39972 (grub_env_insert): Likewise.
39973 (grub_env_remove): Likewise.
39974 (grub_env_export): Likewise.
39975 (grub_env_set): Changed to use helper functions to avoid code
39976 duplication.
39977 (grub_env_iterate): Rewritten so both the current context and the
39978 global context are being used.
39979
39980 * normal/command.c (export_command): New function.
39981 (grub_command_init): Register the `export' function.
39982
7b455f4d 399832006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39984
39985 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39986 explicitly to suppress gcc's warnings.
39987 * fs/fat.c (grub_fat_find_dir): Likewise.
39988 (grub_fat_label): Likewise.
39989 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39990 (grub_xfs_mount): Likewise.
39991 (grub_xfs_label): Likewise.
39992 * fs/affs.c (grub_affs_mount): Likewise.
39993 (grub_affs_label): Likewise.
39994 (grub_affs_iterate_dir): Likewise.
39995 * fs/sfs.c (grub_sfs_mount): Likewise.
39996 (grub_sfs_iterate_dir): Likewise.
39997 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39998 * fs/hfs.c (grub_hfs_mount): Likewise.
39999 (grub_hfs_cmp_catkeys): Likewise.
40000 (grub_hfs_find_dir): Likewise.
40001 (grub_hfs_dir): Likewise.
40002 (grub_hfs_label): Likewise.
40003 * fs/jfs.c (grub_jfs_mount): Likewise.
40004 (grub_jfs_opendir): Likewise.
40005 (grub_jfs_getent): Likewise.
40006 (grub_jfs_lookup_symlink): Likewise.
40007 (grub_jfs_label): Likewise.
40008 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40009 (grub_hfsplus_iterate_dir): Likewise.
40010 (grub_hfsplus_btree_iterate_node): Made static.
40011
40012 * util/grub-emu.c (prefix): New variable.
40013 (grub_machine_set_prefix): New function.
40014 (main): Do not set the environment variable "prefix" here. Only
40015 set PREFIX, which is used later by grub_machine_set_prefix.
40016
40017 * include/grub/video.h: Do not include grub/symbol.h.
40018 (grub_video_register): Not exported. This symbol is not defined in
40019 the kernel.
40020 (grub_video_unregister): Likewise.
40021 (grub_video_iterate): Likewise.
40022 (grub_video_setup): Likewise.
40023 (grub_video_restore): Likewise.
40024 (grub_video_get_info): Likewise.
40025 (grub_video_get_blit_format): Likewise.
40026 (grub_video_set_palette): Likewise.
40027 (grub_video_get_palette): Likewise.
40028 (grub_video_set_viewport): Likewise.
40029 (grub_video_get_viewport): Likewise.
40030 (grub_video_map_color): Likewise.
40031 (grub_video_map_rgb): Likewise.
40032 (grub_video_map_rgba): Likewise.
40033 (grub_video_fill_rect): Likewise.
40034 (grub_video_blit_glyph): Likewise.
40035 (grub_video_blit_bitmap): Likewise.
40036 (grub_video_blit_render_target): Likewise.
40037 (grub_video_scroll): Likewise.
40038 (grub_video_swap_buffers): Likewise.
40039 (grub_video_create_render_target): Likewise.
40040 (grub_video_delete_render_target): Likewise.
40041 (grub_video_set_active_render_target): Likewise.
40042
40043 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40044 Undefined.
40045 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40046
40047 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40048 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40049 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40050 instead of $(srcdir)/genkernsyms.sh.
40051
40052 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40053 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40054 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40055 instead of $(srcdir)/genkernsyms.sh.
40056
40057 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40058 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40059 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40060 instead of $(srcdir)/genkernsyms.sh.
40061
40062 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40063 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40064 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40065 instead of $(srcdir)/genkernsyms.sh.
40066
40067 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40068 genkernsyms.sh.
40069
40070 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40071 genkernsyms.sh.
40072 (gensymlist.sh): New target.
40073 (genkernsyms.sh): Likewise.
40074
40075 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40076 genkernsyms.sh.in and gensymlist.sh.in.
40077
40078 * genkernsyms.sh: Removed.
40079 * gensymlist.sh: Likewise.
f19dbdb7 40080
7b455f4d 40081 * genkernsyms.sh.in: New file.
40082 * gensymlist.sh.in: Likewise.
40083
1885bb27 400842006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40085
40086 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40087 clobber "prefix", since we may have already set it manually.
40088
71538dff 400892006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40090
40091 * kern/misc.c (abort): New alias for grub_abort.
40092
2965c7cc 400932006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40094
40095 A new machine-specific function "grub_machine_set_prefix" is
40096 defined. This is called after loading modules, so that a prefix
40097 initialization can use modules. Also, this change adds an
40098 intensive debugging feature for the memory manager via the
40099 configure option "--enable-mm-debug".
f19dbdb7 40100
2965c7cc 40101 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40102 PART.LEN.
40103
40104 * kern/sparc64/ieee1275/init.c (abort): Removed.
40105 (grub_stop): Likewise.
40106 (grub_exit): New function.
40107 (grub_set_prefix): Renamed to ...
40108 (grub_machine_set_prefix): ... this.
40109 (grub_machine_init): Do not call grub_set_prefix.
40110
40111 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40112 (grub_machine_set_prefix): ... this.
40113 (grub_machine_init): Do not call grub_set_prefix.
40114
40115 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40116 (grub_machine_init): Do not set the prefix here.
40117
40118 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40119
40120 * kern/efi/init.c: Include grub/mm.h.
40121 (grub_efi_set_prefix): New function.
40122
40123 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40124 (grub_efi_get_filename): New function.
40125 (grub_print_device_path): Renamed to ...
40126 (grub_efi_print_device_path): ... this.
40127
40128 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40129 [MM_DEBUG] (grub_realloc): Likewise.
40130 [MM_DEBUG] (grub_free): Likewise.
40131 [MM_DEBUG] (grub_memalign): Likewise.
40132 [MM_DEBUG] (grub_mm_debug): New variable.
40133 [MM_DEBUG] (grub_debug_malloc): New function.
40134 [MM_DEBUG] (grub_debug_free): New function.
40135 [MM_DEBUG] (grub_debug_realloc): New function.
40136 [MM_DEBUG] (grub_debug_memalign): New function.
40137
40138 * kern/misc.c (grub_abort): Print a newline to distinguish
40139 the message.
40140
40141 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40142 grub_set_root_dev after loading modules. This is necessary when
40143 setting a prefix depends on modules.
40144
40145 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40146 (grub_efi_print_device_path): ... this.
40147 (grub_efi_get_filename): New prototype.
40148 (grub_efi_set_prefix): Likewise.
40149
40150 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40151 and grub/disk.h.
40152 (grub_efidisk_get_device_handle): New prototype.
40153 (grub_efidisk_get_device_name): Likewise.
40154
40155 * include/grub/mm.h: Include config.h.
40156 (MM_DEBUG): Removed.
40157 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40158 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40159 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40160 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40161 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40162 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40163 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40164 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40165 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40166
40167 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40168
40169 * disk/efi/efidisk.c: Include grub/partition.h.
40170 (iterate_child_devices): New function.
40171 (add_device): First, compare only last device path nodes, so that
40172 devices are sorted by the types.
40173 (grub_efidisk_get_device_handle): New function.
40174 (grub_efidisk_get_device_name): Likewise.
40175
40176 * configure.ac (--enable-mm-debug): New option to enable the
40177 memory manager debugging feature. This makes the binary much
40178 bigger, so is disabled by default.
40179
9cacaa17 401802006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40181
40182 Use grub_abort instead of grub_stop, and grub_exit must be
40183 define in each architecture now. Also, this change adds support
40184 for EFI disks.
f19dbdb7 40185
9cacaa17 40186 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40187 (grub_getkey): New function.
40188 (grub_term_get_current): Likewise.
40189
40190 * util/i386/pc/grub-setup.c: Include grub/term.h.
40191 (grub_getkey): New function.
40192 (grub_term_get_current): Likewise.
40193
40194 * util/misc.c (grub_stop): Renamed to ...
40195 (grub_exit): ... this.
40196
40197 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40198 (grub_exit): ... this.
40199 (grub_machine_init): Use grub_abort instead of abort.
40200 (grub_stop): Removed.
40201
40202 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40203 abort.
40204
40205 * kern/i386/pc/startup.S (grub_exit): New function.
40206 (cold_reboot): New label.
40207
40208 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40209 (grub_efi_init): Call grub_efidisk_init.
40210 (grub_efi_fini): Call grub_efidisk_fini.
40211
40212 * kern/efi/efi.c: Include grub/mm.h.
40213 (grub_efi_console_control_guid): Renamed to ...
40214 (console_control_guid): ... this.
40215 (grub_efi_loaded_image_guid): Renamed to ...
40216 (loaded_image_guid): ... this.
40217 (grub_efi_locate_handle): New function.
40218 (grub_efi_open_protocol): Likewise.
40219 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40220 GRUB_EFI_CONSOLE_CONTROL_GUID.
40221 (grub_efi_exit): Removed.
40222 (grub_stop): Likewise.
40223 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40224 (grub_exit): New function.
40225 (grub_print_device_path): Likewise.
40226
40227 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40228 (grub_enter_rescue_mode): Register "exit".
40229
40230 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40231 (grub_abort): New function.
40232
40233 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40234
40235 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40236
40237 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40238
40239 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40240 (grub_print_device_path): New prototype.
40241 (grub_efi_locate_handle): Likewise.
40242 (grub_efi_open_protocol): Likewise.
40243
40244 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40245 * disk/efi/efidisk.c: Likewise.
40246
40247 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40248
40249 * include/grub/efi/console_control.h
40250 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40251
40252 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40253 last 8 bytes as an array.
40254 (GRUB_EFI_DISK_IO_GUID): New macro.
40255 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40256 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40257 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40258 grub_uint8_t.
40259 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40260 (struct grub_efi_device_path): Rename the member "sub_type" to
40261 "subtype".
40262 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40263 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40264 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40265 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40266 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40267 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40268 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40269 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40270 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40271 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40272 (struct grub_efi_pci_device_path): New structure.
40273 (grub_efi_pci_device_path_t): New type.
40274 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40275 (struct grub_efi_pccard_device_path): New structure.
40276 (grub_efi_pccard_device_path_t): New type.
40277 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40278 (struct grub_efi_memory_mapped_device_path): New structure.
40279 (grub_efi_memory_mapped_device_path_t): New type.
40280 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40281 (struct grub_efi_vendor_device_path): New structure.
40282 (grub_efi_vendor_device_path_t): New type.
40283 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40284 (struct grub_efi_controller_device_path): New structure.
40285 (grub_efi_controller_device_path_t): New type.
40286 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40287 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40288 (struct grub_efi_acpi_device_path): New structure.
40289 (grub_efi_acpi_device_path_t): New type.
40290 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40291 (struct grub_efi_expanded_acpi_device_path): New structure.
40292 (grub_efi_expanded_acpi_device_path_t): New type.
40293 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40294 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40295 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40296 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40297 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40298 (struct grub_efi_atapi_device_path): New structure.
40299 (grub_efi_atapi_device_path_t): New type.
40300 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40301 (struct grub_efi_fibre_channel_device_path): New structure.
40302 (grub_efi_fibre_channel_device_path_t): New type.
40303 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40304 (struct grub_efi_1394_device_path): New structure.
40305 (grub_efi_1394_device_path_t): New type.
40306 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40307 (struct grub_efi_usb_device_path): New structure.
40308 (grub_efi_usb_device_path_t): New type.
40309 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40310 (struct grub_efi_usb_class_device_path): New structure.
40311 (grub_efi_usb_class_device_path_t): New type.
40312 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40313 (struct grub_efi_i2o_device_path): New structure.
40314 (grub_efi_i2o_device_path_t): New type.
40315 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40316 (struct grub_efi_mac_address_device_path): New structure.
40317 (grub_efi_mac_address_device_path_t): New type.
40318 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40319 (struct grub_efi_ipv4_device_path): New structure.
40320 (grub_efi_ipv4_device_path_t): New type.
40321 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40322 (struct grub_efi_ipv6_device_path): New structure.
40323 (grub_efi_ipv6_device_path_t): New type.
40324 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40325 (struct grub_efi_infiniband_device_path): New structure.
40326 (grub_efi_infiniband_device_path_t): New type.
40327 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40328 (struct grub_efi_uart_device_path): New structure.
40329 (grub_efi_uart_device_path_t): New type.
40330 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40331 (struct grub_efi_vendor_messaging_device_path): New structure.
40332 (grub_efi_vendor_messaging_device_path_t): New type.
40333 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40334 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40335 (struct grub_efi_hard_drive_device_path): New structure.
40336 (grub_efi_hard_drive_device_path_t): New type.
40337 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40338 (struct grub_efi_cdrom_device_path): New structure.
40339 (grub_efi_cdrom_device_path_t): New type.
40340 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40341 (struct grub_efi_vendor_media_device_path): New structure.
40342 (grub_efi_vendor_media_device_path_t): New type.
40343 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40344 (struct grub_efi_file_path_device_path): New structure.
40345 (grub_efi_file_path_device_path_t): New type.
40346 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40347 (struct grub_efi_protocol_device_path): New structure.
40348 (grub_efi_protocol_device_path_t): New type.
40349 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40350 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40351 (struct grub_efi_bios_device_path): New structure.
40352 (grub_efi_bios_device_path_t): New type.
40353 (struct grub_efi_disk_io): New structure.
40354 (grub_efi_disk_io_t): New type.
40355 (struct grub_efi_block_io_media): New structure.
40356 (grub_efi_block_io_media_t): New type.
40357 (struct grub_efi_block_io): New structure.
40358 (grub_efi_block_io_t): New type.
40359
40360 * include/grub/misc.h (grub_stop): Removed.
40361 (grub_exit): New prototype.
40362 (grub_abort): Likewise.
40363
40364 * include/grub/disk.h (enum grub_disk_dev_id): Added
40365 GRUB_DISK_DEVICE_EFIDISK_ID.
40366
40367 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40368 disk/efi/efidisk.c.
40369 (kernel_syms.lst): Remove the target if an error occurs.
40370
49986a9f 403712006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40372
40373 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40374 as it was simply too buggy.
40375
970d3b8a 403762006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40377
40378 * kern/misc.c (grub_lltoa): New function.
40379 (grub_vsprintf): Added support for the long long suffix,
40380 i.e. "ll".
40381
ff04ec24 403822006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40383
40384 * Makefile.in (LDFLAGS): Add variable.
40385 (LD): Remove variable.
40386 * configure.ac: Add -m32 to LDFLAGS.
40387 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40388 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40389 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40390 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40391 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40392 variables.
40393 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40394 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40395 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40396
37e5e1a4 403972006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40398
40399 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40400 length for unknown glyph.
40401
c352d8dd 404022006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40403
2eab1c0d 40404 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40405
2eab1c0d 40406 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40407 completely. Accept one more argument DIR. The caller has changed.
40408
40409 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40410
40411 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40412 (grub_efi_loaded_image_guid): New variable.
40413 (grub_efi_get_loaded_image): New function.
40414 (grub_arch_modules_addr): Likewise.
40415
40416 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40417 prototype.
40418
40419 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40420 (struct grub_efi_loaded_image): New structure.
40421 (grub_efi_loaded_image_t): New type.
40422
404232006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40424
c352d8dd 40425 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40426 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40427 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40428
6d01d6b4 404292006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40430
40431 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40432
976a4ea0 404332006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40434
40435 * DISTLIST: Added include/grub/efi/console.h,
40436 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40437 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40438
40439 * include/grub/efi/console.h: New file.
40440 * include/grub/efi/time.h: Likewise.
40441 * include/grub/i386/efi/kernel.h: Likewise.
40442 * kern/efi/init.c: Likewise.
40443 * kern/efi/mm.c: Likewise.
40444 * term/efi/console.c: Likewise.
f19dbdb7 40445
976a4ea0 40446 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40447 (grub_stop): Removed.
40448 (grub_get_rtc): Likewise.
40449 (grub_machine_init): Simply call grub_efi_init.
40450 (grub_machine_fini): Call grub_efi_fini.
40451
40452 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40453 (grub_efi_output_string): Removed.
40454 (grub_efi_stall): New function.
40455 (grub_stop): Likewise.
40456 (grub_get_rtc): Likewise.
40457
40458 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40459 (grub_efi_stall): New prototype.
40460 (grub_efi_allocate_pages): Likewise.
40461 (grub_efi_free_pages): Likewise.
40462 (grub_efi_get_memory_map): Likewise.
40463 (grub_efi_mm_init): Likewise.
40464 (grub_efi_mm_fini): Likewise.
40465 (grub_efi_init): Likewise.
40466 (grub_efi_fini): Likewise.
40467
40468 * include/grub/i386/efi/time.h: Do not include
40469 grub/symbol.h. Include grub/efi/time.h.
40470 (GRUB_TICKS_PER_SECOND): Removed.
40471 (grub_get_rtc): Likewise.
40472
40473 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40474 Added padding. The EFI spec is buggy.
40475 (GRUB_EFI_BLACK): New macro.
40476 (GRUB_EFI_BLUE): Likewise.
40477 (GRUB_EFI_GREEN): Likewise.
40478 (GRUB_EFI_CYAN): Likewise.
40479 (GRUB_EFI_RED): Likewise.
40480 (GRUB_EFI_MAGENTA): Likewise.
40481 (GRUB_EFI_BROWN): Likewise.
40482 (GRUB_EFI_LIGHTGRAY): Likewise.
40483 (GRUB_EFI_BRIGHT): Likewise.
40484 (GRUB_EFI_DARKGRAY): Likewise.
40485 (GRUB_EFI_LIGHTBLUE): Likewise.
40486 (GRUB_EFI_LIGHTGREEN): Likewise.
40487 (GRUB_EFI_LIGHTCYAN): Likewise.
40488 (GRUB_EFI_LIGHTRED): Likewise.
40489 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40490 (GRUB_EFI_YELLOW): Likewise.
40491 (GRUB_EFI_WHITE): Likewise.
40492 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40493 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40494 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40495 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40496 (GRUB_EFI_BACKGROUND_RED): Likewise.
40497 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40498 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40499 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40500 (GRUB_EFI_TEXT_ATTR): Likewise.
40501
40502 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40503 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40504 (kernel_mod_HEADERS): Added efi/time.h.
40505
83709125 405062006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40507
40508 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40509 include/grub/efi/api.h, include/grub/efi/console_control.h,
40510 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40511 include/grub/i386/efi/time.h, kern/efi/efi.c,
40512 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40513 and util/i386/efi/grub-mkimage.c.
40514
40515 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40516
40517 * genmk.rb (PModule#rule): Do not export symbols if
40518 #{prefix}_EXPORTS is set to "no".
40519
40520 * conf/i386-efi.mk: New file.
40521 * conf/i386-efi.rmk: Likewise.
40522 * include/grub/efi/api.h: Likewise.
40523 * include/grub/efi/console_control.h: Likewise.
40524 * include/grub/efi/efi.h: Likewise.
40525 * include/grub/efi/pe32.h: Likewise.
40526 * include/grub/i386/efi/time.h: Likewise.
40527 * kern/efi/efi.c: Likewise.
40528 * kern/i386/efi/init.c: Likewise.
40529 * kern/i386/efi/startup.S: Likewise.
40530 * util/i386/efi/grub-mkimage.c: Likewise.
40531
405322006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40533
40534 * include/grub/script.h: Include <grub/parser.h> and
40535 "grub_script.tab.h".
40536 (struct grub_lexer_param): New struct.
40537 (struct grub_parser_param): Likewise.
40538 (grub_script_create_arglist): Pass the state in an argument.
40539 (grub_script_add_arglist): Likewise.
40540 (grub_script_create_cmdline): Likewise.
40541 (grub_script_create_cmdblock): Likewise.
40542 (grub_script_create_cmdif): Likewise.
40543 (grub_script_create_cmdmenu): Likewise.
40544 (grub_script_add_cmd): Likewise.
40545 (grub_script_arg_add): Likewise.
40546 (grub_script_lexer_ref): Likewise.
40547 (grub_script_lexer_deref): Likewise.
40548 (grub_script_lexer_record_start): Likewise.
40549 (grub_script_lexer_record_stop): Likewise.
40550 (grub_script_mem_record): Likewise.
40551 (grub_script_mem_record_stop): Likewise.
40552 (grub_script_malloc): Likewise.
40553 (grub_script_yylex): Likewise.
40554 (grub_script_yyparse): Likewise.
40555 (grub_script_yyerror): Likewise.
40556 (grub_script_yylex): Likewise.
40557 (grub_script_lexer_init): Return the state.
40558
40559 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40560 (grub_script_lexer_done): Likewise.
40561 (grub_script_lexer_getline): Likewise.
40562 (grub_script_lexer_refs): Likewise.
40563 (script): Likewise.
40564 (newscript): Likewise.
40565 (record): Likewise.
40566 (recording): Likewise.
40567 (recordpos): Likewise.
40568 (recordlen): Likewise.
40569 (grub_script_lexer_init): Return the state instead of setting
40570 global variables.
40571 (grub_script_lexer_ref): Use the newly added argument for state
40572 instead of globals.
40573 (grub_script_lexer_deref): Likewise.
40574 (grub_script_lexer_record_start): Likewise.
40575 (grub_script_lexer_record_stop): Likewise.
40576 (recordchar): Likewise.
40577 (nextchar): Likewise.
40578 (grub_script_yylex2): Likewise.
40579 (grub_script_yylex): Likewise.
40580 (grub_script_yyerror): Likewise.
40581
40582 * normal/parser.y (func_mem): Removed variable.
40583 (menu_entry): Likewise.
40584 (err): Likewise.
40585 (%lex-param): New parser option.
40586 (%parse-param): Likewise.
40587 (script): Always return the AST.
40588 (argument): Pass the state around.
40589 (arguments): Likewise.
40590 (grubcmd): Likewise.
40591 (commands): Likewise.
40592 (function): Likewise.
40593 (menuentry): Likewise.
40594 (if_statement): Likewise.
40595 (if): Likewise.
40596
40597 * normal/script.c (grub_script_memused): Removed variable.
40598 (grub_script_parsed): Likewise.
40599 (grub_script_malloc): Added a state argument. Use that instead of
40600 global variables.
40601 (grub_script_mem_record): Likewise.
40602 (grub_script_mem_record_stop): Likewise.
40603 (grub_script_arg_add): Likewise.
40604 (grub_script_add_arglist): Likewise.
40605 (grub_script_create_cmdline): Likewise.
40606 (grub_script_create_cmdif): Likewise.
40607 (grub_script_create_cmdmenu): Likewise.
40608 (grub_script_add_cmd): Likewise.
40609 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40610
e2a8c904 406112006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40612
40613 * normal/command.c (grub_command_init): Remove the title command.
40614
40615 * normal/lexer.c (grub_script_yylex): Renamed from this...
40616 (grub_script_yylex2): ... to this.
40617 (grub_script_yylex): New function. Temporary
40618 introduced to filter some tokens.
40619 (grub_script_yyerror): Print a newline.
40620
40621 * normal/main.c (read_config_file): Output information about the
40622 lines that contain errors. Wait for a key after all lines have
40623 been processed. Don't return an empty menu.
40624
40625 * normal/parser.y (func_mem): Don't initialize.
40626 (menu_entry): Likewise.
40627 (err): New variable.
40628 (script): Don't return anything when an error was encountered.
40629 (ws, returns): Removed rules.
40630 (argument): Disabled concatenated variable support.
40631 (arguments): Remove explicit separators.
40632 (grubcmd): Likewise.
40633 (function): Likewise.
40634 (menuentry): Likewise.
40635 (if): Likewise.
40636 (commands): Likewise. Add error handling.
40637
40638 * normal/script.c (grub_script_create_cmdline): If
40639 `grub_script_parsed' is 0, assume the parser encountered an error.
40640
c9a86192 406412006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40642
40643 * configure.ac: Add support for EFI. Fix the typo
40644 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40645
70f3b243 406462006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40647
40648 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40649 foreign multibyte characters should be shown correctly.
40650
65f201ad 406512006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40652
40653 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40654 calculation.
40655 (read_config_file): Made it to close file before returning.
40656
b4b93674 406572006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40658
40659 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40660 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40661 video/i386/pc/vbefill.c.
40662
40663 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40664 video/i386/pc/vbefill.c.
40665
40666 * include/grub/video.h (grub_video_blit_format): New enum.
40667 (grub_video_mode_info): Added new member blit_format.
40668 (grub_video_get_blit_format): New function prototype.
40669
40670 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40671 function prototype.
40672 (grub_video_vbe_map_rgb): Likewise.
40673 (grub_video_vbe_unmap_color): Likewise.
40674
40675 * include/grub/i386/pc/vbeblit.h: New file.
40676
40677 * include/grub/i386/pc/vbefill.h: New file.
40678
40679 * video/video.c (grub_video_get_blit_format): New function.
40680 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40681 (grub_video_vbe_map_rgb): Likewise.
40682 (grub_video_vbe_unmap_color): Likewise.
40683
40684 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40685 optimized fills.
40686 (grub_video_vbe_blit_render_target): Changed to use more optimized
40687 blits.
40688 (grub_video_vbe_setup): Added detection for optimized settings.
40689 (grub_video_vbe_create_render_target): Likewise.
40690
40691 * video/i386/pc/vbeblit.c: New file.
40692
40693 * video/i386/pc/vbefill.c: New file.
40694
c2379b9c 406952006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40696
40697 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40698 here...
40699
40700 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40701 parsing to support both hex and dec ranges. If filename was missing
40702 show usage information.
40703
bd0d7896 407042006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40705
40706 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40707 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40708
40709 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40710 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40711 (video_mod_SOURCES): Added.
40712 (video_mod_CFLAGS): Likewise.
40713 (video_mod_LDFLAGS): Likewise.
40714 (gfxterm_mod_SOURCES): Likewise.
40715 (gfxterm_mod_CFLAGS): Likewise.
40716 (gfxterm_mod_LDFLAGS): Likewise.
40717 (videotest_mod_SOURCES): Likewise.
40718 (videotest_mod_CFLAGS): Likewise.
40719 (videotest_mod_LDFLAGS): Likewise.
40720 (vesafb_mod_SOURCES): Removed.
40721 (vesafb_mod_CFLAGS): Likewise.
40722 (vesafb_mod_LDFLAGS): Likewise.
40723 (vga_mod_SOURCES): Likewise.
40724 (vga_mod_CFLAGS): Likewise.
40725 (vga_mod_LDFLAGS): Likewise.
40726
40727 * commands/videotest.c: New file.
40728
40729 * font/manager.c (fill_with_default_glyph): Modified to use
40730 grub_font_glyph.
40731 (grub_font_get_glyph): Likewise.
40732 (fontmanager): Renamed from this...
40733 (font_manager): ... to this.
40734
40735 * include/grub/font.h (grub_font_glyph): Added new structure.
40736 (grub_font_get_glyph): Modified to use grub_font_glyph.
40737
40738 * include/grub/misc.h (grub_abs): Added as inline function.
40739
40740 * include/grub/video.h: New file.
40741
40742 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40743 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40744 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40745 (grub_vbe_get_controller_info): Renamed from this...
40746 (grub_vbe_bios_get_controller_info): ... to this.
40747 (grub_vbe_get_mode_info): Renamed from this...
40748 (grub_vbe_bios_get_mode_info): ... to this.
40749 (grub_vbe_set_mode): Renamed from this...
40750 (grub_vbe_bios_set_mode): ... to this.
40751 (grub_vbe_get_mode): Renamed from this...
40752 (grub_vbe_bios_get_mode): ... to this.
40753 (grub_vbe_set_memory_window): Renamed from this...
40754 (grub_vbe_bios_set_memory_window): ... to this.
40755 (grub_vbe_get_memory_window): Renamed from this...
40756 (grub_vbe_bios_get_memory_window): ... to this.
40757 (grub_vbe_set_scanline_length): Renamed from this...
40758 (grub_vbe_set_scanline_length): ... to this.
40759 (grub_vbe_get_scanline_length): Renamed from this...
40760 (grub_vbe_bios_get_scanline_length): ... to this.
40761 (grub_vbe_set_display_start): Renamed from this...
40762 (grub_vbe_bios_set_display_start): ... to this.
40763 (grub_vbe_get_display_start): Renamed from this...
40764 (grub_vbe_bios_get_display_start): ... to this.
40765 (grub_vbe_set_palette_data): Renamed from this...
40766 (grub_vbe_bios_set_palette_data): ... to this.
40767 (grub_vbe_set_pixel_rgb): Removed.
40768 (grub_vbe_set_pixel_index): Likewise.
40769
40770 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40771 from this...
40772 (grub_vbe_bios_get_controller_info): ... to this.
40773 (grub_vbe_get_mode_info): Renamed from this...
40774 (grub_vbe_bios_get_mode_info): ... to this.
40775 (grub_vbe_set_mode): Renamed from this...
40776 (grub_vbe_bios_set_mode): ... to this.
40777 (grub_vbe_get_mode): Renamed from this...
40778 (grub_vbe_bios_get_mode): ... to this.
40779 (grub_vbe_set_memory_window): Renamed from this...
40780 (grub_vbe_bios_set_memory_window): ... to this.
40781 (grub_vbe_get_memory_window): Renamed from this...
40782 (grub_vbe_bios_get_memory_window): ... to this.
40783 (grub_vbe_set_scanline_length): Renamed from this...
40784 (grub_vbe_set_scanline_length): ... to this.
40785 (grub_vbe_get_scanline_length): Renamed from this...
40786 (grub_vbe_bios_get_scanline_length): ... to this.
40787 (grub_vbe_set_display_start): Renamed from this...
40788 (grub_vbe_bios_set_display_start): ... to this.
40789 (grub_vbe_get_display_start): Renamed from this...
40790 (grub_vbe_bios_get_display_start): ... to this.
40791 (grub_vbe_set_palette_data): Renamed from this...
40792 (grub_vbe_bios_set_palette_data): ... to this.
40793 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40794 getting corrupted after calling it. Added more pushes and pops.
40795 (grub_vbe_bios_set_mode): Likewise.
40796 (grub_vbe_bios_get_mode): Likewise.
40797 (grub_vbe_bios_get_memory_window): Likewise.
40798 (grub_vbe_bios_set_scanline_length): Likewise.
40799 (grub_vbe_bios_get_scanline_length): Likewise.
40800 (grub_vbe_bios_get_display_start): Likewise.
40801 (grub_vbe_bios_set_palette_data): Likewise.
40802
40803 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40804 (cl_insert): Likewise.
40805 (cl_delete): Likewise.
40806
40807 * term/gfxterm.c: New file.
40808
40809 * term/i386/pc/vesafb.c: Removed file.
40810
40811 * video/video.c: New file.
40812
40813 * video/i386/pc/vbe.c (real2pm): Added new function.
40814 (grub_video_vbe_draw_pixel): Likewise.
40815 (grub_video_vbe_get_video_ptr): Likewise.
40816 (grub_video_vbe_get_pixel): Likewise
40817 (grub_video_vbe_init): Likewise.
40818 (grub_video_vbe_fini): Likewise.
40819 (grub_video_vbe_setup): Likewise.
40820 (grub_video_vbe_get_info): Likewise.
40821 (grub_video_vbe_set_palette): Likewise.
40822 (grub_video_vbe_get_palette): Likewise.
40823 (grub_video_vbe_set_viewport): Likewise.
40824 (grub_video_vbe_get_viewport): Likewise.
40825 (grub_video_vbe_map_color): Likewise.
40826 (grub_video_vbe_map_rgb): Likewise.
40827 (grub_video_vbe_map_rgba): Likewise.
40828 (grub_video_vbe_unmap_color): Likewise.
40829 (grub_video_vbe_fill_rect): Likewise.
40830 (grub_video_vbe_blit_glyph): Likewise.
40831 (grub_video_vbe_blit_bitmap): Likewise.
40832 (grub_video_vbe_blit_render_target): Likewise.
40833 (grub_video_vbe_scroll): Likewise.
40834 (grub_video_vbe_swap_buffers): Likewise.
40835 (grub_video_vbe_create_render_target): Likewise.
40836 (grub_video_vbe_delete_render_target): Likewise.
40837 (grub_video_vbe_set_active_render_target): Likewise.
40838 (grub_vbe_set_pixel_rgb): Remove function.
40839 (grub_vbe_set_pixel_index): Likewise.
40840 (index_color_mode): Remove static variable.
40841 (active_mode): Likewise.
40842 (framebuffer): Likewise.
40843 (bytes_per_scan_line): Likewise.
40844 (grub_video_vbe_adapter): Added new static variable.
40845 (framebuffer): Likewise.
40846 (render_target): Likewise.
40847 (initial_mode): Likewise.
40848 (mode_in_use): Likewise.
40849 (mode_list): Likewise.
40850
5f97350b 408512006-03-10 Marco Gerards <marco@gnu.org>
40852
40853 * configure.ac (AC_INIT): Bumped to 1.93.
40854
40855 * DISTLIST: Added `include/grub/hfs.h'.
40856
a3c5c6f8 408572006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40858
40859 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40860 18H, which might help the BIOS falling back to next boot media.
40861
6de53d26 408622006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40863
40864 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40865 Poe Chen <poe.poechen@gmail.com>.
40866
77c4a393 408672006-01-17 Marco Gerards <marco@gnu.org>
40868
40869 * include/grub/normal.h: Include <grub/script.h>.
40870 (grub_command_list): Removed struct.
40871 (grub_command_list_t): Removed type.
40872 (grub_menu_entry): Remove members `num' and `command_list'. Add
40873 members `commands' and `sourcecode'.
40874 * include/grub/script.h: Add inclusion guards.
40875 (grub_script_cmd_menuentry): New struct.
40876 (grub_script_execute_menuentry): New prototype.
40877 (grub_script_lexer_record_start): Likewise.
40878 (grub_script_lexer_record_stop): Likewise.
40879 * normal/execute.c (grub_script_execute_menuentry): New function.
40880 * normal/lexer.c (record, recording, recordpos, recordlen): New
40881 variables.
40882 (grub_script_lexer_record_start): New function.
40883 (grub_script_lexer_record_stop): Likewise.
40884 (recordchar): Likewise.
40885 (nextchar): Likewise.
40886 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40887 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40888 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40889 (current_menu): New variable.
40890 (free_menu): Mainly rewritten.
40891 (grub_normal_menu_addentry): New function.
40892 (read_config_file): Rewritten.
40893 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40894 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40895 the menu entry.
40896 (run): Mainly rewritten.
40897 * normal/parser.y (menu_entry): New variable.
40898 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40899 (menuentry): New rule.
40900 (command): Add `menuentry'.
40901 (if_statement): Allow additional returns before `fi'.
40902 * normal/script.c (grub_script_create_cmdmenu): New function.
40903
144f1f98 409042006-01-03 Marco Gerards <marco@gnu.org>
40905
40906 * INSTALL: GNU Bison is required.
40907 * configure.ac: Rewritten the test to detect Bison.
40908 * Makefile.in (YACC): New variable. Reported by Xun Sun
40909 <xun.sun.cn@gmail.com>.
40910
af4b2d89 409112006-01-03 Marco Gerards <marco@gnu.org>
40912
40913 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40914 the HFS+ filesystem to filesystem blocks.
40915 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40916 GCC warning is silenced.
40917
15643b71 409182006-01-03 Marco Gerards <marco@gnu.org>
40919
40920 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40921 read from disk from big endian to host byte order.
40922
00905879 409232006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40924
40925 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40926 documentation.
40927 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40928 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40929 embedded HFS+ filesystem.
40930 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40931 (grub_hfs_sblock): Move from here...
40932 * include/grub/hfs.h: To here... New file.
40933 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40934 documentation.
40935 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40936 New macros.
40937 (grub_hfsplus_volheader): Change type of member `magic' to
40938 `grub_uint16_t'.
40939 (grub_hfsplus_data): Add new member `embedded_offset'.
40940 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40941 returned block.
40942 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40943 Calculate the offset.
40944
8899bc3e 409452005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40946
40947 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40948 Removed.
40949 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40950
ae8c0277 409512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40952
40953 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40954 ENV->NAME is NULL after allocating ENV->VALUE.
40955
07084456 409562005-12-25 Marco Gerards <marco@gnu.org>
40957
40958 * kern/env.c (grub_env_set): Rewritten the error handling code.
40959
4750f5f1 409602005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40961
40962 * geninit.sh: Made more robust, and more portable.
40963
50214199 409642005-12-25 Marco Gerards <marco@gnu.org>
40965
40966 Add support for Apple HFS+ filesystems.
f19dbdb7 40967
50214199 40968 * fs/hfsplus.c: New file.
40969
40970 * DISTLIST: Added `fs/hfsplus.c'.
40971
40972 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40973 (hfsplus_mod_SOURCES): New variable.
40974 (hfsplus_mod_CFLAGS): Likewise.
40975 (hfsplus_mod_LDFLAGS): Likewise.
40976 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40977 (grub_setup_SOURCES): Likewise.
40978 (grub_mkdevicemap_SOURCES): Likewise.
40979 (grub_emu_SOURCES): Likewise.
40980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40981
40982 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40983
40984 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40985
befaed6c 409862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40987
40988 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40989 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40990 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40991 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40992 normal/lexer.c, normal/parser.y, normal/script.c, and
40993 partmap/gpt.c.
40994 Removed kern/sparc64/cache.c.
40995
40996 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40997 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40998 grub_emu_init.c.
40999
41000 * configure.ac (AC_INIT): Bumped to 1.92.
41001
6a124103 410022005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41003
41004 * kern/err.c (grub_error_push): Added new function to support error
41005 stacks.
41006 (grub_error_pop): Likewise.
41007 (grub_error_stack_items): New local variable to support error stacks.
41008 (grub_error_stack_pos): Likewise.
41009 (grub_error_stack_assert): Likewise.
41010 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41011 stack depth.
41012 (grub_print_error): Added support to print errors from error stack.
41013
41014 * include/grub/err.h (grub_error_push): Added function prototype.
41015 (grub_error_pop): Likewise.
41016
be973c1b 410172005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41018
41019 * configure.ac: Accept `powerpc64' as host_cpu.
41020 (amd64): Rename to `biarch32'.
41021
41022 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41023 non-cacheline-aligned addresses.
41024
41025 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41026 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41027 if `size' is non-zero.
41028
b04216ab 410292005-12-03 Marco Gerards <mgerards@xs4all.nl>
41030
41031 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41032 and `cd' to make sure the filename is not prefixed with a
41033 directory name.
41034 (pkgdata_MODULES): Add `gpt.mod'.
41035 (gpt_mod_SOURCES): New variable.
41036 (gpt_mod_CFLAGS): Likewise.
41037 (gpt_mod_LDFLAGS): Likewise.
41038
41039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41040
41041 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41042 New macro.
41043
41044 * partmap/gpt.c: New file.
41045
41046 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41047 GPT partition map is detected.
41048
41730ed9 410492005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41050
41051 * commands/i386/pc/play.c: New file.
41052 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41053 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41054 macros.
f19dbdb7 41055
95dc3643 410562005-11-27 Marco Gerards <mgerards@xs4all.nl>
41057
41058 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41059 ((unused))' to silence gcc warning.
41060
1569ec51 410612005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41062
41063 * configure.ac: Correct `AC_PROG_YACC' test.
41064
9abde152 410652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41066
41067 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41068 check before installing files.
41069
44b83271 410702005-11-22 Mike Small <smallm@panix.com>
41071
41072 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41073 number regex so multidigit numbers are recognized correctly.
41074
410752005-11-22 Mike Small <smallm@panix.com>
41076
41077 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41078 debugging message before attempting to claim memory.
41079 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41080 multiple addresses in case of failure.
41081
9c12956b 410822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41083
41084 * term/tparm.c (get_space): Remove empty `if' statement.
41085
41086 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41087
41088 * kern/parser.c (check_varstate): Rename `state' to 's'.
41089
aeaf81d9 410902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41091
41092 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41093 variable definitions to the beginning of each function. Sort stack
41094 variables by size.
41095 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41096 `buf' argument to `char *'.
41097
79bbb63f 410982005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41099
41100 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41101 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41102 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41103 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41104 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41105 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41106 configfile.mod, search.mod, gzio.mod and test.mod.
41107 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41108 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41109 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41110 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41111 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41112 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41113 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41114 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41115 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41116 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41117 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41118 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41119 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41120 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41121 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41122 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41123 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41124 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41125 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41126 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41127 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41128 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41129 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41130
41131 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41132 `grep --include'.
41133 (pkgdata_MODULES): Add test.mod.
41134
233b1628 411352005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41136
41137 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41138 appending to variables with "+=".
41139 (PModule): Use full pathname to generate *.lst filenames.
41140
41141 * Makefile.in: Fixed list rules moved from genmk.rb.
41142 (.DELETE_ON_ERROR): New special target.
41143 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41144
41145 * conf/i386-pc.rmk: Include conf/common.mk.
41146 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41147 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41148 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41149 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41150 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41151 configfile.mod, search.mod, gzio.mod and test.mod.
41152 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41153 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41154 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41155 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41156 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41157 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41158 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41159 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41160 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41161 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41162 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41163 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41164 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41165 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41166 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41167 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41168 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41169 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41170 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41171 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41172 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41173 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41174 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41175 here...
41176 * conf/common.rmk: ... to here. New file.
41177
41178 * conf/common.mk: New file.
41179
16f820c8 411802005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41181
41182 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41183 (grub_script.tab.c): ... here.
41184
41185 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41186 (grub_script.tab.c): ... here.
41187
41188 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41189 (grub_script.tab.c): ... here.
41190
41191 * normal/command.c (grub_command_find): Fixed a memory leak of
41192 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41193
63ba1554 411942005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41195
41196 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41197 "@" which marks the start of a comment on ARM.
41198 (VARIABLE): Likewise.
41199
7f67dc13 412002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41201
79bbb63f 41202 Add support for Linux/ADFS partition tables.
7f67dc13 41203
41204 * partmap/acorn.c: New file.
41205
41206 * include/grub/acorn_filecore.h: Likewise.
41207
41208 * DISTLIST: Added `partmap/acorn.c' and
41209 `include/grub/acorn_filecore.h'.
f19dbdb7 41210
7f67dc13 41211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41212 `partmap/acorn.c'.
41213 (pkgdata_MODULES): Add `acorn.mod'.
41214 (acorn_mod_SOURCES): New variable.
41215 (acorn_mod_CFLAGS): Likewise.
41216
41217 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41218 `partmap/acorn.c'.
41219 (pkgdata_MODULES): Add `acorn.mod'.
41220 (acorn_mod_SOURCES): New variable.
41221 (acorn_mod_CFLAGS): Likewise.
41222
41223 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41224 (pkgdata_MODULES): Add `acorn.mod'.
41225 (acorn_mod_SOURCES): New variable.
41226 (acorn_mod_CFLAGS): Likewise.
41227 (acorn_mod_LDFLAGS): Likewise.
41228
41229 * include/types.h (grub_disk_addr_t): New typedef.
41230
6d099807 412312005-11-13 Marco Gerards <mgerards@xs4all.nl>
41232
41233 * geninit.sh: New file.
41234
41235 * geninitheader.sh: Likewise.
41236
41237 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41238 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41239 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41240 * commands/configfile.c (grub_configfile_init)
41241 (grub_configfile_fini): Likewise.
41242 * commands/default.c (grub_default_init, grub_default_fini):
41243 Likewise.
41244 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41245 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41246 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41247 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41248 Likewise.
41249 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41250 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41251 Likewise.
41252 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41253 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41254 Likewise.
41255 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41256 Likewise.
fe6b695a 41257 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41258 Likewise.
41259 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41260 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41261 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41262 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41263 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41264 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41265 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41266 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41267 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41268 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41269 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41270 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41271 * partmap/amiga.c (grub_amiga_partition_map_init)
41272 (grub_amiga_partition_map_fini): Likewise.
41273 * partmap/apple.c (grub_apple_partition_map_init)
41274 (grub_apple_partition_map_fini): Likewise.
41275 * partmap/pc.c (grub_pc_partition_map_init)
41276 (grub_pc_partition_map_fini): Likewise.
41277 * partmap/sun.c (grub_sun_partition_map_init,
41278 grub_sun_partition_map_fini): Likewise.
41279 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41280 Likewise.
41281
41282 * util/grub-emu.c: Include <grub_modules_init.h>.
41283 (main): Don't initialize and de-initialize any modules directly,
41284 use `grub_init_all' and `grub_fini_all' instead.
41285
41286 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41287 `grub_vesafb_mod_init'.
41288 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41289 all users.
41290 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41291 `grub_vga_mod_init'. Updated all users.
41292 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41293
6d099807 41294 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41295 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41296 rules.
41297
41298 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41299 Generate a function to initialize the module in utilities.
41300 Updated all callers.
41301 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41302 initialize the module in utilities. Updated all callers.
41303
9046bcf0 413042005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41305
41306 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41307 escape sequence and a literal ^L to clear the screen.
41308
41309 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41310 when returning from Open Firmware.
41311
d13ea639 413122005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41313
41314 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41315 (grub_ofconsole_height): Likewise.
41316 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41317 manually insert a '\n'.
41318 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41319 `grub_ofconsole_height'. Return early if these are already set.
41320
a8fcf206 413212005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41322
41323 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41324 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41325 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41326 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41327 and `normal/script.c'.
41328 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41329 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41330 (test_mod_SOURCES): New variable.
41331 (test_mod_CFLAGS): Likewise.
41332 (test_mod_LDFLAGS): Likewise.
41333 (pkgdata_MODULES): Add `test.mod'.
41334 (grub_script.tab.c): New rule.
41335 (grub_script.tab.h): Likewise.
41336
b6b32745 413372005-11-07 Marco Gerards <mgerards@xs4all.nl>
41338
41339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41340 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41341 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41342 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41343 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41344 (test_mod_SOURCES): New variable.
41345 (test_mod_CFLAGS): Likewise.
41346 (pkgdata_MODULES): Add `test.mod'.
41347 (grub_script.tab.c): New rule.
41348 (grub_script.tab.h): Likewise.
41349
daac212a 413502005-11-06 Marco Gerards <mgerards@xs4all.nl>
41351
41352 Add initial scripting support.
41353
41354 * commands/test.c: New file.
41355 * include/grub/script.h: Likewise.
41356 * normal/execute.c: Likewise.
41357 * normal/function.c: Likewise.
41358 * normal/lexer.c: Likewise.
41359 * normal/parser.y: Likewise.
41360 * normal/script.c: Likewise.
41361
41362 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41363
daac212a 41364 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41365 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41366 `normal/function.c' and `normal/script.c'.
41367 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41368 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41369 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41370 variables.
daac212a 41371 (pkgdata_MODULES): Add `test.mod'.
41372 (grub_script.tab.c): New rule.
41373 (grub_script.tab.h): Likewise.
41374
41375 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41376
41377 * include/grub/normal.h (grub_test_init): New prototype.
41378 (grub_test_fini): Likewise.
f19dbdb7 41379
daac212a 41380 * normal/command.c: Include <grub/script.h>.
41381 (grub_command_execute): Rewritten.
f19dbdb7 41382
daac212a 41383 * util/grub-emu.c (main): Call `grub_test_init' and
41384 `grub_test_fini'.
41385
77500b2b 413862005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41387
41388 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41389 to 0.
41390 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41391 there are no pending characters.
41392
e45deb9e 413932005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41394
41395 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41396 `grub_strndup' to drop device arguments. Replace unnecessary
41397 `grub_strndup' with `grub_strdup'.
41398
4ce32619 413992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41400
41401 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41402 `debug' environment variable has been set.
41403
414042005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41405
4ce32619 41406 * Makefile.in (install-local): Use $(DATA).
41407 (uninstall): Likewise.
41408 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41409 (sbin_UTILITIES): ... to here.
41410 (sbin_SCRIPTS): New variable.
41411 (grub_install_SOURCES): New variable.
41412 * util/powerpc/ieee1275/grub-install.in: New file.
41413 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41414 variable.
41415 (add_segments): Call `grub_util_get_path'.
41416
25fe6f03 414172005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41418
41419 From Timothy Baldwin:
41420 * commands/ls.c (grub_ls_list_files): Close FILE with
41421 grub_file_close.
41422 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41423
04ccf3ec 414242005-10-24 Marco Gerards <mgerards@xs4all.nl>
41425
41426 * include/grub/parser.h: New file.
41427
41428 * kern/parser.c: Likewise.
41429
41430 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41431 (grub_setup_SOURCES): Likewise.
41432 (grub_probefs_SOURCES): Likewise.
41433 (grub_emu_SOURCES): Likewise.
41434 (kernel_img_HEADERS): Add `parser.h'.
41435
41436 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41437 (grub_emu_SOURCES): Add `kern/parser.c'.
41438 (grubof_SOURCES): Likewise.
41439
41440 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41441 (grubof_SOURCES): Add `kern/parser.c'.
41442
41443 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41444
41445 * kern/misc.c (grub_split_cmdline): Removed function.
41446
41447 * kern/rescue.c: Include <grub/parser.h>.
41448 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41449 of `grub_split_cmdline'.
41450
41451 * normal/command.c: Include <grub/parser.h>.
41452 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41453 of `grub_split_cmdline'.
41454
41455 * normal/completion.c: Include <grub/parser.h>.
41456 (cmdline_state): New variable.
41457 (iterate_dir): End the filename with a quote depending on the
41458 command line state.
41459 (get_state): new function.
41460 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41461 split the arguments and determine the current argument. When the
41462 argument string is not quoted, escape all spaces.
41463
6d8f4b0e 414642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41465
41466 * normal/sparc64/setjmp.S: New file.
41467
15cf03ed 414682005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41469
41470 * include/grub/sparc64/libgcc.h: New file.
41471 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41472 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41473 normal/sparc64/setjmp.c.
41474
03e8661a 414752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41476
41477 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41478 * kern/sparc64/cache.S: New file.
41479 * kern/sparc64/cache.c: Removed.
41480 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41481 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41482 -mtune=ultrasparc.
41483 (COMMON_LDFLAGS): Add -melf64_sparc.
41484 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41485 (grubof_SOURCES): Use cache.S instead of cache.c.
41486 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41487 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41488 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41489 commented though.
41490 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41491 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41492 (linux_mod_CFLAGS): Commented out.
41493 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41494 out because module isn't built.
41495 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41496 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41497 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41498 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41499 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41500 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41501 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41502 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41503 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41504 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41505 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41506 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41507 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41508 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41509
34eeec8a 415102005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41511
41512 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41513 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41514 longer, because HFS should not be used on PC.
41515
708367a3 415162005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41517
41518 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41519 consistently within the loop.
41520
6fa1251a 415212005-10-15 Marco Gerards <mgerards@xs4all.nl>
41522
41523 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41524 directory can not be read.
41525
4801580b 415262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41527
41528 * configure.ac (AC_INIT): Increase the version number to 1.91.
41529
41530 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41531 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41532 term/i386/pc/serial.c.
41533
219ad426 415342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41535
41536 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41537 file size must be permitted.
41538
41539 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41540 between %ah and %al.
41541
688e5699 415422005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41543
41544 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41545 grub_uint64_t.
41546 Call the hook with a NUL-terminated filename.
41547 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41548 grub_cpu_to_be32.
41549
41550 * kern/term.c (cursor_state): New variable.
41551 (grub_term_set_current): Reset the cursor state on a new
41552 terminal.
41553 (grub_setcursor): Rewritten to use CURSOR_STATE.
41554 (grub_getcursor): New function.
41555
41556 * include/grub/term.h (grub_getcursor): New prototype.
41557
41558 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41559 integers on ARM. Reported by Timothy Baldwin
41560 <T.E.Baldwin99@members.leeds.ac.uk>.
41561
bb34586c 415622005-10-11 Marco Gerards <mgerards@xs4all.nl>
41563
41564 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41565 allocated.
41566 (grub_sfs_dir): Likewise.
41567
9a909877 415682005-10-09 Marco Gerards <mgerards@xs4all.nl>
41569
41570 Add support for the SFS filesystem.
41571
41572 * fs/sfs.c: New file.
41573
41574 * DISTLIST: Added `fs/sfs.c'.
41575
41576 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41577 (grub_probefs_SOURCES): Likewise.
41578 (grub_emu_SOURCES): Likewise.
41579 (pkgdata_MODULES): Add `sfs.mod'.
41580 (sfs_mod_SOURCES): New variable.
41581 (sfs_mod_CFLAGS): Likewise.
41582 (sfs_mod_LDFLAGS): Likewise.
41583
41584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41585 (pkgdata_MODULES): Add `sfs.mod'.
41586 (sfs_mod_SOURCES): New variable.
41587 (sfs_mod_CFLAGS): Likewise.
41588
41589 * util/grub-emu.c (main): Call `grub_sfs_init' and
41590 `grub_sfs_fini'.
41591
41592 * include/grub/fs.h (grub_sfs_init): New prototype.
41593 (grub_sfs_fini): Likewise.
41594
57bdbde3 415952005-10-07 Marco Gerards <mgerards@xs4all.nl>
41596
41597 Add support for the AFFS filesystem.
41598
41599 * fs/affs.c: New file.
41600
41601 * DISTLIST: Added `fs/affs.c'.
41602
41603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41604 (grub_probefs_SOURCES): Likewise.
41605 (grub_emu_SOURCES): Likewise.
41606 (pkgdata_MODULES): Add `affs.mod'.
41607 (affs_mod_SOURCES): New variable.
41608 (affs_mod_CFLAGS): Likewise.
41609 (affs_mod_LDFLAGS): Likewise.
41610
41611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41612 (pkgdata_MODULES): Add `affs.mod'.
41613 (affs_mod_SOURCES): New variable.
41614 (affs_mod_CFLAGS): Likewise.
41615
41616 * util/grub-emu.c (main): Call `grub_affs_init' and
41617 `grub_affs_fini'.
41618
41619 * include/grub/fs.h (grub_affs_init): New prototype.
41620 (grub_affs_fini): Likewise.
41621
047b67e0 416222005-10-01 Marco Gerards <mgerards@xs4all.nl>
41623
41624 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41625
59b8208a 416262005-10-01 Marco Gerards <mgerards@xs4all.nl>
41627
41628 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41629 `-m32' to CFLAGS.
41630
41631 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41632 linking.
f19dbdb7 41633
59b8208a 41634 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41635 (COMMON_LDFLAGS): New variable.
41636 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41637 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41638 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41639 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41640 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41641 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41642 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41643 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41644 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41645 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41646 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41647 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41648 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41649 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41650 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41651 variables.
41652 (normal_mod_ASFLAGS): Add `-m32'.
41653
41654 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41655 (grub_host_size_t, grub_host_ssize_t): New types.
41656 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41657 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41658 `GRUB_HOST_SIZEOF_VOID_P'.
41659
41660 * include/grub/kernel.h (struct grub_module_header): Type of
41661 member offset changed to `grub_host_off_t'. Type of member size
41662 changed to `grub_host_size_t'.
41663 (struct grub_module_info): Type of member offset changed to
41664 `grub_host_off_t'. Type of member size changed to
41665 `grub_host_size_t'.
41666
b4093103 416672005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41668
41669 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41670
b4093103 41671 * kern/i386/pc/startup.S (multiboot_header): New label.
41672 (multiboot_entry): Likewise.
41673 (multiboot_trampoline): Likewise.
41674
41675 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41676 Increased to 0x4A0.
41677
41678 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41679 put parentheses after a question mark.
41680 [!GRUB_UTIL] (my_mod): New variable.
41681
41682 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41683
b2499b29 416842005-09-28 Marco Gerards <mgerards@xs4all.nl>
41685
41686 Adds support for the XFS filesystem. Btrees are not supported
41687 yet.
41688
41689 * fs/xfs.c: New file.
41690
41691 * DISTLIST: Added `fs/xfs.c'.
41692
41693 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41694 (grub_probefs_SOURCES): Likewise.
41695 (grub_emu_SOURCES): Likewise.
41696 (pkgdata_MODULES): Add `xfs.mod'.
41697 (xfs_mod_SOURCES): New variable.
41698 (xfs_mod_CFLAGS): Likewise.
41699
41700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41701 (pkgdata_MODULES): Add `xfs.mod'.
41702 (xfs_mod_SOURCES): New variable.
41703 (xfs_mod_CFLAGS): Likewise.
41704
41705 * util/grub-emu.c (main): Call `grub_xfs_init' and
41706 `grub_xfs_fini'.
41707
41708 * include/grub/fs.h (grub_xfs_init): New prototype.
41709 (grub_xfs_fini): Likewise.
41710
f19dbdb7 41711
83d37a62 417122005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41713
41714 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41715 color modes, allow greater than 16 colors to be configured as
41716 a default palette.
41717
47d2d65e 417182005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41719
41720 * normal/completion.c (complete_arguments): Add the qualifier
41721 const into OPTIONS.
41722
41723 From Omniflux <omniflux+lists@omniflux.com>:
41724 * include/grub/terminfo.h: New file.
41725 * include/grub/tparm.h: Likewise.
41726 * include/grub/i386/pc/serial.h: Likewise.
41727 * term/terminfo.c: Likewise.
41728 * term/tparm.c: Likewise.
41729 * term/i386/pc/serial.c: Likewise.
41730 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41731 serial.mod.
41732 (terminfo_mod_SOURCES): New variable.
41733 (terminfo_mod_CFLAGS): Likewise.
41734 (serial_mod_SOURCES): Likewise.
41735 (serial_mod_CFLAGS): Likewise.
41736
48b671ff 417372005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41738
41739 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41740 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41741 and kern/powerpc/ieee1275/cmain.c, respectively.
41742
41743 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41744 * kern/powerpc/ieee1275/crt0.S: ... here.
41745
41746 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41747 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41748
48b671ff 41749 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41750 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41751 instead of boot/powerpc/ieee1275/crt0.S and
41752 boot/powerpc/ieee1275/cmain.c, respectively.
41753
41754 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41755 sectors. It was not used anyway.
41756
09fc77a7 417572005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41758
41759 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41760 `unused parameter' warning.
41761
003789c7 417622005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41763
41764 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41765 function.
41766 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41767 getcharwidth.
41768
67f44c86 417692005-08-28 Marco Gerards <metgerards@student.han.nl>
41770
41771 * include/grub/normal.h (enum grub_completion_type): Added
41772 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41773
41774 * normal/cmdline.c (print_completion): Handle
41775 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41776 * normal/menu_entry.c (store_completion): Likewise.
41777
41778 * normal/completion.c (complete_arguments): New function.
41779 (grub_normal_do_completion): Call `complete_arguments' when the
41780 current words start with a dash.
41781
0b5abe02 417822005-08-27 Marco Gerards <metgerards@student.han.nl>
41783
41784 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41785 `gzio.mod' instead of `io.mod').
41786
d9864ee1 417872005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41788
41789 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41790 (DISTDIRS): Added io and video.
41791 Rewrite the search routine to make an output consistently.
41792
41793 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41794 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41795 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41796 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41797 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41798 util/powerpc/ieee1275/misc.c.
f19dbdb7 41799
d9864ee1 41800 * include/grub/gzio.h: New file.
41801 * io/gzio.c: Likewise.
f19dbdb7 41802
d9864ee1 41803 * kern/file.c (grub_file_close): Call grub_device_close only if
41804 FILE->DEVICE is not NULL.
41805
41806 * include/grub/mm.h [!NULL] (NULL): New macro.
41807
41808 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41809
41810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41811 (pkgdata_MODULES): Added gzio.mod.
41812 (gzio_mod_SOURCES): New variable.
41813 (gzio_mod_CFLAGS): Likewise.
41814
41815 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41816 (pkgdata_MODULES): Added gzio.mod.
41817 (gzio_mod_SOURCES): New variable.
41818 (gzio_mod_CFLAGS): Likewise.
41819
41820 * commands/cat.c: Include grub/gzio.h.
41821 (grub_cmd_cat): Use grub_gzfile_open instead of
41822 grub_file_open.
f19dbdb7 41823
d9864ee1 41824 * commands/cmp.c: Include grub/gzio.h.
41825 (grub_cmd_cmp): Use grub_gzfile_open instead of
41826 grub_file_open.
41827
41828 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41829 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41830 grub_file_open.
41831 (grub_rescue_cmd_module): Likewise.
41832
fa46f4b5 418332005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41834
41835 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41836 kern/sparc64/ieee1275/init.c because it contains _start.
41837 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41838
e9211b5d 418392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41840
41841 * configure.ac: Add support for sparc64 host with ieee1275
41842 firmware.
41843 * configure: Generated from configure.ac.
41844 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41845 instead of int.
41846 (grub_ofdisk_read): Likewise.
41847 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41848 pointers as (void *) to remove a warning.
41849 (grub_ofdisk_close): Likewise.
41850 (grub_ofdisk_read): Likewise.
41851 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41852 returns, so make it return void to remove a warning.
41853 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41854 Corresponding prototype change.
41855 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41856 values, and cast the pointers as (void *) to remove a warning.
41857 (grub_mm_dump): Likewise.
41858 * conf/sparc64-ieee1275.mk: New file.
41859 * conf/sparc64-ieee1275.rmk: Likewise.
41860 * include/grub/sparc64/setjmp.h: Likewise.
41861 * include/grub/sparc64/types.h: Likewise.
41862 * include/grub/sparc64/ieee1275/console.h: Likewise.
41863 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41864 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41865 * include/grub/sparc64/ieee1275/time.h: Likewise.
41866 * kern/sparc64/cache.c: Likewise.
41867 * kern/sparc64/dl.c: Likewise.
41868 * kern/sparc64/ieee1275/init.c: Likewise.
41869 * kern/sparc64/ieee1275/openfw.c: Likewise.
41870
385c6a92 418712005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41872
41873 * util/console.c (grub_ncurses_putchar): If C is greater than
41874 0x7f, set C to a question mark.
41875 (grub_ncurses_getcharwidth): New function.
41876 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41877 getcharwidth.
41878
41879 * normal/menu.c (print_entry): Made aware of Unicode. First,
41880 convert TITLE to UCS-4, and predict the cursor position by
41881 grub_getcharwidth.
41882
41883 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41884 const to SRC.
41885 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41886
16ccb8b1 418872005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41888
41889 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41890 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41891 grub_strcat.
41892
41893 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41894 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41895 grub_strcpy and grub_strlen. Take it into account that a space
41896 character is inserted as a delimiter.
41897
6a85ce79 418982005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41899
41900 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41901 invalid magic in the error.
6a85ce79 41902
41903 * commands/search.c: New file.
f19dbdb7 41904
6a85ce79 41905 * util/grub-emu.c (main): Call grub_search_init and
41906 grub_search_fini.
41907
41908 * kern/rescue.c (grub_rescue_print_disks): Removed.
41909 (grub_rescue_print_devices): New function.
41910 (grub_rescue_cmd_ls): Use grub_device_iterate with
41911 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41912 grub_rescue_print_disks.
41913
41914 * kern/partition.c (grub_partition_iterate): Return the result of
41915 PARTMAP->ITERATE instead of GRUB_ERRNO.
41916
41917 * kern/device.c: Include grub/partition.h.
41918 (grub_device_iterate): New function.
41919
41920 * include/grub/partition.h (grub_partition_iterate): Return int
41921 instead of grub_err_t.
41922
41923 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41924 prototype.
41925 [GRUB_UTIL] (grub_search_fini): Likewise.
41926
41927 * include/grub/device.h (grub_device_iterate): New prototype.
41928
41929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41930 commands/search.c.
41931 (pkgdata_MODULES): Added search.mod.
41932 (search_mod_SOURCES): New variable.
41933 (search_mod_CFLAGS): Likewise.
41934
41935 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41936 (pkgdata_MODULES): Added search.mod.
41937 (search_mod_SOURCES): New variable.
41938 (search_mod_CFLAGS): Likewise.
41939
41940 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41941 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41942 All callers changed.
41943
41944 * DISTLIST: Added commands/search.c.
41945
ef095434 419462005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41947
41948 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41949 conversion.
41950 (grub_getcharwidth): New function.
41951
41952 * kern/misc.c (grub_utf8_to_ucs4): New function.
41953
41954 * include/grub/term.h (struct grub_term): Added a new member
41955 "getcharwidth".
41956 (grub_getcharwidth): New prototype.
41957
41958 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41959
41960 * term/i386/pc/console.c (map_char): New function. Segregated from
41961 grub_console_putchar.
41962 (grub_console_putchar): Use map_char.
41963 (grub_console_getcharwidth): New function.
41964 (grub_console_term): Specified grub_console_getcharwidth as
41965 getcharwidth.
41966
41967 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41968 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41969
41970 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41971 GRUB_ERRNO.
41972 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41973 on grub_strtoul completely.
41974 (write_char): Declare local variables in the beginning of the
41975 function.
41976 (grub_vesafb_getcharwidth): New function.
41977 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41978 getcharwidth.
41979
1f0a95e4 419802005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41981
41982 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41983 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41984 commands/i386/pc/vbetest.c.
41985
41986 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41987 call grub_vbe_get_controller_info again, because the returned
41988 information is volatile.
41989 (grub_vbe_set_video_mode): Mostly rewritten.
41990 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41991 grub_vbe_status_t correctly.
41992 (grub_vbe_get_video_mode_info): Likewise.
41993 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41994 several if statements.
41995
41996 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41997 * commands/i386/pc/vbeinfo.c: ... this.
41998
41999 * commands/i386/pc/vbe_test.c: Renamed to ...
42000 * commands/i386/pc/vbetest.c: ... this.
42001
42002 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42003 ...
42004 (grub_cmd_vbeinfo): ... this. Save video modes before
42005 iterating. Skip a video mode, if it is not available, not enough
42006 information is given or it is monochrome. Show the memory
42007 model. Leave the interpretation of MODEVAR to grub_strtoul
42008 completely.
42009 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42010 (GRUB_MOD_FINI): Likewise.
42011
42012 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42013 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42014 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42015 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42016 grub_strtoul completely.
42017 (real2pm): Removed.
42018 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42019 (GRUB_MOD_FINI): Likewise.
42020
42021 * normal/misc.c: Include grub/mm.h.
42022
42023 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42024 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42025 (vbe_list_modes_mod_SOURCES): Removed.
42026 (vbe_list_modes_mod_CFLAGS): Likewise.
42027 (vbe_test_mod_SOURCES): Likewise.
42028 (vbe_test_mod_CFLAGS): Likewise.
42029 (vbeinfo_mod_SOURCES): New variable.
42030 (vbeinfo_mod_CFLAGS): Likewise.
42031 (vbetest_mod_SOURCES): Likewise.
42032 (vbetest_mod_CFLAGS): Likewise.
42033
992ffbbe 420342005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42035
42036 * normal/misc.c: New file.
42037
42038 * DISTLIST: Added normal/misc.c.
f19dbdb7 42039
992ffbbe 42040 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42041 DISK to HOOK. Call HOOK with DISK.
42042 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42043 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42044 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42045
42046 * normal/menu_entry.c (struct screen): Added a new member
42047 "completion_shown".
42048 (completion_buffer): New global variable.
42049 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42050 (store_completion): New function.
42051 (complete): Likewise.
42052 (clear_completions): Likewise.
42053 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42054 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42055 a tab, call complete.
42056
42057 * normal/completion.c (disk_dev): Removed.
42058 (print_simple_completion): Likewise.
42059 (print_partition_completion): Likewise.
42060 (print_func): New global variable.
42061 (add_completion): Do not take the arguments WHAT or PRINT any
42062 longer. Added a new argument TYPE. Instead of printing directly,
42063 call PRINT_FUNC if not NULL.
42064 All callers changed.
42065 (complete_device): Use a local variable DEV instead of
42066 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42067 (grub_normal_do_completion): Take a new argument HOOK. Do not
42068 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42069 empty string, return NULL instead.
42070 All callers changed.
42071
42072 * normal/cmdline.c (print_completion): New function.
42073
42074 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42075 to HOOK.
42076 All callers changed.
42077
42078 * kern/disk.c (grub_print_partinfo): Removed.
42079
42080 * include/grub/partition.h (struct grub_partition_map): Add a new
42081 argument DISK into HOOK of ITERATE.
42082 (grub_partition_iterate): Add a new argument DISK to HOOK.
42083
42084 * include/grub/normal.h (enum grub_completion_type): New enum.
42085 (grub_completion_type_t): New type.
42086 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42087 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42088 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42089 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42090 (grub_normal_do_completion): Added a new argument HOOK.
42091 (grub_normal_print_device_info): New prototype.
42092
42093 * include/grub/disk.h (grub_print_partinfo): Removed.
42094
42095 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42096 (normal_mod_SOURCES): Likewise.
42097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42098 (normal_mod_SOURCES): Likewise.
42099
42100 * commands/ls.c (grub_ls_list_disks): Use
42101 grub_normal_print_device_info instead of grub_print_partinfo. Free
42102 PNAME.
42103 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42104 duplicating the code.
42105
0bd41162 421062005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42107
42108 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42109 follow GCS more precisely.
42110 * commands/i386/pc/vbe_test.c: Likewise.
42111 * include/grub/i386/pc/vbe.h: Likewise.
42112 * term/i386/pc/vesafb.c: Likewise.
42113 * video/i386/pc/vbe.c: Likewise.
0bd41162 42114
6323696a 421152005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42116
42117 * DISTLIST: Added term/i386/pc/vesafb.c
42118 DISTLIST: Added video/i386/pc/vbe.c
42119 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42120 DISTLIST: Added commands/i386/pc/vbe_test.c.
42121 * commands/i386/pc/vbe_list_modes.c: New file.
42122 * commands/i386/pc/vbe_test.c: Likewise.
42123 * term/i386/pc/vesafb.c: Likewise.
42124 * video/i386/pc/vbe.c: Likewise.
42125 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42126 (grub_vbe_probe) Added prototype.
42127 (grub_vbe_set_video_mode) Likewise.
42128 (grub_vbe_get_video_mode) Likewise.
42129 (grub_vbe_get_video_mode_info) Likewise.
42130 (grub_vbe_set_pixel_rgb) Likewise.
42131 (grub_vbe_set_pixel_index) Likewise.
42132 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42133 (pkgdata_MODULES): Added vesafb.mod.
42134 (pkgdata_MODULES): Added vbe_list_modes.mod.
42135 (pkgdata_MODULES): Added vbe_test.mod.
42136 (vbe_mod_SOURCES): Added.
42137 (vbe_mod_CFLAGS): Likewise.
42138 (vesafb_mod_SOURCES): Likewise.
42139 (vesafb_mod_CFLAGS): Likewise.
42140 (vbe_list_modes_mod_SOURCES): Likewise.
42141 (vbe_list_modes_mod_CFLAGS): Likewise.
42142 (vbe_test_mod_SOURCES): Likewise.
42143 (vbe_test_mod_CFLAGS): Likewise.
42144
0a74e62f 421452005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42146
0a74e62f 42147 * normal/command.c (grub_command_execute): If INTERACTIVE is
42148 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42149 CMDLINE. Disable the pager if INTERACTIVE is true.
42150 All callers are changed.
42151
42152 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42153 before reading a config file.
42154 * normal/main.c (read_config_file): Even if a command is not
42155 found, register it if it is within an entry.
42156
42157 * util/grub-emu.c: Include sys/types.h and unistd.h.
42158 (options): Added --hold.
42159 (struct arguments): Added a new member "hold".
42160 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42161 missing.
42162 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42163 cleared by a debugger, if it is not zero.
42164
42165 * include/grub/normal.h (grub_command_execute): Add an argument
42166 INTERACTIVE.
42167
e51f85ae 421682005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42169
42170 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42171
e9c6f39b 421722005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42173
42174 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42175 program with another one, because the old one didn't detect a bug
42176 in gcc-3.4. Always use regparm 2, because the new test is still
42177 not enough for gcc-4.0. Someone must investigate a simple test
42178 case which detects a bug in gcc-4.0.
42179
8de3495c 421802005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42181
42182 * DISTLIST: Added normal/completion.c.
42183
42184 * normal/completion.c: New file.
f19dbdb7 42185
8de3495c 42186 * term/i386/pc/console.c (grub_console_getwh): New function.
42187 (grub_console_term): Assign grub_console_getwh to getwh.
42188
42189 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42190 function is defined in normal/completion.c as
42191 grub_normal_do_completion.
42192 (grub_cmdline_get): Use grub_normal_do_completion instead of
42193 grub_tab_complete.
42194
42195 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42196 returns non-zero, otherwise return 0.
42197 (grub_partition_iterate): First, probe the partition map. Then,
42198 call ITERATE only for this partition map.
42199
42200 * kern/misc.c (grub_strncmp): Rewritten.
42201
42202 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42203 returns non-zero. Otherwise return 0.
42204
42205 * include/grub/partition.h (grub_partition_map_iterate): Return
42206 int instead of void.
42207
42208 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42209
42210 * include/grub/misc.h (grub_strncmp): Change the type of N to
42211 grub_size_t.
42212
42213 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42214 of void.
42215
42216 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42217 unsigned explicitly before comparing it with I.
8de3495c 42218
42219 * kern/main.c (grub_env_write_root): Add the attribute unused into
42220 VAR.
42221
42222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42223 normal/completion.c.
42224 (normal_mod_SOURCES): Likewise.
42225 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42226 (normal_mod_SOURCES): Likewise.
42227
42228 * normal/command.c (grub_iterate_commands): If ITERATE returns
42229 non-zero, return one immediately.
42230
e85e144b 422312005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42232
42233 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42234 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42235 descriptions.
42236 (grub_vbe_get_controller_info): New function.
42237 (grub_vbe_get_mode_info): Likewise.
42238 (grub_vbe_set_mode): Likewise.
42239 (grub_vbe_get_mode): Likewise.
42240 (grub_vbe_set_memory_window): Likewise.
42241 (grub_vbe_get_memory_window): Likewise.
42242 (grub_vbe_set_scanline_length): Likewise.
42243 (grub_vbe_get_scanline_length): Likewise.
42244 (grub_vbe_set_display_start): Likewise.
42245 (grub_vbe_get_display_start): Likewise.
42246 (grub_vbe_set_palette_data): Likewise.
42247 * include/grub/i386/pc/vbe.h: New file.
42248
c46153d2 422492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42250
42251 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42252 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42253 * DISTLIST: Likewise.
42254 * kern/ieee1275/of.c: Moved to ...
42255 * kern/ieee1275/ieee1275.c: ... here.
42256
0cb90c45 422572005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42258
42259 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42260 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42261 Pass 0 as `end' parameter to grub_strtoul().
42262
a19fb360 422632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42264
42265 * include/grub/powerpc/ieee1275/console.h: Do not include
42266 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42267 ifdef.
42268 (grub_console_cur_color): Remove i386-specific prototype.
42269 (grub_console_real_putchar): Likewise.
42270 (grub_console_checkkey): Likewise.
42271 (grub_console_getkey): Likewise.
42272 (grub_console_getxy): Likewise.
42273 (grub_console_gotoxy): Likewise.
42274 (grub_console_cls): Likewise.
42275 (grub_console_setcursor): Likewise.
42276 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42277 Include <grub/machine/console.h>.
42278 * term/ieee1275/ofconsole.c: Likewise.
42279
4ac9bd04 422802005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42281
42282 * Makefile.in (LIBLZO): New variable.
42283
42284 * configure.ac: Check for LZO version 2.
42285
42286 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42287 lzo/lzo1x.h instead of lzo1x.h.
42288
42289 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42290 of -llzo.
42291
42292 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42293 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42294
42295 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42296 copying the data from PARTITION to P.
42297
f4917dfd 422982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42299
42300 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42301 negative, unload the module.
42302
42303 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42304 map is "pc_partition_map" but not "pc".
42305 (usage): Fix the description. The options are --boot-image and
42306 --core-image but not --boot-file or --core-file.
42307 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42308 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42309 DEFAULT_DIRECTORY.
42310
42311 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42312 --core-file. Specify INSTALL_DEVICE as an argument.
42313
42314 * util/console.c: Include config.h.
42315 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42316 [HAVE_NCURSES_H]: Include ncurses.h.
42317 [HAVE_CURSES_H]: Include curses.h.
42318 [!A_NORMAL] (A_NORMAL): Defined as zero.
42319 [!A_STANDOUT] (A_STANDOUT): Likewise.
42320
42321 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42322 -lncurses.
42323 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42324
42325 * configure.ac: Check for curses libraries and headers.
42326
42327 * Makefile.in (LIBCURSES): New variable.
42328
42329 * genmk.rb (Script::rule): Set the executable bits.
42330
42331 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42332 name of the PC partition map is "pc_partition_map" but not "pc".
42333
0e143073 423342005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42335
42336 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42337 (modules): Likewise.
42338 (usage): Added descriptions for --modules and --grub-probefs.
42339 Handle --modules and --grub-probefs. Save the arguments in MODULES
42340 and GRUB_PROBEFS, respectively.
42341 Auto-detect a filesystem module against GRUBDIR. If the result is
42342 empty and modules are not specified explicitly, abort the
42343 installation. Add the result to MODULES.
42344
42345 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42346 disk/powerpc/ieee1275/ofdisk.c,
42347 include/grub/powerpc/ieee1275/init.h and
42348 term/powerpc/ieee1275/ofconsole.c.
42349 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42350 term/ieee1275/ofconsole.c.
42351
42352 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42353
42354 * COPYING: Upgraded to the latest version. Only the address of the
42355 FSF office has changed.
f19dbdb7 42356
efd6e6d5 423572005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42358
42359 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42360 kern/ieee1275.c with kern/ieee1275/of.c.
42361
42362 * kern/ieee1275.c: Moved to ...
42363 * kern/ieee1275/of.c: ... here.
42364
8ceafda2 423652005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42366
42367 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42368 readability.
8ceafda2 42369
42370 * config.guess: Updated to the latest version from gnulib.
42371 * config.sub: Likewise.
42372 * install.sh: Likewise.
42373 * mkinstalldirs: Likewise.
42374
42375 * include/grub/console.h: Removed. This file is arch-specific. Do
42376 not put this in include/grub.
42377
42378 * include/grub/i386/pc/console.h: Resurrected.
42379
42380 * util/console.c: Include grub/machine/console.h instead of
42381 grub/console.h.
42382 * util/grub-emu.c: Likewise.
42383
267f6cd9 423842005-08-04 Marco Gerards <metgerards@student.han.nl>
42385
42386 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42387 hardcoded value.
f19dbdb7 42388
267f6cd9 42389 From Vincent Pelletier <subdino2004@yahoo.fr>
42390 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42391 Redefined to use grub_getwh.
42392 (grub_term): New member named getwh.
42393 (grub_getwh): New prototype.
42394 * kern/term.c (grub_getwh): New function.
42395 * term/i386/pc/console.c (grub_console_getwh): New function.
42396 (grub_console_term): New member `getwh'.
42397 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42398 (grub_vga_term): New member `getwh'.
0b5abe02 42399 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42400 grub_ssize_t.
42401 (grub_ofconsole_getw): New function.
42402 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42403 (grub_ofconsole_term): New field named getwh and new initial
42404 value.
42405
3be7266d 424062005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42407
42408 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42409 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42410 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42411 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42412 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42413 of <grub/machine/ieee1275.h>.
42414 * commands/ieee1275/reboot.c: Likewise.
42415 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42416 * kern/ieee1275.c: ... to here. All users updated. Change all
42417 parameter structs to use new type `grub_ieee1275_cell_t'.
42418 * term/powerpc/ieee1275/ofconsole.c: Move ...
42419 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42420 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42421 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42422 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42423 to return int.
42424 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42425 Remove unused prototypes. All users updated.
42426 * include/grub/powerpc/ieee1275/console.h: Removed.
42427 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42428 `grub_ieee1275_cell_t'.
42429 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42430 Cast comparisons with -1 to the correct type.
42431 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42432 type to match `grub_ieee1275_entry_fn'.
42433
8b5f3938 424342005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42435
42436 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42437
42438 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42439 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42440 partmap/sun.c.
42441 (grub_probefs_SOURCES): New variable.
42442
42443 * util/i386/pc/grub-probefs.c: New file.
42444
42445 * util/i386/pc/grub-setup.c (main): Call
42446 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42447 grub_hfs_init and grub_jfs_init to initialize the system. Call
42448 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42449 grub_pc_partition_map_fini to finish the system.
42450
ea409713 424512005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42452
42453 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42454 function.
42455 (grub_multiboot_load_elf32): Likewise.
42456 (grub_multiboot_is_elf64): Likewise.
42457 (grub_multiboot_load_elf64): Likewise.
42458 (grub_multiboot_load_elf): Likewise.
42459 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42460 an ELF32 or ELF64 file.
42461 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42462
42463 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42464 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42465 NULL before calling FS->LABEL.
42466 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42467 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42468 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42469 before calling FS->LABEL.
42470
141a288b 424712005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42472
42473 * util/i386/pc/grub-install.in (datadir): New variable.
42474 (libdir): Removed.
42475 (pkgdatadir): New variable.
42476 (pkglibdir): Removed.
42477
0d5f8a54 424782005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42479
42480 * DISTLIST: Added util/i386/pc/grub-install.in.
42481
42482 * util/i386/pc/grub-install.in: New file.
42483
42484 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42485 (grub_install_SOURCES): Likewise.
42486
42487 * genmk.rb: Added support for scripts.
42488 (Script): New class.
42489 (scripts): New variable.
42490
42491 * Makefile.in (install-local): Install sbin_SCRIPTS by
42492 INSTALL_SCRIPT.
42493 (uninstall): Remove sbin_SCRIPTS.
42494
42495 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42496 device, try to get a GRUB device by
42497 grub_util_biosdisk_get_grub_dev.
42498 Free DEST_DEV.
42499
42500 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42501 description for --device-map.
42502
5f968e1e 425032005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42504
42505 Change the semantics of variable hooks. They now return strings
42506 instead of error values.
f19dbdb7 42507
5f968e1e 42508 * util/i386/pc/grub-setup.c: Include grub/env.h.
42509 (setup): Use grub_device_set_root instead of grub_env_set.
42510
42511 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42512 grub_env_get instead of grub_device_set_root and
42513 grub_device_get_root, respectively.
42514
42515 * kern/main.c (grub_env_write_root): New function.
42516 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42517 grub_env_set instead of grub_device_set_root.
42518
42519 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42520 many variables.
42521 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42522 rather than calling ENV->WRITE_HOOK afterwards.
42523 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42524 passing a pointer of a pointer.
42525 (grub_register_variable_hook): Change the types of "read_hook" and
42526 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42527 respectively.
42528 Allocate the default empty string on the heap, because this string
42529 may be freed later.
42530
42531 * kern/device.c: Include grub/env.h.
42532 (grub_device_set_root): Removed.
42533 (grub_device_get_root): Likewise.
42534 (grub_device_open): Use grub_env_get instead of
42535 grub_device_get_root.
42536
42537 * include/grub/env.h (grub_env_read_hook_t): New type.
42538 (grub_env_write_hook_t): Likewise.
42539 (grub_env_var): Change the types of "read_hook" and "write_hook"
42540 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42541 (grub_register_variable_hook): Likewise.
42542
42543 * include/grub/device.h (grub_device_set_root): Removed.
42544 (grub_device_set_root): Likewise.
42545
42546 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42547 make sure that DIRNAME terminates with '/', so that
42548 grub_fat_find_dir will fail if PATH is not a directory.
42549
42550 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42551 from DIRNAME.
42552 Use the qualifier auto for print_files and print_files_long.
42553 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42554 as a regular file.
42555 Put a newline only if there is no error.
42556 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42557 used.
42558
896f0afd 425592005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42560
42561 * kern/partition.c (grub_partition_probe): Initialize PART to
42562 NULL. Otherwise, when no partition map is registered, this returns
42563 a garbage.
42564
b28b81b2 425652005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42566
42567 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42568 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42569 valid.
42570
5f3607e0 425712005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42572
42573 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42574 information on each device, if it does not have partitions. Print
42575 "Device" instead of "Disk", because this function is not specific
42576 to disk devices.
42577
42578 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42579 static to ensure that it is put on the memory rather than a
42580 register.
42581
502c87e8 425822005-07-17 Yoshinori Okuji <okuji@enbug.org>
42583
42584 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42585 (grub_cat_init): Likewise.
42586 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42587 (options): Likewise.
42588 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42589 (grub_configfile_init): Likewise.
42590 * font/manager.c (GRUB_MOD_INIT): Likewise.
42591 * commands/help.c (GRUB_MOD_INIT): Likewise.
42592 (grub_help_init): Likewise.
42593 * normal/command.c (grub_command_init): Likewise.
42594 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42595 * disk/loopback.c (grub_loop_init): Likewise.
42596 (GRUB_MOD_INIT): Likewise.
42597 * commands/ls.c (grub_ls_init): Likewise.
42598 (GRUB_MOD_INIT): Likewise.
42599 (options): Likewise.
42600 * commands/boot.c (grub_boot_init): Likewise.
42601 (GRUB_MOD_INIT): Likewise.
42602 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42603 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42604 (GRUB_MOD_INIT): Likewise.
42605 * commands/cmp.c (grub_cmp_init): Likewise.
42606 (GRUB_MOD_INIT): Likewise.
42607
42608 * normal/arg.c: Use <> instead of "" to include header files.
42609 (SHORT_ARG_HELP): New macro.
42610 (SHORT_ARG_USAGE): Likewise.
42611 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42612 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42613 descriptions.
42614 (find_short): Check if C is 'h' or 'u' explicitly.
42615 (grub_arg_show_help): Use space characters instead of tabs. Treat
42616 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42617 are shown with --help and --usage only if they are not used for
42618 the command itself.
42619 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42620 'h' and 'u'.
42621
42622 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42623 const into "longarg". Change the type of "shortarg" to int.
42624
f806d18e 426252005-07-17 Yoshinori Okuji <okuji@enbug.org>
42626
42627 * boot/i386/pc/boot.S (boot_drive_check): New label.
42628
42629 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42630 macro.
42631
42632 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42633 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42634
e293232b 426352005-07-17 Yoshinori Okuji <okuji@enbug.org>
42636
42637 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42638 When turning off Gate A20, skip the check and return immediately,
42639 because this is not fatal usually.
42640
ebedfd00 426412005-07-17 Yoshinori Okuji <okuji@enbug.org>
42642
42643 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42644 be 0x7C00 instead of 0x8000.
42645
42646 * boot/i386/pc/pxeboot.S: Rewritten.
42647
42648 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42649 EXT_C.
42650 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42651 result.
42652
654fc59f 426532005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42654
42655 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42656 robustness. This routine now supports a BIOS call and System
42657 Control Port A to modify the gate A20.
42658
42659 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42660 Increased to 0x440.
42661
09f9923f 426622005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42663
42664 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42665 device path and resulting ihandle.
42666 (grub_ofdisk_close): dprintf the ihandle being closed.
42667 (grub_ofdisk_read): dprintf function parameters.
42668 * kern/mm.c (grub_mm_init_region): Likewise.
42669 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42670 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42671 size, and boot arguments.
42672 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42673 before loading into memory.
42674 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42675 before loading into memory.
42676
7ef504d8 426772005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42678
42679 * kern/mm.c: Added much documentation.
42680 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42681 8, set to 5 instead of 8.
42682
e0f050c2 426832005-07-10 Yoshinori Okuji <okuji@enbug.org>
42684
42685 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42686
42687 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42688 (grub_mkdevicemap_SOURCES): New variable.
42689
42690 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42691 lib/device.c of GRUB Legacy.
42692
7224189a 426932005-07-10 Yoshinori Okuji <okuji@enbug.org>
42694
42695 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42696 instead of PATH is NULL.
42697
68c864eb 426982005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42699
42700 * commands/cmp.c (BUFFER_SIZE): New macro.
42701 (grub_cmd_cmp): Close the right file at the right time. Compare
42702 only data just read. Don't report files of different size as
42703 identical. Dynamically allocate buffers. Move variable
42704 declarations at the beginning of function.
42705
e6f3e614 427062005-07-09 Yoshinori Okuji <okuji@enbug.org>
42707
42708 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42709 reverse.
42710
f8f1559a 427112004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42712
42713 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42714 when backspace is pressed at beginning of line.
42715
39c9d41d 427162005-07-03 Yoshinori Okuji <okuji@enbug.org>
42717
42718 * DISTLIST: Added genfslist.sh.
42719
42720 * normal/main.c (fs_module_list): New variable.
42721 (autoload_fs_module): New function.
42722 (read_fs_list): Likewise.
42723 (grub_normal_execute): Call read_fs_list.
42724
42725 * kern/fs.c (grub_fs_autoload_hook): New variable.
42726 (grub_fs_probe): Added support for auto-loading.
42727
42728 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42729 (grub_fs_module_list_t): New type.
42730
42731 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42732 (grub_fs_autoload_hook): New prototype.
42733
42734 * genfslist.sh: New file.
f19dbdb7 42735
39c9d41d 42736 * genmk.rb: Added a rule to generate a filesystem list.
42737
121c1d83 427382005-06-30 Marco Gerards <metgerards@student.han.nl>
42739
42740 * configure.ac: Fix the test for cross-compiling.
42741
42742 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42743 define GRUB_UTIL anymore.
42744
42745 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42746 so this function works on other systems than just big endian.
42747 (load_modules): Likewise.
42748 (add_segments): Likewise.
42749
e75d76e1 427502005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42751
42752 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42753 contains `l' modifier, get a long from va_arg().
42754
50b5a0a7 427552005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42756
42757 * kern/mm.c (grub_free): If the next free block which is being
42758 merged is the first free block, set the first block to the block
42759 being freed.
42760 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42761
89371b20 427622005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42763
42764 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42765 `grub_ieee1275_chosen'.
42766
168d6e58 427672005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42768
42769 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42770 (grub_ieee1275_chosen): New variable.
42771 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42772 `chosen'.
42773 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42774 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42775 Rename first argument to `phandle' for consistency.
42776 (grub_ieee1275_get_property_length): Likewise.
42777 (grub_ieee1275_next_property): Likewise. Change type of first argument
42778 to grub_ieee1275_phandle_t.
42779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42780 Move export next to declaration.
42781 (grub_ieee1275_chosen): New variable.
42782 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42783 Correct cosmetic typo.
42784 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42785 `grub_ieee1275_chosen'.
42786 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42787 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42788 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42789 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42790 `grub_ieee1275_chosen'.
42791
ca5baa3f 427922005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42793
42794 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42795 /chosen/bootargs.
42796 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42797 /chosen/bootargs as "variable=value" pairs.
42798
708b345f 427992005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42800
42801 * include/grub/misc.h (grub_dprintf): New macro.
42802 (grub_real_dprintf): New prototype.
42803 (grub_strword): Likewise.
42804 (grub_iswordseparator): Likewise.
42805 * kern/misc.c (grub_real_dprintf): New function.
42806 (grub_strword): Likewise.
42807 (grub_iswordseparator): Likewise.
42808
f4c5e67c 428092005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42810
42811 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42812 (roundup): Remove macro.
42813 (grub_ieee1275_flags): Make static.
42814 (grub_ieee1275_realmode): Remove.
42815 (grub_ieee1275_test_flag): New function.
42816 (grub_ieee1275_set_flag): Likewise.
42817 (find_options): Rename to `grub_ieee1275_find_options'; update
42818 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42819 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42820 (cmain): New prototype.
42821 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42822 `grub_ieee1275_flags' directly.
42823 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42824 machine/biosdisk.h.
42825 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42826 Don't include grub/machine/init.h.
42827 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42828 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42829 Remove prototype.
42830 (grub_ieee1275_realmode): Likewise.
42831 (grub_ieee1275_flag): New enum.
42832 (grub_ieee1275_test_flag): New prototype.
42833 (grub_ieee1275_set_flag): New prototype.
42834 * include/grub/powerpc/ieee1275/init.h: Remove file.
42835 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42836 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42837 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42838 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42839 comment.
42840 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42841 `grub_ieee1275_test_flag'.
42842 (grub_ieee1275_encode_devname): Likewise.
42843
ed16607e 428442005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42845
42846 * include/grub/powerpc/ieee1275/ieee1275.h
42847 (grub_ieee1275_encode_devname): New prototype.
42848 (grub_ieee1275_get_filename): Likewise.
42849 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42850 function.
42851 (grub_set_prefix): Likewise.
42852 (grub_machine_init): Call grub_set_prefix.
42853 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42854 (grub_parse_type): New enum.
42855 (grub_ieee1275_get_devargs): New function.
42856 (grub_ieee1275_get_devname): Likewise.
42857 (grub_ieee1275_parse_args): Likewise.
42858 (grub_ieee1275_get_filename): Likewise.
42859 (grub_ieee1275_encode_devname): Likewise.
42860
be369920 428612005-03-30 Marco Gerards <metgerards@student.han.nl>
42862
42863 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42864 `grub_loader_unset'.
42865
a5ce3a4a 428662005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42867
42868 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42869 instead of grub_ieee1275_interpret.
42870 (grub_halt_init): New function.
42871 (grub_halt_fini): Likewise.
42872 (GRUB_MOD_INIT): Correct message grammar.
42873 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42874 instead of grub_ieee1275_interpret.
42875 (grub_reboot_init): New function.
42876 (grub_reboot_fini): Likewise.
42877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42878 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42879 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42880 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42881 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42882 function.
42883 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42884 Add prototype.
42885 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42886 prototype.
42887 (grub_halt): Likewise.
42888 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42889 (cmain): Remove __attribute__((unused)).
42890 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42891 (grub_heap_len): Likewise.
42892 (grub_machine_fini): New function.
42893 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42894 (grub_halt): Likewise.
42895 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42896 function.
42897 * util/powerpc/ieee1275/misc.c: New file.
42898
0058f771 428992005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42900
42901 * DISTLIST: New file.
42902 * gendistlist.sh: Likewise.
f19dbdb7 42903
0058f771 42904 * Makefile.in (COMMON_DISTFILES): Removed.
42905 (BOOT_DISTFILES): Likewise.
42906 (CONF_DISTFILES): Likewise.
42907 (DISK_DISTFILES): Likewise.
42908 (FS_DISTFILES): Likewise.
42909 (INCLUDE_DISTFILES): Likewise.
42910 (KERN_DISTFILES): Likewise.
42911 (LOADER_DISTFILES): Likewise.
42912 (TERM_DISTFILES): Likewise.
42913 (UTIL_DISTFILES): Likewise.
42914 (DISTFILES): Likewise.
42915 (uninstall): Uninstall files in $(pkgdata_DATA).
42916 (DISTLIST): New target.
42917 (distdir): Use the contents of the file DISTLIST to get a list of
42918 distributed files.
42919
46b3b8a5 429202005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42921
42922 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42923 descriptor. This is ported from GRUB Legacy.
42924
42925 * gencmdlist.sh: Added an extra semicolon to make it work with
42926 old sed versions. Reported by Robert Bihlmeyer
42927 <robbe@orcus.priv.at>.
42928
5822ff87 429292005-03-08 Yoshinori Okuji <okuji@enbug.org>
42930
42931 Automatic loading of commands is supported.
f19dbdb7 42932
5822ff87 42933 * normal/main.c (read_command_list): New function.
42934 (grub_normal_execute): Call read_command_list.
42935
42936 * normal/command.c (grub_register_command): Return zero or CMD.
42937 Allocate CMD->NAME from the heap.
42938 Initialize CMD->MODULE_NAME to zero.
42939 Find the same name as well. If the same command is found and it is
42940 a dummy command, overwrite members. If it is not a dummy command,
42941 return zero.
42942 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42943 (grub_command_find): If a dummy command is found, load a module
42944 and retry to find a command only once.
42945
42946 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42947 make sure that each command is loaded.
42948
42949 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42950 macro.
42951 (struct grub_command): Remove const from the member `name'.
42952 Add a new member `module_name'.
42953 (grub_register_command): Return grub_command_t.
42954
42955 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42956 sure that each command is loaded.
42957
42958 * genmk.rb (PModule::rule): Specify a module name without the
42959 suffix ".mod" to gencmdlist.sh.
42960
7b1f4b57 429612005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42962
42963 * gencmdlist.sh: New file.
f19dbdb7 42964
7b1f4b57 42965 * genmk.rb (PModule::rule): Generate a rule for a command list.
42966 Clean command.lst.
42967 Generate command.lst from $(COMMANDFILES).
42968
42969 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42970 (DATA): Added $(pkgdata_DATA).
42971 (install-local): Install files in $(pkgdata_DATA).
42972
062aaf39 429732005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42974
42975 * term/i386/pc/vga.c (debug_command): Removed.
42976 (GRUB_MOD_INIT): Do not register the command "debug".
42977
42978 From Hollis Blanchard:
42979 * commands/configfile.c: New file.
42980 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42981 commands/configfile.c.
42982 (pkgdata_MODULES): Added configfile.mod.
42983 (configfile_mod_SOURCES): New variable.
42984 (configfile_mod_CFLAGS): Likewise.
42985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42986 commands/configfile.c.
42987 (pkgdata_MODULES): Added configfile.mod.
42988 (configfile_mod_SOURCES): New variable.
42989 (configfile_mod_CFLAGS): Likewise.
42990 * util/grub-emu.c (main): Call grub_configfile_init and
42991 grub_configfile_fini.
42992 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42993 prototype.
42994 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42995
cee01aa6 429962005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42997
42998 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42999 address.
43000
43001 * commands/help.c (grub_cmd_help): Do not print newlines after
43002 the last command in print_command_help.
43003
93f3a1d8 430042005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43005
43006 * commands/default.h: New file.
43007 * commands/timeout.h: Likewise.
43008 * normal/context.c: Likewise.
f19dbdb7 43009
93f3a1d8 43010 * util/misc.c: Do not include sys/times.h.
43011 Include sys/time.h and grub/machine/time.h.
43012 (grub_get_rtc): Rewritten with gettimeofday.
43013
43014 * util/grub-emu.c (main): Call grub_default_init and
43015 grub_timeout_init before grub_normal_init, and call
43016 grub_timeout_fini and grub_default_fini after grub_main.
43017
43018 * util/console.c (grub_ncurses_checkkey): Return the read
43019 character or -1.
43020
43021 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43022 timeouts.
43023
43024 * normal/main.c (read_config_file): Push MENU. If this fails,
43025 print an error and wait for a user input.
43026 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43027 If a menu is empty or an error occurs, pop MENU.
43028 (grub_normal_execute): Pop and free MENU after grub_menu_run
43029 returns.
43030
43031 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43032
43033 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43034 include time.h.
43035 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43036 without GRUB_UTIL.
43037 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43038 time.h.
43039 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43040 without GRUB_UTIL.
43041
43042 * include/grub/normal.h (struct grub_menu_list): New struct.
43043 (grub_menu_list_t): New type.
43044 (struct grub_context): New struct.
43045 (grub_context_t): New type.
43046 (grub_register_command): Got rid of EXPORT_FUNC.
43047 (grub_unregister_command): Likewise.
43048 (grub_context_get): New prototype.
43049 (grub_context_get_current_menu): Likewise.
43050 (grub_context_push_menu): Likewise.
43051 (grub_context_pop_menu): Likewise.
43052 [GRUB_UTIL] (grub_default_init): Likewise.
43053 [GRUB_UTIL] (grub_default_fini): Likewise.
43054 [GRUB_UTIL] (grub_timeout_init): Likewise.
43055 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43056
43057 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43058 commands/timeout.c and normal/context.c.
43059 (pkgdata_MODULES): Added default.mod and timeout.mod.
43060 (normal_mod_SOURCES): Added normal/context.c.
43061 (default_mod_SOURCES): New variable.
43062 (default_mod_CFLAGS): Likewise.
43063 (timeout_mod_SOURCES): Likewise.
43064 (timeout_mod_CFLAGS): Likewise.
43065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43066 conf/i386-pc.rmk.
43067 (pkgdata_MODULES): Added default.mod and timeout.mod.
43068 (normal_mod_SOURCES): Added normal/context.c.
43069 (default_mod_SOURCES): New variable.
43070 (default_mod_CFLAGS): Likewise.
43071 (timeout_mod_SOURCES): Likewise.
43072 (timeout_mod_CFLAGS): Likewise.
43073
43074 * Makefile.in (all-local): Added $(MKFILES).
43075
4ed2e1dd 430762005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43077
43078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43079 (grub_emu_SOURCES): Likewise.
43080 (pkgdata_MODULES): Add `sun.mod'.
43081 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43083 `partmap/sun.c'.
43084 (pkgdata_MODULES): Add `sun.mod'.
43085 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43086 * include/grub/partition.h (grub_sun_partition_map_init): New
43087 prototype.
43088 (grub_sun_partition_map_fini): Likewise.
43089 * partmap/sun.c: New file.
43090 * util/grub-emu.c (main): Initialize and de-initialize the sun
43091 partitionmap support.
43092
4d4e372e 430932005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43094
43095 This implements an Emacs-like menu entry editor.
f19dbdb7 43096
4d4e372e 43097 * normal/menu_entry.c: New file.
f19dbdb7 43098
4d4e372e 43099 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43100 characters to ASCII.
43101 (saved_char): New variable.
43102 (grub_ncurses_checkkey): Rewritten completely.
43103 (grub_ncurses_getkey): Likewise.
43104 (grub_ncurses_init): Call raw instead of cbreak.
43105
43106 * normal/menu.c (print_entry): Do not put a space.
43107 (init_page): Renamed to ...
43108 (grub_menu_init_page): ... this. All callers changed.
43109 (edit_menu_entry): Removed.
43110 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43111
43112 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43113
43114 * kern/misc.c (grub_vprintf): Call grub_refresh.
43115
43116 * normal/menu.c (DISP_LEFT): Renamed to ...
43117 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43118 * normal/menu.c (DISP_UP): Renamed to ...
43119 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43120 * normal/menu.c (DISP_RIGHT): Renamed to ...
43121 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43122 * normal/menu.c (DISP_DOWN): Renamed to ...
43123 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43124 * normal/menu.c (DISP_HLINE): Renamed to ...
43125 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43126 * normal/menu.c (DISP_VLINE): Renamed to ...
43127 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43128 * normal/menu.c (DISP_UL): Renamed to ...
43129 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43130 * normal/menu.c (DISP_UR): Renamed to ...
43131 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43132 * normal/menu.c (DISP_LL): Renamed to ...
43133 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43134 * normal/menu.c (DISP_LR): Renamed to ...
43135 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43136 * normal/menu.c (TERM_WIDTH): Renamed to ...
43137 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43138 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43139 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43140 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43141 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43142 * normal/menu.c (TERM_MARGIN): Renamed to ...
43143 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43144 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43145 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43146 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43147 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43148 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43149 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43150 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43151 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43152 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43153 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43154 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43155 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43156 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43157 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43158 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43159 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43160 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43161 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43162 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43163 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43164 All callers changed.
43165
43166 * include/grub/normal.h: New prototype.
43167
43168 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43169 normal/menu_entry.c.
43170 (normal_mod_SOURCES): Likewise.
43171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43172 (normal_mod_SOURCES): Likewise.
43173
e6b92c8a 431742005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43175
43176 * include/grub/normal.h (grub_halt_init): New prototype.
43177 (grub_halt_fini): Likewise.
43178 (grub_reboot_init): Likewise.
43179 (grub_reboot_fini): Likewise.
43180
43181 * util/grub-emu.c: Include signal.h.
43182 (main_env): New global variable.
43183 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43184 catch C-c.
43185 (grub_machine_fini): New function.
43186 (main): Call grub_halt_init and grub_reboot_init before
43187 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43188 Call setjmp with MAIN_ENV to go back afterwards.
43189 Call grub_machine_fini right before return.
43190
43191 * include/grub/util/misc.h: Include setjmp.h.
43192 (main_env): New prototype.
43193
43194 * include/grub/kernel.h (grub_machine_fini): New prototype.
43195 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43196 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43197
43198 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43199 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43200 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43201
e6b92c8a 43202 * util/i386/pc/misc.c: New file.
f19dbdb7 43203
e6b92c8a 43204 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43205 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43206 commands/i386/pc/reboot.c.
43207
c642636f 432082005-02-14 Guillem Jover <guillem@hadrons.org>
43209
43210 * include/grub/dl.h (grub_dl_check_header): New prototype.
43211 (grub_arch_dl_check_header): Change return type to grub_err_t,
43212 remove size parameter and export function. Update all callers.
43213 * kern/dl.c (grub_dl_check_header): New function.
43214 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43215 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43216 are inside the core.
43217 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43218 independent ELF header checks.
43219 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43220 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43221 `grub_dl_check_header' instead of explicit checks. Check for the
43222 ELF type.
43223 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43224 `grub_dl_check_header' instead of explicit checks. Remove arch
43225 specific ELF header checks.
43226
e6b92c8a 43227 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43228 argument SIZE.
43229
5eabe94b 432302005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43231
43232 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43233 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43234
1b14a681 432352005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43236
43237 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43238 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43239 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43240 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43241 * partmap/amiga.c (amiga_partition_map_iterate): Return
43242 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43243 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43244
aca108aa 432452005-02-01 Guillem Jover <guillem@hadrons.org>
43246
43247 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43248 help info.
43249
c9f9c556 432502005-01-31 Marco Gerards <metgerards@student.han.nl>
43251
43252 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43253 Removed prototype.
43254 (grub_rescue_cmd_linux): New prototype.
43255 (grub_rescue_cmd_initrd): Likewise.
43256 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43257 `bi_rec'.
43258 (grub_linux_release_mem): Release the memory for the initrd.
43259 (grub_load_linux): Renamed from this...
43260 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43261 Changed `entry' not to be static. Loop over memory regions to
43262 find another one when the default fails.
43263 (grub_rescue_cmd_initrd): New function.
43264 (grub_linux_init): Remove function.
43265 (grub_linux_fini): Likewise.
43266 (GRUB_MOD_INIT): Register `initrd'.
43267 (GRUB_MOD_FINI): Unregister `initrd'.
43268 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43269 Function removed.
43270 (grub_linux_normal_fini): Likewise.
43271 (GRUB_MOD_INIT): Register `initrd'.
43272 (GRUB_MOD_FINI): Unregister `initrd'.
43273
990cf3aa 432742005-01-31 Marco Gerards <metgerards@student.han.nl>
43275
43276 * commands/help.c: New file.
43277 * normal/arg.c (show_help): Renamed to...
43278 (grub_arg_show_help): ... this.
43279 * commands/i386/pc/halt.c: New file.
43280 * commands/i386/pc/reboot.c: Likewise.
43281 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43282 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43283 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43284 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43285 variables.
43286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43287 `commands/help.c'.
43288 (pkgdata_MODULES): Add `help.mod'.
43289 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43290 * grub/i386/pc/init.h (grub_reboot): New prototype.
43291 (grub_halt): Likewise.
43292 * include/grub/normal.h (grub_arg_show_help): New prototype.
43293 (grub_help_init): Likewise.
43294 (grub_help_fini): Likewise.
43295 * util/grub-emu.c (main): Initialize and deinitialize the help
43296 command.
43297
43298 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43299
43300 * normal/command.c (grub_command_init): Fixed the description of
43301 the `set' and `unset' commands.
43302
433032005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43304
43305 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43306 function.
43307 * commands/ieee1275/halt.c: New file.
43308 * commands/ieee1275/reboot.c: Likewise.
43309 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43310 `__attribute__ ((unused))'. Some GCS related fixed.
43311 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43312 (grub_suspend_fini): Likewise.
43313 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43314 and `halt.mod'.
43315 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43316 (halt_mod_CFLAGS): New variables.
43317 * include/grub/powerpc/ieee1275/ieee1275.h
43318 (grub_ieee1275_interpret): New prototype.
43319
1ab09cc7 433202005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43321
43322 * include/grub/misc.h (memmove): New prototype.
43323 (memcpy): Likewise.
43324
8b8cbdb2 433252005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43326
43327 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43328 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43329
e3741a27 433302005-01-22 Marco Gerards <metgerards@student.han.nl>
43331
43332 * kern/misc.c (grub_strndup): Function rewritten.
43333
776bd780 433342005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43335
43336 * normal/menu.c (TERM_WIDTH): Macro redefined.
43337 (TERM_TOP_BORDER_Y): Likewise.
43338 (draw_border): Replaced while-loop by a for-loop. Make the number
43339 of lines consistent with the number of lines displayed in
43340 print_entries. Added a margin below the rectangle.
43341 (print_entry): Make the entry fit in the rectangle.
43342 (print_entries): Display the scroll arrows next to the right
43343 border.
43344
78026bce 433452005-01-21 Marco Gerards <metgerards@student.han.nl>
43346
43347 * fs/minix.c (grub_minix_find_file): Reserve more space for
43348 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43349 `grub_strncpy' to copy `path' into it.
43350
67bbaf0f 433512005-01-21 Marco Gerards <metgerards@student.han.nl>
43352
43353 Add the loopback device, a device via which files can be accessed
43354 as devices.
f19dbdb7 43355
67bbaf0f 43356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43357 (pkgdata_MODULES): Add loopback.mod.
43358 (loopback_mod_SOURCES): New variable.
43359 (loopback_mod_CFLAGS): Likewise.
43360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43361 `disk/loopback.c'.
43362 (pkgdata_MODULES): Add loopback.mod.
43363 (loopback_mod_SOURCES): New variable.
43364 (loopback_mod_CFLAGS): Likewise.
43365 * disk/loopback.c: new file.
43366 * include/grub/normal.h (grub_loop_init): New prototype.
43367 (grub_loop_fini): New prototype.
43368 * util/grub-emu.c (main): Initialize and de-initialize loopback
43369 support.
43370 * include/grub/disk.h (grub_disk_dev_id): Add
43371 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43372
6f1c18bd 433732005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43374
43375 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43376 function.
43377 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43378 (suspend_mod_SOURCES): New variable.
43379 (suspend_mod_CFLAGS): Likewise.
43380 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43381 New prototype.
43382 * commands/ieee1275/suspend.c: New file.
43383
b38551da 433842005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43385
43386 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43387 ((unused))' to `__attribute__ ((used))'.
b38551da 43388 (GRUB_MOD_FINI): Likewise.
43389 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43390 * genmk.rb (PModule): Assign space to common symbols when linking
43391 modules.
43392
777aff39 433932005-01-20 Marco Gerards <metgerards@student.han.nl>
43394
43395 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43396 `unsigned' arguments to `grub_size_t'.
43397 (grub_malloc): Likewise.
43398 (grub_realloc): Likewise.
43399 (grub_memalign): Likewise.
43400 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43401 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43402 * util/misc.c (grub_malloc): Likewise.
43403 (grub_realloc): Likewise.
43404 * kern/mm.c (get_header_from_pointer): Change the casts to
43405 `unsigned' into a cast to `grub_size_t'.
43406
43407 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43408 point to `currnode' when `currnode' is changed.
43409
43410 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43411 Schottelius <nico-linux@schottelius.org>.
43412
d0ff18e1 434132005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43414
43415 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43416 (note_path): Remove variable.
43417 (GRUB_IEEE1275_NOTE_NAME): New macro.
43418 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43419 (grub_ieee1275_note_hdr): New structure.
43420 (grub_ieee1275_note_desc): Likewise.
43421 (grub_ieee1275_note): Likewise.
43422 (load_note): Remove `dir' argument. All callers updated. Remove
43423 `note_img' and `path'. Do not load a file from `note_path'.
43424 Initialize a struct grub_ieee1275_note and write that to `out'.
43425 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43426
4ca7004c 434272005-01-05 Marco Gerards <metgerards@student.han.nl>
43428
43429 * util/misc.c (grub_util_read_image): Revert last change. It
43430 called `grub_util_read_at', which seeks from the beginning of the
43431 file.
43432
0b412211 434332005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43434
43435 * TODO: Add note about endianness in grub-mkimage.
43436 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43437 section.
43438 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43439 (grub_mkimage_SOURCES): New target.
43440 * include/grub/kernel.h (grub_start_addr): Remove variable.
43441 (grub_end_addr): Likewise.
43442 (grub_total_module_size): Likewise.
43443 (grub_kernel_image_size): Likewise.
43444 (GRUB_MODULE_MAGIC): New constant.
43445 (grub_module_info): New structure.
43446 (grub_arch_modules_addr): New prototype.
43447 (grub_get_end_addr): Remove prototype.
43448 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43449 * include/grub/powerpc/ieee1275/kernel.h: New file.
43450 * include/grub/util/misc.h (grub_util_get_fp_size): New
43451 prototype.
43452 (grub_util_read_at): Likewise.
43453 (grub_util_write_image_at): Likewise.
43454 * kern/main.c (grub_get_end_addr): Remove function.
43455 (grub_load_modules): Call grub_arch_modules_addr instead of using
43456 grub_end_addr. Look for a grub_module_info struct in memory. Use
43457 the grub_module_info fields instead of calling grub_get_end_addr
43458 as loop conditions. Move grub_add_unused_region code here.
43459 (grub_add_unused_region): Remove function.
43460 * kern/i386/pc/init.c: Include grub/cache.h.
43461 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43462 one call to add_mem_region.
43463 (grub_arch_modules_addr): New function.
43464 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43465 (grub_total_module_size): Likewise.
43466 Include grub/machine/kernel.h.
43467 (grub_arch_modules_addr): New function.
43468 * util/grub-emu.c (grub_end_addr): Remove variable.
43469 (grub_total_module_size): Likewise.
43470 (grub_arch_modules_addr): New function.
43471 * util/misc.c: Include unistd.h.
43472 (grub_util_get_fp_size): New function.
43473 (grub_util_read_at): Likewise.
43474 (grub_util_write_image_at): Likewise.
43475 (grub_util_read_image): Call grub_util_read_at.
43476 (grub_util_write_image): Call grub_util_write_image_at.
43477 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43478 additional memory in kernel_img for a struct grub_module_info.
43479 Fill in that grub_module_info.
43480 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43481
458786f8 434822005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43483
43484 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43485 New function.
43486 * include/grub/powerpc/ieee1275/ieee1275.h
43487 (grub_ieee1275_milliseconds): New prototype.
43488 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43489 Change to 1000.
43490 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43491 grub_ieee1275_milliseconds.
43492
ac507d1b 434932005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43494
43495 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43496 variable.
43497 (find_options): New function.
43498 (cmain): Call find_options.
43499 * include/grub/powerpc/ieee1275/ieee1275.h
43500 (grub_ieee1275_realmode): New extern variable.
43501 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43502 grub_map if grub_ieee1275_realmode is false.
43503
6b8fd1c4 435042004-12-29 Marco Gerards <metgerards@student.han.nl>
43505
43506 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43507 lines are inserted and make it work like readline. Reported by
43508 Vincent Pelletier <subdino2004@yahoo.fr>.
43509
8514a1e0 435102004-12-28 Marco Gerards <metgerards@student.han.nl>
43511
43512 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43513
43514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43515 `kern/powerpc/cache.S'.
43516
924b6140 435172004-12-27 Marco Gerards <metgerards@student.han.nl>
43518
43519 * genmk.rb: Handle the `Program' class in the main loop. Written
43520 by Johan Rydberg <jrydberg@gnu.org>.
43521 (Program): New class.
43522 (programs): New variable.
43523 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43524 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43525 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43526 (help_arch): Function removed.
43527 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43528 `powerpc/libgcc.h' and `loader.h'.
43529 (pkgdata_PROGRAMS): New variable.
43530 (sbin_UTILITIES): Variable removed.
43531 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43532 (grubof_SOURCES): Variable re-defined so it only includes the
43533 core functionality.
43534 (grubof_CFLAGS): Remove `-DGRUBOF'.
43535 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43536 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43537 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43538 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43539 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43540 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43541 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43542 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43543 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43544 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43545 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43546 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43547 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43548 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43549 (pc_mod_CFLAGS): New variables.
43550 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43551 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43552 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43553 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43554 Moved from here...
43555 * include/grub/i386/pc/init.h (grub_os_area_addr)
43556 (rub_os_area_size): ... to here.
43557 * include/grub/powerpc/ieee1275/ieee1275.h
43558 (grub_ieee1275_entry_fn): Export symbol.
43559 * include/grub/powerpc/ieee1275/init.h: New file.
43560 * include/grub/powerpc/libgcc.h: Likewise.
43561 * include/grub/cache.h: Likewise.
43562 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43563 <hollis@penguinppc.org>.
43564 * kern/dl.c: Include <grub/cache.h>.
43565 (grub_dl_flush_cache): New function.
43566 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43567 for this module.
43568 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43569 (grub_console_init): Removed prototypes.
43570 (grub_machine_init): Don't initialize the modules anymore.
43571 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43572 static.
43573 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43574 Macro undef removed.
43575 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43576 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43577 relocation `R_PPC_REL32'. Return an error when the relocation is
43578 unknown.
43579 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43580 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43581 * util/misc.c (grub_arch_sync_caches): Likewise.
43582
e4b47e0c 435832004-12-19 Marco Gerards <metgerards@student.han.nl>
43584
43585 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43586 `symlist.c', add `grubof_symlist.c'.
43587 (symlist.c): Variable removed.
43588 (grubof_HEADERS): Variable added.
43589 (grubof_symlist.c): New target.
43590 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43591 `kernel_img_HEADERS'.
43592 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43593 * kern/powerpc/dl.c: New file.
43594 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43595 Function removed.
43596 (grub_arch_dl_relocate_symbols): Likewise.
43597 (grub_register_exported_symbols): Likewise.
43598
4ceb3636 435992004-12-13 Marco Gerards <metgerards@student.han.nl>
43600
43601 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43602 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43603 to fail instead. Reported by Vincent Pelletier
43604 <subdino2004@yahoo.fr>.
43605
43606 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43607 it is not allocated. Reported by Vincent Pelletier
43608 <subdino2004@yahoo.fr>.
43609
43610 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43611 output so the output looks better.
f19dbdb7 43612
3f1578fe 436132004-12-04 Marco Gerards <metgerards@student.han.nl>
43614
43615 Modulize the partition map support and add support for the amiga
43616 partition map.
f19dbdb7 43617
3f1578fe 43618 * commands/ls.c: Include <grub/partition.h> instead of
43619 <grub/machine/partition.h>.
43620 * kern/disk.c: Likewise.
43621 * kern/rescue.c: Likewise.
43622 * loader/i386/pc/chainloader.c: Likewise.
43623 * normal/cmdline.c: Likewise.
43624 * kern/powerpc/ieee1275/init.c: Likewise.
43625 (grub_machine_init): Call `grub_pc_partition_map_init',
43626 `grub_amiga_partition_map_init' and
43627 `grub_apple_partition_map_init'.
43628 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43629 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43630 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43631 `partition.h' and `pc_partition.h'.
43632 (grub_setup_SOURCES): Remove
43633 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43634 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43635 (grub_emu_SOURCES): Likewise.
43636 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43637 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43638 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43640 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43641 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43642 (grubof_SOURCES): Likewise.
43643 * disk/i386/pc/partition.c: File removed.
43644 * disk/powerpc/ieee1275/partition.c: Likewise.
43645 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43646 * include/grub/i386/pc/partition.h: Likewise.
43647 * kern/partition.c: New file.
43648 * partmap/amiga.c: Likewise.
43649 * partmap/apple.c: Likewise.
43650 * partmap/pc.c: Likewise.
43651 * include/grub/partition.h: Likewise..
43652 * include/grub/pc_partition.h: Likewise.
43653 * util/grub-emu.c: Include <grub/partition.h> instead of
43654 <grub/machine/partition.h>.
43655 (main): Call `grub_pc_partition_map_init',
43656 `grub_amiga_partition_map_init' and
43657 `grub_apple_partition_map_init' and deinitialize afterwards.
43658 * util/i386/pc/biosdisk.c: Include `#include
43659 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43660 `<grub/machine/partition.h>'.
43661 * util/i386/pc/grub-setup.c: Likewise.
43662 * util/i386/pc/biosdisk.c: Likewise.
43663 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43664 partition information in case of a PC partition.
43665 * util/i386/pc/grub-setup.c: Include `#include
43666 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43667 `<grub/machine/partition.h>'.
43668 (setup): Only access the PC specific partition information in case
43669 of a PC partition.
43670
0ef4ced9 436712004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43672
0ef4ced9 43673 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43674 (grub_longjmp): Likewise.
43675 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43676 20.
43677 * normal/powerpc/setjmp.S: New file.
43678 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43679 `normal/powerpc/setjmp.S'.
43680 (grubof_CFLAGS): Add `-DGRUBOF'.
43681 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43682 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43683
19950e29 436842004-11-16 Marco Gerards <metgerards@student.han.nl>
43685
43686 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43687 property named `name'. Correctly handle the error returned by
43688 `grub_ieee1275_finddevice' if a device can not be opened.
43689
a2fea427 436902004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43691
43692 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43693 `actual' for negativity.
43694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43695 kern/fshelp.c.
43696
41ea0ea3 436972004-11-01 Marco Gerards <metgerards@student.han.nl>
43698
43699 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43700 (PAGE_OFFSET): New macro.
43701 (CRTC_ADDR_PORT): Likewise.
43702 (CRTC_DATA_PORT): Likewise.
43703 (START_ADDR_HIGH_REGISTER): Likewise.
43704 (START_ADDR_LOW_REGISTER): Likewise.
43705 (GRAPHICS_ADDR_PORT): Likewise.
43706 (GRAPHICS_DATA_PORT): Likewise.
43707 (READ_MAP_REGISTER): Likewise.
43708 (INPUT_STATUS1_REGISTER): Likewise.
43709 (INPUT_STATUS1_VERTR_BIT): Likewise.
43710 (page): New variable.
43711 (wait_vretrace): New function.
43712 (set_read_map): Likewise.
43713 (set_start_address): Likewise.
43714 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43715 the right page.
43716 (check_vga_mem): Take the page into account.
43717 (write_char): Likewise.
43718 (write_cursor): Likewise.
43719 (scroll_up): Likewise. Copy the page to the page that is not
43720 shown and switch between both pages.
43721 (grub_vga_putchar): Fix off by one error.
43722 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43723 account.
43724
ad0bd20b 437252004-11-01 Marco Gerards <metgerards@student.han.nl>
43726
43727 Add support for iso9660 (including rockridge).
f19dbdb7 43728
ad0bd20b 43729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43730 (iso9660_mod_SOURCES): New variable.
43731 (iso9660_mod_CFLAGS): Likewise.
43732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43733 * include/grub/fs.h (grub_iso9660_init): New prototype.
43734 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43735 * fs/iso9660.c: New file.
43736
43737 * include/grub/misc.h (grub_strncat): New prototype.
43738 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43739
ad0bd20b 43740 * fs/hfs.c (grub_hfs_mount): Translate the error
43741 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43742 * fs/jfs.c (grub_jfs_mount): Likewise.
43743 * fs/ufs.c (grub_ufs_mount): Likewise.
43744
a5477a59 437452004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43746
43747 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43748 which initialized BAT registers.
43749 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43750 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43751 Move from here...
43752 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43753 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43754 ... to here.
43755 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43756 (grub_mapclaim): Likewise.
43757 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43758 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43759 hand.
43760
9304c1f8 437612004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43762
43763 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43764 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43765 -ffreestanding and -msoft-float.
43766
86f4ae25 437672004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43768
43769 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43770 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43771 set in grub_ieee1275_flags.
43772
38912228 437732004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43774
43775 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43776 prototype.
43777 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43778 grub_console_init first.
43779 Change the memory range used for grub_ieee1275_claim and
43780 grub_mm_init_region.
43781 Print an error message if the claim fails.
43782 Include <grub/misc.h>.
43783
d1923dc8 437842004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43785
43786 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43787 Call grub_children_iterate for device nodes of type `scsi',
43788 `ide', or `ata'.
43789 (grub_ofdisk_open): Remove manual device alias resolution.
43790 Fix memory leak when device cannot be opened.
f19dbdb7 43791 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43792 (grub_children_iterate): New prototype.
43793 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43794 New function.
43795 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43796 Return -1 if args.size was -1.
43797
4512e4f3 437982004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43799
43800 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43801 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43802 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43803 Open Firmware's memory for it; claim memory from _start to _end.
43804 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43805 (_end): New extern.
43806 (_start): Zero BSS from __bss_start to _end.
43807 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43808 New extern.
43809 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43810
4d61feb0 438112004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43812
ad0bd20b 43813 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43814 -1 if args.base was -1.
4d61feb0 43815
026fa2f9 438162004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43817
43818 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43819 escape sequence instead of a literal ^L. Also call
43820 grub_ofconsole_gotoxy.
43821
9f2220ef 438222004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43823
43824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43825 void * arguments to grub_addr_t. All callers updated. Also make
43826 the `result' argument optional.
43827 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43828 All callers updated.
43829
8a572cd7 438302004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43831
43832 * commands/ls.c (grub_ls_list_files): Use the string following the
43833 initial ')', if present, as the filesystem path.
43834 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43835
43836 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43837
18aa81f2 438382004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43839
43840 Make the source code of the menu interface more readable.
f19dbdb7 43841
18aa81f2 43842 * normal/menu.c: Include grub/mm.h.
43843 (TERM_WIDTH): New macro.
43844 (TERM_HEIGHT): Likewise.
43845 (TERM_INFO_HEIGHT): Likewise.
43846 (TERM_MARGIN): Likewise.
43847 (TERM_SCROLL_WIDTH): Likewise.
43848 (TERM_TOP_BORDER_Y): Likewise.
43849 (TERM_LEFT_BORDER_X): Likewise.
43850 (TERM_BORDER_WIDTH): Likewise.
43851 (TERM_MESSAGE_HEIGHT): Likewise.
43852 (TERM_BORDER_HEIGHT): Likewise.
43853 (TERM_NUM_ENTRIES): Likewise.
43854 (TERM_FIRST_ENTRY_Y): Likewise.
43855 (TERM_ENTRY_WIDTH): Likewise.
43856 (TERM_CURSOR_X): Likewise.
43857 (draw_border): Use macros instead of magic numbers.
43858 (print_entry): Likewise.
43859 (print_entries): Likewise.
43860 (run_menu): Likewise. Also, handle the key 'e'.
43861 (run_menu_entry): Ignore empty command lines.
43862 (print_message): Added a new argument EDIT. If EDIT is true,
43863 print a different message.
43864 (init_page): Likewise.
43865 (edit_menu_entry): New function. Not implemented yet.
43866
b47efe30 438672004-09-17 Marco Gerards <metgerards@student.han.nl>
43868
43869 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43870 can be loaded from normal mode.
f19dbdb7 43871
b47efe30 43872 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43873 `multiboot.mod'.
43874 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43875 (multiboot_mod_CFLAGS): New variables.
43876 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43877 * loader/i386/pc/multiboot_normal.c: Likewise.
43878
b47efe30 43879 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43880 attribute `unused'.
f19dbdb7 43881
b47efe30 43882 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43883 `fdiro' to read the mode information from instead of `diro'.
43884
43885 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43886 looking up a symlink.
43887
43888 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43889 macro.
43890 * normal/command.c (grub_command_execute): Don't parse the
43891 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43892 flags of the command.
43893
43894 * normal/menu.c (grub_menu_run): Fix typo.
43895
da75ac71 438962004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43897
43898 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43899
43900 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43901 `y + 1' instead of `y - 1'.
43902
43903 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43904
062b24c2 439052004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43906
43907 From Hollis Blanchard <hollis@penguinppc.org>:
43908 * kern/misc.c (memmove): New alias for grub_memmove.
43909 (memcmp): New alias for grub_memcmp.
43910 (memset): New alias for grub_memset.
f19dbdb7 43911 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43912 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43913 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43914 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43915
8ddad845 439162004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43917
43918 Added normal mode command `chainloader' as module chain.mod, which
43919 depends on normal.mod and _chain.mod.
f19dbdb7 43920
8ddad845 43921 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43922 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43923 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43924 Deleted prototype.
43925 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43926 but arguments parsing moved to ...
43927 (grub_chainloader_cmd): ... here. New function.
43928 * include/grub/i386/pc/chainloader.h: New file.
43929 * loader/i386/pc/chainloader_normal.c: Likewise.
43930
2c1f4ce3 439312004-09-11 Marco Gerards <metgerards@student.han.nl>
43932
43933 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43934 (grub_mkimage_LDFLAGS): Likewise.
43935 (grub_emu_SOURCES): Likewise.
43936 (kernel_img_HEADERS): Added fshelp.h.
43937 * fs/ext2.c: Include <grub/fshelp.h>.
43938 (FILETYPE_REG): New macro.
43939 (FILETYPE_INO_REG): Likewise.
43940 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43941 Changed all users.
43942 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43943 all users.
43944 (grub_fshelp_node): New struct.
43945 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43946 to a pointer.
43947 (grub_ext2_get_file_block): Removed function.
43948 (grub_ext2_read_block): New function.
43949 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43950 This function was written.
43951 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43952 (grub_ext2_find_file): Removed function.
43953 (grub_ext2_read_symlink): New function.
43954 (grub_ext2_iterate_dir): Likewise.
43955 (grub_ext2_open): Rewritten.
43956 (grub_ext2_dir): Rewritten.
43957 * include/grub/fshelp.h: New file.
43958 * fs/fshelp.c: Likewise.
43959
3c52136a 439602004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43961
43962 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43963 (print_message): Add a missing newline.
43964 (run_menu): Added timeout support.
43965 (run_menu_entry): New local function.
43966 (grub_menu_run): Added support for booting.
43967
43968 * kern/loader.c (grub_loader_is_loaded): New function.
43969
43970 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43971 (grub_get_rtc): Exported.
43972
43973 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43974 (grub_get_rtc): Exported.
43975
43976 * include/grub/normal.h (struct grub_command_list): Remove
43977 constant from the member `command'.
43978
43979 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43980
43981 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43982
43983 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43984
aa033560 439852004-08-28 Marco Gerards <metgerards@student.han.nl>
43986
43987 Add support for the JFS filesystem.
43988
43989 * fs/jfs.c: New file.
43990 * include/grub/fs.h (grub_jfs_init): New prototype.
43991 (grub_jfs_fini): New prototype.
43992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43993 (grub_emu_SOURCES): Likewise.
43994 (pkgdata_MODULES): Add jfs.mod.
43995 (jfs_mod_SOURCES): New variable.
43996 (jfs_mod_CFLAGS): Likewise.
43997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43998 (grubof_SOURCES): Likewise.
43999 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44000
44001 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44002 endian to the host endian.
44003 (grub_fat_utf16_to_utf8): Move function from there...
44004 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44005 the endianness of the source string anymore.
aa033560 44006 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44007
94bc45af 440082004-08-24 Marco Gerards <metgerards@student.han.nl>
44009
44010 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44011 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44012 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44013 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44014
94bc45af 44015 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44016 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44017 for `node_found' and `it_dir'.
44018 (grub_hfs_dir): Add prototype for `dir_hook'.
44019
44020 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44021 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44022 and `indir32' to silence a gcc warning.
44023
44024 * include/grub/fs.h (grub_hfs_init): New prototype.
44025 (grub_hfs_fini): Likewise.
f19dbdb7 44026
44027
97543f08 440282004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44029
44030 Each disk device has its own id now. This is useful to make use
44031 of multiple disk devices.
f19dbdb7 44032
97543f08 44033 * include/grub/disk.h (grub_disk_dev_id): New enum.
44034 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44035 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44036
44037 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44038 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44039
44040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44041 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44042
44043 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44044 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44045
44046 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44047 "id" which is used by the cache manager.
44048
44049 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44050 of just "GRUB".
44051
64372eb4 440522004-08-18 Marco Gerards <metgerards@student.han.nl>
44053
44054 * fs/hfs.c: New file.
44055 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44056 (grub_emu_SOURCES): Likewise.
44057 (pkgdata_MODULES): Add hfs.mod.
44058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44059 (grubof_SOURCES): Likewise.
44060 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44061
44062 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44063 * kern/misc.c (grub_strncasecmp): Add function.
44064
cc61b58f 440652004-08-14 Marco Gerards <metgerards@student.han.nl>
44066
44067 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44068 with parentheses.
44069
44070 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44071 (grub_ext2_dir): In case the directory entry type is unknown, read
44072 it from the inode.
44073
0ef123f6 440742004-08-02 Peter Bruin <pjbruin@dds.nl>
44075
44076 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44077 grub_load_linux instead of grub_rescue_cmd_linux as second
44078 argument of grub_rescue_register_command.
44079
44080 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44081
a447c5df 440822004-07-27 Marco Gerards <metgerards@student.han.nl>
44083
44084 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44085 function.
44086 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44087 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44088 `loader/powerpc/ieee1275/linux.c',
44089 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44090 * include/grub/powerpc/ieee1275/ieee1275.h
44091 (grub_ieee1275_release): New prototype.
44092 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44093 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44094 normal, boot, linux and linux_normal.
44095 * loader/powerpc/ieee1275/linux.c: New file.
44096 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44097
5a9e3546 440982004-07-12 Marco Gerards <metgerards@student.han.nl>
44099
44100 * normal/arg.c (grub_arg_parse): Correct error handling after
44101 reallocating the argumentlist (check if `argl' is not null instead
44102 of checking if `args' is not null).
44103 * kern/mm.c (grub_realloc): Return the same pointer when using the
44104 same region, instead of returning the header address.
44105
e15199cb 441062004-07-11 Marco Gerards <metgerards@student.han.nl>
44107
44108 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44109 one block instead of two when looking for the initial partition.
44110 (grub_partition_probe): Initialize the local variable `p' with 0.
44111 Use base 10 for the grub_strtoul call.
44112 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44113 need for one local variable.
44114 (grub_strtoul): Don't add the new value to `num', instead of that
44115 just assign it.
44116
020616c2 441172004-07-11 Marco Gerards <metgerards@student.han.nl>
44118
44119 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44120 (pxeboot_img_SOURCES): New variable.
44121 (pxeboot_img_ASFLAGS): Likewise.
44122 (pxeboot_img_LDFLAGS): Likewise.
44123 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44124 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44125 <lode_leroy@hotmail.com>.
44126
6c51eb64 441272004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44128
44129 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44130 there was no input.
44131
cfb12aff 441322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44133
44134 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44135 the history buffer logic.
44136
6eabba74 441372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44138
44139 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44140 (FILETYPE_INO_SYMLINK): New macros.
44141 (grub_ext2_find_file): Check if the node is a directory using the
44142 inode stat information instead of using the filetype in the
44143 dirent. Exclude the first character of an absolute symlink.
44144 (grub_ext2_dir): Mask out the filetype part of the mode member of
44145 the inode.
44146
66e19ef8 441472004-05-24 Marco Gerards <metgerards@student.han.nl>
44148
44149 Add support for UFS version 1 and 2. Add support for the minix
44150 filesystem version 1 and 2, both the variants with 14 and 30 long
44151 filenames.
f19dbdb7 44152
66e19ef8 44153 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44154 fs/minix.c.
44155 (grub_emu_SOURCES): Likewise.
44156 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44157 (ufs_mod_SOURCES): New variable.
44158 (ufs_mod_CFLAGS): Likewise.
44159 (minix_mod_SOURCES): Likewise.
44160 (minix_mod_CFLAGS): Likewise.
44161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44162 fs/minix.c.
44163 (grubof_SOURCES): Likewise.
44164 * fs/ufs.c: New file.
44165 * fs/minix.c: New file.
44166 * include/grub/fs.h (grub_ufs_init): New prototype.
44167 (grub_ufs_fini): Likewise.
44168 (grub_minix_init): Likewise.
44169 (grub_minix_fini): Likewise.
44170 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44171 minix fs.
44172
cc2e748a 441732004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44174
44175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44176 commands/ls.c, commands/terminal.c, commands/boot.c,
44177 commands/cmp.c and commands/cat.c.
44178 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44179
44180 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44181 "env.h"
44182
4b13b216 441832004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44184
44185 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44186 and grub_, respectively. Because the conversion is trivial and
44187 mechanical, I omit the details here. Please refer to the CVS
44188 if you need more information.
44189
6a142551 441902004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44191
44192 * include/pupa: Renamed to ...
44193 * include/grub: ... this.
44194 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44195 * util/i386/pc/grub-mkimage.c: ... this.
44196 * util/i386/pc/pupa-setup.c: Renamed to ...
44197 * util/i386/pc/grub-setup.c: ... this.
44198 * util/pupa-emu.c: Renamed to ...
44199 * util/grub-emu.c: ... this.
44200
e56cdf21 442012004-03-29 Marco Gerards <metgerards@student.han.nl>
44202
44203 Add support for the newworld apple macintosh (PPC). This has been
44204 tested on the powerbook 2000 only. It only adds support for
44205 generic ieee1275 functions, console and disk support. This should
44206 be easy to port to other architectures with support for Open
44207 Firmware.
f19dbdb7 44208
e56cdf21 44209 * configure.ac: Accept the powerpc as host_cpu. In the case of
44210 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44211 specific tests are only executed while building for the i386.
44212 Inverse test for crosscompile.
44213 * genmk.rb (Utility): Allow assembler files.
44214 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44215 * conf/powerpc-ieee1275.rmk: New file.
44216 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44217 * disk/powerpc/ieee1275/partition.c: Likewise.
44218 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44219 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44220 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44221 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44222 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44223 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44224 * include/pupa/powerpc/ieee1275/loader.h
44225 * include/pupa/powerpc/setjmp.h: Likewise.
44226 * include/pupa/powerpc/types.h: Likewise.
44227 * kern/powerpc/ieee1275/init.c: Likewise.
44228 * kern/powerpc/ieee1275/openfw.c: Likewise.
44229 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44230
44231 These files were written by Johan Rydberg
44232 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44233
e56cdf21 44234 * boot/powerpc/ieee1275/cmain.c: New file.
44235 * boot/powerpc/ieee1275/crt0.S: Likewise.
44236 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44237 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44238
8c8cc205 442392004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44240
44241 * Makefile.in: Update copyright.
44242 * genmodsrc.sh: Likewise.
44243 * gensymlist.sh: Likewise.
44244 * term/i386/pc/vga.c: Indent correctly.
44245
44246 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44247 bugreporting address.
44248 * util/i386/pc/pupa-setup.c (usage): Likewise,
44249 (main): Call pupa_ext2_init and pupa_ext2_fini.
44250
f19dbdb7 44251 * fs/fat.c (log2): Renamed to ...
8c8cc205 44252 (fat_log2): ... this.
44253 All callers changed.
44254 * kern/misc.c (memcpy): Alias to pupa_memmove.
44255 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44256 lvalue cast.
44257 * util/console.c (pupa_ncurses_fini): Return 0.
44258
44259 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44260 Move fail label here.
44261 [__GNU__]: Don't warn when using stat.
44262 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44263 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44264 long int. Use strtol instead of strtoul.
f19dbdb7 44265
db1771cf 442662004-03-14 Marco Gerards <metgerards@student.han.nl>
44267
44268 * commands/boot.c: New file.
44269 * commands/cat.c: Likewise.
44270 * commands/cmp.c: Likewise.
44271 * commands/ls.c: Likewise.
44272 * commands/terminal.c: Likewise.
44273 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44274 (pupa_register_command): Changed interface to match the new
44275 argument parser.
44276 (pupa_command_execute): Changed (almost rewritten) so it uses
44277 pupa_split_command. Added support for setting variables using the
44278 syntax `foo=bar'.
44279 (rescue_command): Changed to work with the new argument parser.
44280 (terminal_command): Moved from here to commands/terminal.c.
44281 (set_command): New function.
44282 (unset_command): New function.
44283 (insmod_command): New function.
44284 (rmmod_command): New function.
44285 (lsmod_command): New function.
44286 (pupa_command_init): Don't initialize the command terminal
44287 anymore. Initialize the commands set, unset, insmod, rmmod and
44288 lsmod.
44289 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44290 (kernel_img_HEADERS): Add arg.h and env.h.
44291 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44292 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44293 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44294 normal/arg.c.
44295 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44296 terminal.mod.
44297 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44298 (boot_mod_SOURCES): New variable.
44299 (terminal_mod_SOURCES): Likewise.
44300 (ls_mod_SOURCES): Likewise.
44301 (cmp_mod_SOURCES): Likewise.
44302 (cat_mod_SOURCES): Likewise.
44303
44304 * normal/arg.c: New file.
44305 * kern/env.c: Likewise.
44306 * include/pupa/arg.h: Likewise.
44307 * include/pupa/env.h: Likewise.
44308 * font/manager.c (font_command): Changed to match argument parsing
44309 interface changes.
44310 (PUPA_MOD_INIT): Likewise.
44311 * hello/hello.c (pupa_cmd_hello): Likewise.
44312 (PUPA_MOD_INIT): Likewise.
44313 * include/pupa/disk.h: Include <pupa/device.h>.
44314 (pupa_print_partinfo): New prototype.
44315 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44316 (pupa_dl_get_prefix): Likewise.
44317 * include/pupa/misc.h: Include <pupa/err.h>.
44318 (pupa_isgraph): New prototype.
44319 (pupa_isdigit): Likewise.
44320 (pupa_split_cmdline): Likewise.
44321 * include/pupa/normal.h: Include <pupa/arg.h>.
44322 (pupa_command): Changed the prototype of the member `func' to
44323 match the argument parsing interface. Added member `options'.
44324 (pupa_register_command): Updated to match function.
44325 (pupa_arg_parse): New prototype.
44326 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44327 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44328 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44329 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44330 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44331 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44332 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44333 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44334 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44335 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44336 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44337 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44338 * kern/disk.c: Include <pupa/file.h>.
44339 (pupa_print_partinfo): New function.
44340 * kern/dl.c: Include <pupa/env.h>.
44341 (pupa_dl_dir): Variable removed.
44342 (pupa_dl_load): Use the environment variable `prefix' instead of
44343 the variable pupa_dl_dir.
44344 (pupa_dl_set_prefix): Function removed.
44345 (pupa_dl_get_prefix): Likewise.
44346 * kern/i386/pc/init.c: Include <pupa/env.h>.
44347 (pupa_machine_init): Use the environment variable `prefix' instead of
44348 using pupa_dl_set_prefix to set the prefix.
44349 * kern/main.c: Include <pupa/env.h>.
44350 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44351 using pupa_dl_get_prefix to get the prefix.
44352 * kern/misc.c: Include <pupa/env.h>.
44353 (pupa_isdigit): New function.
44354 (pupa_isgraph): Likewise.
44355 (pupa_ftoa): Likewise.
44356 (pupa_vsprintf): Added support for printing values of the type
44357 `double'. Make it possible to format variable output when using
44358 formatting like `%1.2%f'.
44359 (pupa_split_cmdline): New function.
44360 * kern/rescue.c: Include <pupa/env.h>.
44361 (next_word): Removed function.
44362 (pupa_rescue_cmd_prefix): Likewise.
44363 (pupa_rescue_cmd_set): New function.
44364 (pupa_rescue_cmd_unset): New function.
44365 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44366 split the command line instead of splitting it here. Added
44367 support for setting variables using the syntax `foo=bar'. Don't
44368 initialize the prefix command anymore. Initialized the set and
44369 unset commands.
44370 * normal/cmdline.c: Include <pupa/env.h>.
44371 (pupa_tab_complete): Added prototypes for print_simple_completion,
44372 print_partition_completion, add_completion, iterate_commands,
44373 iterate_dev, iterate_part and iterate_dir. Moved code to print
44374 partition information from here to kern/disk.c.
fe6b695a 44375 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44376 * normal/main.c: Include <pupa/env.h>.
44377 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44378 instead of using pupa_dl_get_prefix to get the prefix.
44379 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44380 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44381 warning.
44382 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44383 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44384 ((unused))' to silence a gcc warning.
44385 (pupa_vga_setcolor): Likewise.
44386 (debug_command): Changed to match argument parsing
44387 interface changes.
44388 * util/pupa-emu.c: Include <pupa/env.h>.
44389 (options): Added 0's for unused fields to silence a gcc warning.
44390 (argp): Likewise.
44391 (main): Use the environment variable `prefix' instead of using
44392 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44393 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44394 and terminal.
44395
44396 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44397 * util/misc.c: Include <malloc.h>.
44398 (pupa_malloc): Rewritten so errors are correctly reported.
44399 (pupa_realloc): Likewise.
44400 (pupa_memalign): Likewise.
44401 (pupa_mm_init_region): Declare unused variables with
44402 `__attribute__ ((unused))' to silence a gcc warning.
44403 * normal/i386/setjmp.S: Remove tab at the end of the file to
44404 silence a gcc warning.
44405 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44406 variables with `__attribute__ ((unused))' to silence a gcc
44407 warning.
44408 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44409 local variable i unsigned to silence a gcc warning.
44410
44411 * kern/term.c: Include <pupa/misc.h>.
44412 (pupa_more_lines): New variable.
44413 (pupa_more): Likewise.
44414 (pupa_putcode): When the pager is active pause at the end of every
44415 screen.
44416 (pupa_set_more): New function.
44417 * include/pupa/term.h (pupa_set_more): New prototype.
44418
44419
3b1139cb 444202004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44421
44422 Now this project is GRUB 2 rather than PUPA. The location of
44423 the CVS repository was moved to GRUB's.
f19dbdb7 44424
3b1139cb 44425 * configure.ac: Use bug-grub as the reporting address.
44426 Use GRUB instead of PUPA.
44427 Change the version number to 1.90.
44428
8367695c 444292004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44430
44431 * genkernsyms.sh: Updated copyright information.
44432 * genmk.rb: Likewise.
44433 * genmodsrc.sh: Likewise.
44434 * gensymlist.sh: Likewise.
44435 * boot/i386/pc/boot.S: Likewise.
44436 * boot/i386/pc/diskboot.S: Likewise.
44437 * disk/i386/pc/biosdisk.c: Likewise.
44438 * disk/i386/pc/partition.c: Likewise.
44439 * font/manager.c: Likewise.
44440 * fs/ext2.c: Likewise.
44441 * fs/fat.c: Likewise.
44442 * include/pupa/boot.h: Likewise.
44443 * include/pupa/device.h: Likewise.
44444 * include/pupa/disk.h: Likewise.
44445 * include/pupa/dl.h: Likewise.
44446 * include/pupa/elf.h: Likewise.
44447 * include/pupa/err.h: Likewise.
44448 * include/pupa/file.h: Likewise.
44449 * include/pupa/font.h: Likewise.
44450 * include/pupa/fs.h: Likewise.
44451 * include/pupa/kernel.h: Likewise.
44452 * include/pupa/loader.h: Likewise.
44453 * include/pupa/misc.h: Likewise.
44454 * include/pupa/mm.h: Likewise.
44455 * include/pupa/net.h: Likewise.
44456 * include/pupa/normal.h: Likewise.
44457 * include/pupa/rescue.h: Likewise.
44458 * include/pupa/setjmp.h: Likewise.
44459 * include/pupa/symbol.h: Likewise.
44460 * include/pupa/term.h: Likewise.
44461 * include/pupa/types.h: Likewise.
44462 * include/pupa/i386/setjmp.h: Likewise.
44463 * include/pupa/i386/types.h: Likewise.
44464 * include/pupa/i386/pc/biosdisk.h: Likewise.
44465 * include/pupa/i386/pc/boot.h: Likewise.
44466 * include/pupa/i386/pc/console.h: Likewise.
44467 * include/pupa/i386/pc/init.h: Likewise.
44468 * include/pupa/i386/pc/kernel.h: Likewise.
44469 * include/pupa/i386/pc/linux.h: Likewise.
44470 * include/pupa/i386/pc/loader.h: Likewise.
44471 * include/pupa/i386/pc/memory.h: Likewise.
44472 * include/pupa/i386/pc/multiboot.h: Likewise.
44473 * include/pupa/i386/pc/partition.h: Likewise.
44474 * include/pupa/i386/pc/time.h: Likewise.
44475 * include/pupa/i386/pc/vga.h: Likewise.
44476 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44477 * include/pupa/util/getroot.h: Likewise.
44478 * include/pupa/util/misc.h: Likewise.
44479 * include/pupa/util/resolve.h: Likewise.
44480 * kern/device.c: Likewise.
44481 * kern/disk.c: Likewise.
44482 * kern/dl.c: Likewise.
44483 * kern/err.c: Likewise.
44484 * kern/file.c: Likewise.
44485 * kern/fs.c: Likewise.
44486 * kern/loader.c: Likewise.
44487 * kern/main.c: Likewise.
44488 * kern/misc.c: Likewise.
44489 * kern/mm.c: Likewise.
44490 * kern/rescue.c: Likewise.
44491 * kern/term.c: Likewise.
44492 * kern/i386/dl.c: Likewise.
44493 * kern/i386/pc/init.c: Likewise.
44494 * kern/i386/pc/lzo1x.S: Likewise.
44495 * kern/i386/pc/startup.S: Likewise.
44496 * loader/i386/pc/chainloader.c: Likewise.
44497 * loader/i386/pc/linux.c: Likewise.
44498 * loader/i386/pc/multiboot.c: Likewise.
44499 * normal/cmdline.c: Likewise.
44500 * normal/command.c: Likewise.
44501 * normal/main.c: Likewise.
44502 * normal/menu.c: Likewise.
44503 * normal/i386/setjmp.S: Likewise.
44504 * term/i386/pc/console.c: Likewise.
44505 * term/i386/pc/vga.c: Likewise.
44506 * util/console.c: Likewise.
44507 * util/genmoddep.c: Likewise.
44508 * util/misc.c: Likewise.
44509 * util/pupa-emu.c: Likewise.
44510 * util/resolve.c: Likewise.
44511 * util/unifont2pff.rb: Likewise.
44512 * util/i386/pc/biosdisk.c: Likewise.
44513 * util/i386/pc/getroot.c: Likewise.
44514 * util/i386/pc/pupa-mkimage.c: Likewise.
44515 * util/i386/pc/pupa-setup.c: Likewise.
44516
e6eced71 445172004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44518
44519 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44520 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44521 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44522 reading and reset it after reading.
44523 (pupa_ext2_close): Return PUPA_ERR_NONE.
44524
44525 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44526 Correct value.
44527 (struct linux_kernel_header): Add kernel_version and
44528 initrd_addr_max.
44529 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44530 pupa_file_read succeeds.
44531 (pupa_rescue_cmd_initrd): Implement.
44532
5aded270 445332003-12-03 Marco Gerards <metgerards@student.han.nl>
44534
44535 * fs/ext2.c (pupa_ext2_label): New function.
44536 (pupa_ext2_fs): Added label.
44537 * fs/fat.c (pupa_fat_label): New function.
44538 (pupa_fat_fs): Added label.
44539 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44540
44541 * kern/misc.c (pupa_strndup): New function.
44542 * include/pupa/misc.h (pupa_strndup): New prototype.
44543
44544 * include/pupa/normal.h: Include <pupa/err.h>.
44545 (pupa_set_history): New prototype.
44546 (pupa_iterate_commands): New prototype.
44547 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44548 <pupa/disk.h>, <pupa/file.h>.
44549 (hist_size): New variable.
44550 (hist_lines): Likewise.
44551 (hist_end): Likewise.
44552 (hist_used): Likewise.
44553 (pupa_set_history): New function.
44554 (pupa_history_get): Likewise.
44555 (pupa_history_add): Likewise.
44556 (pupa_history_replace): Likewise.
44557 (pupa_tab_complete): Likewise.
44558 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44559 completion shows partitionnames while completing partitions, this
44560 feature was suggested by Jeff Bailey.
44561 * normal/command.c (pupa_iterate_commands): New function.
44562 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44563 (pupa_normal_init): Initialize history buffer.
44564 (PUPA_MOD_INIT): Likewise.
44565 (pupa_normal_fini): Free the history buffer.
44566 (PUPA_MOD_FINI): Likewise.
44567
44568 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44569 key.
44570
44571 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44572 * configure.ac [i386]: Check for regparam bug.
44573 (NESTED_FUNC_ATTR) [! i386]: Defined.
44574
1f7315a3 445752003-11-17 Marco Gerards <metgerards@student.han.nl>
44576
44577 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44578 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44579 (pupa_emu_SOURCES): New variable.
44580 (pupa_emu_LDFLAGS): Likewise.
44581 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44582 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44583 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44584 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44585 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44586 (pupa_jmp_buf): New typedef.
44587 (pupa_setjmp) [PUPA_UTIL]: New macro.
44588 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44589 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44590 (pupa_refresh): New prototype.
44591 * include/pupa/util/getroot.h: New file.
44592 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44593 it.
44594 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44595 (pupa_rescue_cmd_cat): Likewise.
44596 (pupa_rescue_cmd_ls): Likewise.
44597 (pupa_rescue_cmd_testload): Likewise.
44598 (pupa_rescue_cmd_lsmod): Likewise.
44599 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44600 * normal/menu.c (run_menu): Likewise.
44601 * kern/term.c (pupa_cls): Likewise.
44602 (pupa_refresh): New function.
44603 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44604 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44605 * util/console.c: New file.
f19dbdb7 44606
1f7315a3 44607 * util/i386/pc/getroot.c: New file.
44608 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44609 (pupa_putchar): New function.
44610 (pupa_refresh): Likewise.
44611 (xgetcwd): Function moved to ...
44612 (strip_extra_slashes): Likewise.
44613 (get_prefix): Likewise.
f19dbdb7 44614 * util/i386/pc/getroot.c: ... here.
1f7315a3 44615 (find_root_device): Function moved and renamed to...
44616 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44617 Changed all callers.
44618 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44619 and renamed to...
44620 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44621 Changed all callers.
44622 * util/misc.c (pupa_memalign): New function.
44623 (pupa_mm_init_region): Likewise.
44624 (pupa_register_exported_symbols): Likewise.
44625 (pupa_putchar): Function removed.
44626 * util/pupa-emu.c: New file.
44627
9a5c1ade 446282003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44629
44630 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44631 (_multiboot_mod_SOURCES): New variable.
44632 (_multiboot_mod_CFLAGS): Likewise.
44633 * loader/i386/pc/multiboot.c: New file.
44634 * include/pupa/i386/pc/multiboot.h: Likewise.
44635 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44636 (pupa_multiboot_real_boot): New function.
44637 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44638 (pupa_multiboot_real_boot): New prototype.
44639 (pupa_rescue_cmd_multiboot): Likewise
44640 (pupa_rescue_cmd_module): Likewise.
44641
44642 * kern/loader.c (pupa_loader_set): Continue when
44643 pupa_loader_unload_func() fails.
44644 (pupa_loader_unset): New function.
44645 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44646
44647 * kern/misc.c (pupa_stpcpy): New function.
44648 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44649
8e72a9c0 446502003-11-12 Marco Gerards <metgerards@student.han.nl>
44651
44652 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44653 for available extensions.
44654
44655 * include/pupa/i386/pc/time.h: New file.
44656 * kern/disk.c: Include <pupa/machine/time.h>.
44657 (PUPA_CACHE_TIMEOUT): New macro.
44658 (pupa_last_time): New variable.
44659 (pupa_disk_open): Flush the cache when there was a timeout.
44660 (pupa_disk_close): Reset the timer.
44661 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44662 pupa_currticks.
44663 * util/misc.c: Include <sys/times.h>
44664 (pupa_get_rtc): New function.
44665
c4adbd32 446662003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44667
44668 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44669 as blocks.
44670 (pupa_ext2_get_file_block): Use blocks member.
44671
44672 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44673 first block. Return -1 instead of pupa_errno on error.
44674
bfd30f06 446752003-10-27 Marco Gerards <metgerards@student.han.nl>
44676
44677 * README: In the pupa-mkimage example use _chain instead of chain
44678 and ext2 instead of fat.
44679 * TODO: Replace ext2fs with jfs as an example. Add an item for
44680 adding journal playback for ext2fs.
44681 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44682 (pkgdata_MODULES): Added ext2.mod.
44683 (ext2_mod_SOURCES): New variable.
44684 (ext2_mod_CFLAGS): Likewise.
44685 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44686 * include/pupa/misc.h (pupa_strncpy): New prototype.
44687 (pupa_strcat): Likewise.
44688 (pupa_strncmp): Likewise.
44689 * kern/misc.c (pupa_strcat): Enable function.
44690 (pupa_strncpy): New function.
44691 (pupa_strncmp): Likewise.
44692 * fs/ext2.c: New file.
f19dbdb7 44693
bfd30f06 44694 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44695 when the read failed before retrying.
44696 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44697 (_FILE_OFFSET_BITS): Likewise.
44698 * configure.ac: Added AC_SYS_LARGEFILE.
44699
98d15063 447002003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44701
44702 * genmk.rb (PModule#rule): Make sure to get only symbol names
44703 from the output of nm.
59cad637 44704 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44705
18d9c7cd 447062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44707
44708 I forgot to check in these changes for a long time. This adds
44709 incomplete support for VGA console, and this is still very
44710 buggy. Also, a lot of consideration is required for I18N,
44711 UNICODE, and VGA font issues. Therefore, assume that this is
44712 such that "better than nothing".
f19dbdb7 44713
18d9c7cd 44714 * font/manager.c: New file.
44715 * include/pupa/font.h: Likewise.
44716 * include/pupa/i386/pc/vga.h: Likewise.
44717 * term/i386/pc/vga.c: Likewise.
44718 * util/unifont2pff.rb: Likewise.
44719
44720 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44721 (pkgdata_MODULES): Added vga.mod and font.mod.
44722 (vga_mod_SOURCES): New variables.
44723 (vga_mod_CFLAGS): Likewise.
44724 (font_mod_SOURCES): Likewise.
44725 (font_mod_CFLAGS): Likewise.
44726
44727 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44728
44729 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44730 (struct pupa_term): Added init and fini.
18d9c7cd 44731 Changed the argument of putchar to pupa_uint32_t.
44732
44733 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44734 (pupa_console_real_putchar): New prototype.
44735 (pupa_console_putchar): Removed.
44736 (pupa_console_checkkey): Exported.
44737 (pupa_console_getkey): Likewise.
44738
44739 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44740 characters.
44741
44742 * kern/term.c (pupa_term_set_current): Rewritten.
44743 (pupa_putchar): Likewise.
44744 (pupa_putcode): New function.
44745
44746 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44747 (pupa_console_real_putchar): ... this.
44748 (pupa_vga_set_mode): New function.
44749 (pupa_vga_get_font): Likewise.
44750
44751 * normal/command.c: Include pupa/term.h.
44752 (terminal_command): New function.
44753 (pupa_command_init): Register the command "terminal".
44754
44755 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44756 (DISP_UP): Likewise.
44757 (DISP_RIGHT): Likewise.
44758 (DISP_DOWN): Likewise.
44759 (DISP_HLINE): Likewise.
44760 (DISP_VLINE): Likewise.
44761 (DISP_UL): Likewise.
44762 (DISP_UR): Likewise.
44763 (DISP_LL): Likewise.
44764 (DISP_LR): Likewise.
44765
44766 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44767
977329f5 447682003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44769
44770 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44771 FIX. Reverse the path_list.
44772
44773 * include/pupa/normal.h: Export pupa_register_command and
44774 pupa_unregister_command.
44775
44776 * hello/hello.c (pupa_cmd_hello): New module.
44777 * conf/i386-pc.rmk: Added hello.mod.
44778
1f5ab428 447792003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44780
44781 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44782
1f5ab428 44783 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44784 (compress_kernel): New variable.
44785 (generate_image): Heavily modified to support compressing a
44786 large part of the core image.
44787
44788 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44789 leak.
44790 (pupa_util_load_image): New function.
44791
44792 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44793 (pupa_compressed_size): New variable.
44794 (codestart): Enable Gate A20 here.
44795 Decompress the compressed part of the core image.
44796 Rearrange the code to put functions and variables which are
44797 required for initialization in the non-compressed part.
44798 Include lzo1x.S.
44799
44800 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44801 here.
44802
44803 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44804
f19dbdb7 44805 * include/pupa/i386/pc/kernel.h
1f5ab428 44806 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44807 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44808 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44809 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44810 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44811
44812 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44813
44814 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44815 (Utility#rule): Likewise.
44816
44817 * configure.ac: Check if LZO is available.
44818
ce5bf700 448192003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44820
44821 * include/pupa/normal.h: New file.
44822 * include/pupa/setjmp.h: Likewise.
44823 * include/pupa/i386/setjmp.h: Likewise.
44824 * normal/cmdline.c: Likewise.
44825 * normal/command.c: Likewise.
44826 * normal/main.c: Likewise.
44827 * normal/menu.c: Likewise.
44828 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44829
ce5bf700 44830 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44831 (pupa_rescue_cmd_initrd): Likewise.
44832
44833 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44834 Likewise.
44835
44836 * kern/i386/pc/startup.S (translation_table): New variable.
44837 (translate_keycode): New function.
44838 (pupa_console_getkey): Call translate_keycode.
44839
44840 * kern/rescue.c (attempt_normal_mode): New function.
44841 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44842 it failed, print a message.
44843
44844 * kern/mm.c (pupa_real_malloc): Print more information when a
44845 free magic is broken.
44846 (pupa_free): If the first free header is not free actually, set
44847 it to P.
44848
44849 * kern/main.c (pupa_load_normal_mode): Just load the module
44850 "normal".
44851 (pupa_main): Don't print the message
44852 "Entering into rescue mode..." here.
44853
44854 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44855 Declared.
44856 (pupa_rescue_cmd_initrd): Likewise.
44857 (pupa_rescue_cmd_initrd): Likewise.
44858
44859 * include/pupa/symbol.h (FUNCTION): Specify the type.
44860 (VARIABLE): Likewise.
44861
44862 * include/pupa/err.h (pupa_err_t): Added
44863 PUPA_ERR_UNKNOWN_COMMAND.
44864
44865 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44866 (pupa_dl_get_prefix): Likewise.
44867
44868 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44869 Added _chain.mod and _linux.mod instead of chain.mod and
44870 linux.mod.
44871 (chain_mod_SOURCES): Renamed to ...
44872 (_chain_mod_SOURCES): ... this.
44873 (chain_mod_CFLAGS): Renamed to ...
44874 (_chain_mod_CFLAGS): ... this.
44875 (linux_mod_SOURCES): Renamed to ...
44876 (_linux_mod_SOURCES): ... this.
44877 (linux_mod_CFLAGS): Renamed to ...
44878 (_linux_mod_CFLAGS): ... this.
44879 (normal_mod_SOURCES): New variable.
44880 (normal_mod_CFLAGS): Likewise.
44881 (normal_mod_ASFLAGS): Likewise.
44882
448832003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44884
44885 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44886 possible.
44887
fe6b695a 44888 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44889 recursively.
44890 (pupa_dl_unref): Unrefer depending modules recursively.
44891 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44892 a module is unloaded before one depending on that module is
44893 unloaded.
44894 (pupa_dl_unload): Unload depending modules explicitly,
44895 if possible.
44896
c04da074 448972003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44898
44899 * include/pupa/i386/pc/linux.h: New file.
44900 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44901
c04da074 44902 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44903 Removed.
44904 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44905 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44906 of PUPA_CHAINLOADER_BOOT_SECTOR.
44907
44908 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44909 (pupa_linux_prot_size): New variable.
44910 (pupa_linux_tmp_addr): Likewise.
44911 (pupa_linux_real_addr): Likewise.
44912 (pupa_linux_boot_zimage): New function.
44913 (pupa_linux_boot_bzimage): Likewise.
44914
44915 * kern/i386/pc/init.c (struct mem_region): New structure.
44916 (MAX_REGIONS): New macro.
44917 (mem_regions): New variable.
44918 (num_regions): Likewise.
44919 (pupa_os_area_addr): Likewise.
44920 (pupa_os_area_size): Likewise.
44921 (pupa_lower_mem): Likewise.
44922 (pupa_upper_mem): Likewise.
44923 (add_mem_region): New function.
44924 (compact_mem_regions): Likewise.
44925 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44926 the size of the conventional memory and that of so-called upper
44927 memory (before the first memory hole).
44928 Instead of adding each found region to free memory, use
44929 add_mem_region and add them after removing overlaps.
44930 Also, add only 1/4 of the upper memory to free memory. The rest
44931 is used for loading OS images. Maybe this is ad hoc, but this
44932 makes it much easier to relocate OS images when booting.
44933
44934 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44935 (pupa_enter_rescue_mode): Don't register initrd and module.
44936
44937 * kern/mm.c: Include pupa/dl.h.
44938
44939 * kern/main.c: Include pupa/file.h and pupa/device.h.
44940
44941 * kern/loader.c (pupa_loader_load_module_func): Removed.
44942 (pupa_loader_load_module): Likewise.
44943
44944 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44945 ``.o''.
44946
44947 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44948 (pupa_linux_tmp_addr): Likewise.
44949 (pupa_linux_real_addr): Likewise.
44950 (pupa_linux_boot_zimage): Likewise.
44951 (pupa_linux_boot_bzimage): Likewise.
44952
44953 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44954 (pupa_upper_mem): Likewise.
44955 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44956 module is too dangerous.
44957
44958 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44959 (pupa_os_area_size): Likewise.
44960 (pupa_loader_set): Remove the first argument. Loader doesn't
44961 manage modules or initrd any longer.
44962 (pupa_loader_load_module): Removed.
44963
44964 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44965 (linux_mod_SOURCES): New variable.
44966 (linux_mod_CFLAGS): Likewise.
44967
a13f9237 449682003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44969
44970 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44971 the length of a blocklist correctly.
44972
44973 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44974 Use ioctl only if the OS file is a block device.
44975 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44976 not very useful for normal files.
44977
44978 * kern/main.c (pupa_set_root_dev): New function.
44979 (pupa_load_normal_mode): Likewise.
44980 (pupa_main): Call those above.
44981
44982 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44983 pupa_uint16_t.
44984
44985 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44986
a5ffe966 449872003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44988
44989 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44990 (setup): Configure the installed partition information and the
44991 dl prefix.
44992
44993 * loader/i386/pc/chainloader.c (my_mod): New variable.
44994 (pupa_chainloader_unload): New function.
44995 (pupa_rescue_cmd_chainloader): Refer itself.
44996 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44997
44998 * kern/i386/pc/startup.S (install_partition): Removed.
44999 (version_string): Likewise.
45000 (config_file): Likewise.
45001 (pupa_install_dos_part): New variable.
45002 (pupa_install_bsd_part): Likewise.
45003 (pupa_prefix): Likewise.
45004 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45005
45006 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45007 and pupa/misc.h.
45008 (make_install_device): New function.
45009 (pupa_machine_init): Set the dl prefix.
45010
45011 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45012 (buf): Renamed to ...
45013 (linebuf): ... this.
45014 (pupa_rescue_cmd_prefix): New function.
45015 (pupa_rescue_cmd_insmod): Likewise.
45016 (pupa_rescue_cmd_rmmod): Likewise.
45017 (pupa_rescue_cmd_lsmod): Likewise.
45018 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45019 rmmod and lsmod.
45020
45021 * kern/mm.c (pupa_memalign): If failed even after invalidating
45022 disk caches, unload unneeded modules and retry.
45023
45024 * kern/misc.c (pupa_memmove): New function.
45025 (pupa_memcpy): Removed.
45026 (pupa_strcpy): New function.
45027 (pupa_itoa): Made static.
45028
45029 * kern/dl.c (pupa_dl_iterate): New function.
45030 (pupa_dl_ref): Likewise.
45031 (pupa_dl_unref): Likewise.
45032 (pupa_dl_unload): Return if succeeded or not.
45033 (pupa_dl_unload_unneeded): New function.
45034 (pupa_dl_unload_all): Likewise.
45035 (pupa_dl_init): Renamed to ...
45036 (pupa_dl_set_prefix): ... this.
45037 (pupa_dl_get_prefix): New function.
45038
45039 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45040 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45041 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45042 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45043 (pupa_install_dos_part): Declared.
45044 (pupa_install_bsd_part): Likewise.
45045 (pupa_prefix): Likewise.
45046 (pupa_boot_drive): Likewise.
45047
45048 * include/pupa/types.h: Fix a typo.
45049
45050 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45051 pupa_memmove.
45052 (pupa_memmove): Declared.
45053 (pupa_strcpy): Likewise.
45054
45055 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45056 pupa_mod_init takes one argument, its own module.
45057 (pupa_dl_unload_unneeded): Declared.
45058 (pupa_dl_unload_all): Likewise.
45059 (pupa_dl_ref): Likewise.
45060 (pupa_dl_unref): Likewise.
45061 (pupa_dl_iterate): Likewise.
45062 (pupa_dl_init): Renamed to ...
45063 (pupa_dl_set_prefix): ... this.
45064 (pupa_dl_get_prefix): Declared.
45065
45066 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45067 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45068 unloaded.
45069 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45070 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45071
45072 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45073 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45074
012d7999 450752003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45076
45077 * util/i386/pc/pupa-setup.c (setup): Define the internal
45078 function find_first_partition_start at the top level, because GCC
45079 3.0.x cannot compile internal functions in deeper scopes
45080 correctly.
45081 (find_root_device): Use lstat instead of stat.
45082 Don't follow symbolic links.
45083 Fix the path-constructing code.
45084
45085 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45086 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45087 by a BLKGETSIZE ioctl first, because block devices don't fill
45088 the member st_mode of the structure stat on Linux.
45089 [__linux__] (linux_find_partition): Use a temporary buffer
45090 REAL_DEV for the working space. Copy it to DEV before returning.
45091 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45092 buffer cache consistent.
45093 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45094 strncmp. The previous value was merely wrong.
45095 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45096
45097 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45098 FAT size is 12. The previous value was merely wrong.
45099
45100 * kern/main.c (pupa_main): Don't split the starting message from
45101 newlines.
45102
45103 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45104 LF, because BIOS goes crazy about character attributes in this
45105 case.
45106
1cc73a62 451072003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45108
45109 * include/i386/pc/util/biosdisk.h: New file.
45110 * util/i386/pc/biosdisk.c: Likewise.
45111 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45112
1cc73a62 45113 * Makefile.in (INCLUDE_DISTFILES): Added
45114 include/pupa/i386/pc/util/biosdisk.h.
45115 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45116 directory util/i386/pc.
45117 (install-local): Added a rule for sbin_UTILITIES.
45118 (uninstall): Likewise.
45119
45120 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45121
45122 * util/misc.c (xrealloc): New function.
45123 (pupa_malloc): Likewise.
45124 (pupa_free): Likewise.
45125 (pupa_realloc): Likewise.
45126 (pupa_stop): Likewise.
45127 (pupa_putchar): Likewise.
45128
45129 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45130
45131 * include/pupa/util/misc.h (xrealloc): Declared.
45132
45133 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45134 macro.
45135 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45136 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45137
45138 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45139 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45140
45141 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45142 way should be implemented.
45143 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45144
45145 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45146 the size of NAME for safety.
45147 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45148 0x88.
45149
45150 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45151 (pupa_setup_SOURCES): Likewise.
45152
45153 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45154
08b70fe8 451552002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45156
45157 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45158 bunch of pushl's from pusha, because this destroys the return
45159 value.
45160
62ddcc8f 451612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45162
45163 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45164 This means that any missing prototypes could be fatal. Also, you
45165 must take care when writing assembly code. See the comments at
45166 the beginning of startup.S, for more details.
f19dbdb7 45167
62ddcc8f 45168 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45169 compilation mechanism.
45170 (pupa_chainloader_real_boot): Likewise.
45171 (pupa_biosdisk_rw_int13_extensions): Likewise.
45172 (pupa_biosdisk_rw_standard): Likewise.
45173 (pupa_biosdisk_check_int13_extensions): Likewise.
45174 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45175 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45176 (pupa_get_memsize): Likewise.
45177 (pupa_get_mmap_entry): Likewise.
45178 (pupa_console_putchar): Likewise.
45179 (pupa_console_setcursor): Likewise.
45180 (pupa_getrtsecs): Use pushl instead of push.
45181
45182 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45183 memory instead of the stack for a mmap entry, because some
45184 BIOSes may ignore the maximum size and overflow.
45185
45186 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45187
45188 * genmk.rb (PModule#rule): Compile automatically generated
45189 sources with module-specific CFLAGS as well as other sources.
45190
9962ed99 451912002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45192
45193 * configure.ac: Check ld.
45194 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45195 respectively, before checking endianness and sizes.
45196
45197 * Makefile.in (LD): New variable.
f19dbdb7 45198
abdfc3c5 451992002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45200
45201 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45202
6a161fa9 452032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45204
45205 * Changelog: New file.
45206