]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Fix AFFS with non-512B blocks.
[grub2.git] / ChangeLog
CommitLineData
6ae485aa
VS
12012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Fix AFFS with non-512B blocks.
4
5 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7 (grub_affs_data): Replace blocksize with log_blocksize.
8 (grub_affs_read_block): Fix non-512B blocks.
9 (grub_affs_read_symlink): Likewise.
10 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
11 (grub_affs_read): Fix non-512B blocks.
12 (grub_affs_label): Likewise.
13 (grub_affs_mtime): Likewise.
14 (grub_affs_mount): Fix block detection routine.
15
d20fab84
VS
162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Add filesystem mtime to AFFS.
19
20 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
21 (aftime2ctime): New function.
22 (grub_affs_dir): Use aftime2ctime.
23 (grub_affs_label): Fix return value.
24 (grub_affs_mtime): New function.
25 (grub_affs_fs): Add mtime.
26
e87b10f5
VS
272012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
30 UTF-8.
31
7dceec9b
VS
322012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
35 UTF-8.
36
2f48221f
VS
372012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
40
dacd85cf
VS
412012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
44 flags.
45 (FLAGS_CASE_SENSITIVE): New enum value.
46 (cache_entry): New struct.
47 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
48 cache_size and cache.
49 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
50 Add log_blocksize and fshelp_flags.
51 (grub_sfs_read_extent): Handle non-512 blocks.
52 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
53 (grub_sfs_read_file): Handle non-512 blocks.
54 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
55 fshelp_flags.
56 (grub_sfs_read_symlink): Handle non-512 blocks.
57 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
58 (grub_sfs_dir): Free cache.
59 (grub_sfs_close): Likewise.
60
24e9a854
VS
612012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
64 filesystems.
65
62ace64d
VS
662012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
69
83b2e89c
VS
702012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
73
75ccaea3
VS
742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
77 (grub_sfs_read_extent): Likewise.
78 (grub_sfs_read_block): Likewise.
79 (grub_sfs_mount): Likewise.
80 (grub_sfs_iterate_dir): Likewise.
81 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
82 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
83
1b8463f2
VS
842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Fix errors on compressed NTFS with 512B clusters.
87
88 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
89 types.
90 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
91 not 0.
92 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
93 Relax check for inline extents.
94 (ntfscomp): Return correct -1 on error and not 0.
95
4f8e368f
VS
962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * util/grub-install.in: Fix handling of prefix containing spaces.
99
6f5d5ee8
VS
1002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
103 (grub_squash_read_data): Fix offset byte-swapping.
104
ce41ab7a
VS
1052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
108 per common usage and preffered in several parts of code.
109 (grub_memcmp): Likewise.
110 (grub_strncmp): Likewise.
111 * include/grub/misc.h (grub_strcasecmp): Likewise.
112 (grub_strncasecmp): Likewise.
113 * Makefile.util.def (cmp_test): New test.
114 (grub_script_strcmp): Likewise.
115 * tests/cmp_unit_test.c: New file.
116 * tests/grub_script_strcmp.in: Likewise.
117 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
118
49717bf4
VS
1192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * include/grub/pci.h: Move enums into no-asm part.
122
0a308f64
VS
1232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
126
1796965f
ST
1272012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
128
129 * util/getroot.c (find_hurd_root_device): Try to make error message
130 and comments to translators clearer.
131
4e9b2819
VS
1322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
135
076aeb50
VS
1362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
139 btrfs.
140
19424d94
VS
1412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * docs/grub.cfg: Update.
144
ebb73076
VS
1452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * docs/grub.texi (PXE): Remove not present variables.
148
9a1b669c
VS
1492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/net/net.c (defserver_set_env): New function.
152 (defserver_get_env): Likewise.
153 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
154
d38bf7d3
VS
1552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
158 entries.
159
1602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
161
162 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
163 * grub-core/kern/emu/hostdisk.c: Likewise.
164
e5e4ca48
ST
1652012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
166
167 Handle hurd userspace partitions.
168
169 * util/getroot.c (find_hurd_root_device): New function.
170 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
171
56bb5dd5
VS
1722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
175 names.
176 Reported by: Bastian Blank.
177
9e8bc27a
VS
1782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
181 crossing page boundary.
182
aa01499d
VS
1832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Fix B-tree search in BFS, especially in presence of non-ASCII
186 characters.
187
188 * grub-core/fs/bfs.c (bfs_strcmp): New function.
189 (find_in_b_tree): Use standard bsearch + btree algorithm.
190
57006035
VS
1912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
194 and so on.
195
9d34bb85
MG
1962012-05-03 Matthew Garrett <mjg@redhat.com>
1972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Suspend broadcom cards in order to stop their DMA.
200
201 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
202 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
203 (pci): Don't build on x86 EFI.
204 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
205 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
206 New function.
207 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
208 stop_broadcom if running on EFI.
209 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
210 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
211 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
212 (grub_pci_find_capability): New proto.
213
01aab997
VS
2142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * docs/grub.texi: Remove dot from the extension as it apparently
217 doesn't work with some makeinfo versions.
218
fbd8dca6
VS
2192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
222 with GRUB expectance.
223
dab797f4
VS
2242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
227
1516bfb4
VS
2282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
231 zero after directory block since last entry may be not 0-terminated if
232 it ends on block boundary. Use continue instead of if spanning whole
233 loop.
234
a3a0eace
VS
2352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Support 4K sectors UDF inline files.
238
239 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
240 (grub_udf_extended_file_entry): Likewise.
241 (grub_fshelp_node): Name the anonymous union. Put block at the end.
242 All users updated.
243 (get_fshelp_size): New function.
244 (grub_udf_read_icb): Read whole block.
245 (grub_udf_iterate_dir): Likewise.
246 (grub_udf_dir): Likewise.
247 (grub_udf_open): Likewise.
248
c82f16c1
VS
2492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
252
59fd2aac
VS
2532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
256 inline symlinks in addition to workaround.
257
3b4afb4d
VS
2582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
261
f45c794a
VS
2622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
265
f25cecbd
VS
2662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
269
bb9a34e8
VS
2702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
271
272 Fix reiserfs big seek times.
273
274 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
275 exact. All users updated.
276 (grub_reiserfs_read): Use nearest btree search for seeking.
277 Fix return value on error.
278
dc478aea
VS
2792012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
282 entries.
283 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
284 * docs/grub.texi: Update menuentry description.
285
8db10f47
VS
2862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
289 crash when embedding onto filesystem.
290
bcb288ed
VS
2912012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
294 name.
295
a626fdd7
VS
2962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
299
b2f68477
VS
3002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
303 commit.
304
ba15b2af
B
3052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3062012-05-01 Bean <bean123ch@gmail.com>
307
308 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
309
a188012e
VS
3102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
313 Special behaviour for len = 0 to read whole file isn't used anywhere and
314 can cause buffer ovewrflows in several places.
315
f0a53ed2
VS
3162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
319
5ed554f0
VS
3202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
321
322 Handle RAIDZ on non-512B sectors.
323
324 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
325 max_children_ashift.
326 (fill_vdev_info_real): Fill max_children_ashift.
327 (read_device): Use max_children_ashift.
328
ddc58357
VS
3292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
332
e3282399
VS
3332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
336 disk names.
337 * docs/grub.texi: Update device.map parts.
338
ee618bd4
VS
3392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
340
341 Don't scan into non-diskfilter devices having diskfilter names.
342
343 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
344 (scan_disk): New argument accept_diskfilter. Fix recursion depth
345 handling.
346 (scan_disk_hook): New function.
347
bdf88864
B
3482012-04-29 Bean <bean123ch@gmail.com>
349
350 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
351 allocation.
352
32745f51
MK
3532012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
354
355 * configure.ac: Detect starfield theme font path
356 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
357
bc95c8c0
VS
3582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
361 geometry on serial consoles.
362
147fbcab
VS
3632012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
366 because of network consoles.
367
0f42c889
VS
3682012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
371 handling.
372
4a3594c9
VS
3732012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
376 falls on Q syndrom.
377
5cb53879
VS
3782012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
381 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
382
b282dfe5
VS
3832012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
386 Allocate at lest 8192 for temporary buffer as required for lzo.
387
daa59f47
VS
3882012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
391 to cluster_bits, since it's already added in.
392 (grub_fat_read_data): Likewise.
393
986748ce
VS
3942012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
397 as long as cluster size is multiple of 512 bytes.
398
a20f6ad0
VS
3992012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * util/grub-mkrescue.in: Fix locale directory.
402
385f9abb
VS
4032012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/kern/emu/hostdisk.c (map): Make static.
406
1c557d30
B
4072012-04-23 Bean <bean123ch@gmail.com>
408
409 * util/grub-fstest.c (fstest): Add missing break.
410
524b5d3a
ST
4112012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
412
413 Fix hurd build.
414
415 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
416 not define nr variable.
fe4824e9 417 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
418 find_root_devices_from_poolname, find_root_devices_from_libzfs,
419 grub_find_device): Do not define.
524b5d3a 420
9a06490c
VS
4212012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Fix kfreebsd compile and behaviour.
424
425 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
426 format-security.
427 * util/getroot.c: Fix wait.h include.
428 (grub_guess_root_devices): Error if grub_find_device fails.
429 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
430 (grub_util_get_dev_abstraction): Likewise.
431 (grub_util_pull_device): Likewise.
432 (grub_util_get_grub_dev): Likewise.
433 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
434
48143d96
VS
4352012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
436
437 Fix and unify wholedisk detection.
438
439 * util/getroot.c (convert_system_partition_to_system_disk): New argument
440 is_part. All users updated.
441 (device_is_wholedisk): Removed.
442 (grub_util_biosdisk_get_grub_dev): Use is_part.
443
ebbd24f3
VS
4442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
447 mode.
448
56f7aa1e
VS
4492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * configure.ac: Bump to beta4.
452
9c815e01
VS
4532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
456 --fs-uuid --set UUID syntax.
457
59e2651a
VS
4582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
461 disunification.
462
54e03cfc
VS
4632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
466
81092a75
MK
4672012-04-18 Mads Kiilerich <mads@kiilerich.com>
468
469 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
470
f8315e14
MG
4712012-04-18 Mike Gilbert <floppym@gentoo.org>
472
473 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
474
1501ac21
B
4752012-04-18 Bean <bean123ch@gmail.com>
476
477 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
478 place.
479
cb7f944e
VS
4802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
483 users updated.
484 (grub_util_biosdisk_read): Handle Linux partitions not exactly
485 corresponding to GRUB partitions.
486 (grub_util_biosdisk_write): Likewise.
487
b72d44a1
VS
4882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
489
490 Scan mdraid before LVM.
491
492 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
493 (grub_diskfilter_register_front): ... this.
494 (grub_diskfilter_register_back): New function.
495 All users of grub_diskfilter_register updated.
496
33d918b8
VS
4972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * util/grub-install.in: Fix an automatic target detection bug.
500
c6ca973d
VS
5012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * util/grub-install.in: New option --efi-directory.
504
b41be562
VS
5052012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
508 boot services if we have no other choice.
509
5102012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * util/grub-mknetdir.in: Rename --override-directory to --directory and
513 document it.
514 * tests/util/grub-shell.in: Update to --directory.
515
e0595a73
VS
5162012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
519
4ed80652
VS
5202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
523 (grub_minix_read_file): Likewise.
524 (grub_minix_read_inode): Likewise.
525 (grub_minix_find_file): Likewise.
526 (grub_minix_dir): Likewise.
527
56008077
VS
5282012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * util/grub-setup.c (setup): Fix partition handling and blocklist
531 check.
532
ee520775
VS
5332012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
536 redundant buggy overlap check.
537
16fc9293
VS
5382012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
541 and grub-mknetdir.
542
9bab65c4
VS
5432012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
546 kh.loadflags on pre-2.00 kernels.
547
3c491b47
VS
5482012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Terminate UNDI and PXE before launching the payload to avoid problems
551 with DMA.
552
553 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
554 (grub_loader_flags): ... this. All users updated.
555 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
556 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
557 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
558 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
559 function.
560 (grub_pxe_restore): Likewise.
561 (fini_hnd): New var.
562 (GRUB_MOD_INIT): Register shutdown hook.
563 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
564 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
565 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
566 (grub_loader_set): Rename second argument to flags.
567
851ffada
VS
5682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
571 written bytes.
572 (grub_get_num_of_utf8_bytes): New function.
573 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
574 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
575 executing it.
576 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
577 (grub_ucs4_to_utf8): Change return type.
578
491c57a8
VS
5792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
582 warning.
851ffada
VS
583 * grub-core/fs/bfs.c (hop_level): Likewise.
584 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 585
756773df
VS
5862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/lib/adler32.c: Recode due to license unclearness.
589
fd556a96
VS
5902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
593 (test_header): Likewise.
594
9f9d3f69
VS
5952012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
596
597 Fix --help formatting.
598
599 * util/grub-mkconfig_lib.in (print_option_help): New function.
600 (grub_fmt): Likewise.
601 * util/grub-install.in: Use print_option_help and grub_fmt.
602 * util/grub-kbdcomp.in: Likewise.
603 * util/grub-mkconfig.in: Likewise.
604 * util/grub-mknetdir.in: Likewise.
605 * util/grub-mkrescue.in: Likewise.
606 * util/grub-mkstandalone.in: Likewise.
607 * util/grub-reboot.in: Likewise.
608 * util/grub-set-default.in: Likewise.
609 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
610
561ec77e
VS
6112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * linguas.sh: Remove autogenerated *.po.
614
7ec2b021
VS
6152012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * po/README: Move language fetcing to ...
618 * linguas.sh: ... here.
619 * po/README: Point to linguas.sh.
620
a88f3270
VS
6212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * po/README: Exclude ko.po due to disclaimer problems.
624
d61357ce
VS
6252012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
628 len = 0.
629 (grub_gettext_translate_real): Handle 0th string.
630 (grub_gettext_translate): Ensure that "" isn't translated.
631
505e41dc
VS
6322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
635 TRANSLATORS comment.
636 (grub_diskfilter_print_partmap): Propagate changing of error into
637 warning.
638
e44092db
VS
6392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
642 to uint64_t to prevent overflow.
643 (grub_diskfilter_lv): Increase start_extent and extent_count
644 to uint64_t to prevent overflow.
645
9b83956a
VS
6462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * configure.ac: Increase version.
649
da0d5b3f
VS
6502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
651
652 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
653
654 * po/Rules-translit: New file.
655 * po/arabic.sed: Likewise.
656 * po/cyrillic.sed: Likewise.
657 * po/greek.sed: Likewise.
658 * po/hebrew.sed: Likewise.
659 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
660 * po/Makefile.in.in: Add extra_dist4.
661
ac66b453
VS
6622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Handle big-endian minixfs (fixes minixfs tests on bigendian).
665
666 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
667 modify names. Introduce MODE_BIGENDIAN.
668 * grub-core/fs/minix_be.c: New file.
669 * grub-core/fs/minix2_be.c: Likewise
670 * grub-core/fs/minix3_be.c: Likewise.
671 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
672 minix3_be.
673 * grub-core/Makefile.core.def (minix_be): New module.
674 (minix2_be): Likewise.
675 (minix3_be): Likewise.
676
6772012-04-01 Felix <email@hamburg.de>
678
679 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
680 (devs): Add MBP 2011.
681
0a2d5a82
VS
6822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
685
d1625889
VS
6862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/normal/cmdline.c (print_completion): New field
689 prompt_len.
690 (grub_cmdline_get): Handle width properly.
691
6d36a236
VS
6922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/commands/lsacpi.c (options): Add missing terminator.
695
9576977e
VS
6962012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 699 after 29th of February.
9576977e 700
d73ff15d
VS
7012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
702
703 Fix exfat endianness handling.
704
705 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
706 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
707 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
708 Byte-swap utf16 when necessary.
709 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
710
bbb39a45
AB
7112012-03-31 Anton Blanchard <anton@samba.org>
7122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Fix btrfs endianness handling.
715
716 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
717 (lower_bound): Make root uint64_t. Use root in le.
718 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
719 (find_path): Fix template key init.
720 (grub_btrfs_dir): Fix mtime byteswap.
721 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
722
354e0af7
VS
7232012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
726 recursion_depth. Break infinite resursions. All users updated.
727
4e75f21c
VS
7282012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
731 after free.
732 Reported by: Peter Jones.
733
25581802
AB
7342012-03-31 Anton Blanchard <anton@samba.org>
735
736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
737 8 bit values.
738
08fbf92e
VS
7392012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * util/grub-install.in: Fix nvram call for PreP.
742
5d1182a6
VS
7432012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
746 the error when some elements are missing into a warning.
747
3f8cdd90
VS
7482012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
751
51006716
CW
7522012-03-28 Colin Watson <cjwatson@ubuntu.com>
753
754 * docs/grub.texi (Invoking grub-probe): New section.
755 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
756
e1bd676b
VS
7572012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
758
759 Fix tab and wide character handling in editor and menu.
760
761 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
762 agglomerate control characters with combining marks.
763 (bidi_line_wrap): Allow break on tab.
764 (grub_unicode_get_comb_start): New function.
765 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
766 and tab correctly.
767 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
768 with a space.
769 * grub-core/normal/term.c (print_ucs4_terminal): New argument
770 fixed_tab_size. All users updated.
771 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
772 (grub_term_getcharwidth): Handle \t.
773 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
774 and copy.
775
22e6a774
VS
7762012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
777
778 Handle big-endian mdraid.
779
780 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
781 * grub-core/Makefile.core.def (mdraid09_be): New module.
782 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
783 rather than grub_le_to_cpu* and grub_cpu_to_le*.
784 * grub-core/disk/mdraid_linux_be.c: New file.
785
3c0eae66
VS
7862012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
789
b6cf74c9
VS
7902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
793 missing quotes which caused confusion among translators.
794
83c93b9c
VS
7952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * util/grub-mkconfig_lib.in: Fix typo.
798
ac6fd218
VS
7992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
802 spaces.
803 * tests/grub_script_leading_whitespace.in: New file.
804 * Makefile.util.def (grub_script_leading_whitespace): New test.
805
ba287dd8
VS
8062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
809 to work.
810
d2d58d0a
VS
8112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
814 starts with control character.
815
0382d9bb
VS
8162012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
819 overflow.
820 (grub_gdb_outbuf): Likewise.
821
d83ff9f9
VS
8222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
825 zero terminator. Fixes a crash.
826
2282da4a
VS
8272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
830 beyond 4 GiB.
831 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
832 images independently of preffered adderss field.
833
0ae4f0bd
VS
8342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
837 * grub-core/commands/regexp.c: Likewise.
838 * grub-core/loader/i386/linux.c: Likewise.
839 * grub-core/partmap/msdos.c: Likewise.
840 * grub-core/script/execute.c: Likewise.
841 * grub-core/term/gfxterm.c: Likewise.
842
546fbe9b
VS
8432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Add variable parsing in $"..." and fix several mismatches with bash.
846
847 * Makefile.util.def (grub_script_gettext): New test.
848 * grub-core/script/execute.c (parse_string): New function.
849 (gettext_append): Likewise.
850 (grub_script_arglist_to_argv): Use gettext_append.
851 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
852 * tests/grub_script_gettext.in: New file.
853
9fdb2d7b
VS
8542012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
855
856 Fix handling of leading spaces in scripts.
857
858 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
859 spaces.
860 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
861 other than skipping \r. All users updated.
862 * tests/grub_script_echo1.in: Add space-related tests.
863 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
864
1a1ac4f6
VS
8652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
868
b63d89b6
VS
8692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * configure.ac: Bump up the version to beta2.
872
17f38c0f
VS
8732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
874
875 Fix gettext reload bugs (e.g. inability to disable gettext
876 once enabled).
877
878 * grub-core/gettext/gettext.c: Encapsulate all static variables in
879 main_context and secondary_context. All functions updated.
880 (grub_gettext_translate): Rename to ...
881 (grub_gettext_translate_real): ... this. Return NULL on failed
882 translate.
883 (grub_gettext_translate): Handle secondary context.
884 (grub_gettext_delete_list): Close file and zero-out the context.
885 (grub_mofile_open): Don't call grub_gettext_delete_list.
886 Don't close file.
887 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
888 if locale="" to avoid pointless error message.
889 (grub_gettext_env_write_lang): Update lang even if load fails.
890 Handle secondary context.
891 (grub_gettext_reread_prefix): New function.
892 (read_main): Likewise.
893 (read_secondary): Likewise.
894 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
895 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
896 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
897 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
898
8e56f870
VS
8992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * configure.ac: Decrease warning level to avoid spurious warnings and
902 to be able to compile with GCC 4.2.
903 * Makefile.util.def: Remove -Wno-error=logical-op.
904
82f6d455
WB
9052012-03-10 William Bittner <william.bittner@gmail.com>
906
907 * util/import_unicode.py: Add missing brackets around string for
908 python 3 support.
909
1ecd61a4
VS
9102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Fix efi chainloader on network root.
913
914 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
915 network devices.
916 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
917 New function.
918
14361ee8
VS
9192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
922 unused show_text member.
923 * docs/grub.texi: Document "text" property.
924
922aabf3
VS
9252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
928 in dprintf.
929
ec316771
VS
9302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
931
932 Fix IMSM handling on Fedora.
933
934 * util/getroot.c (grub_util_is_imsm): New function.
935 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
936
0f021838
VS
9372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * Makefile.am: Strip gold section.
940 * conf/Makefile.common: Likewise.
941 * gentpl.py: Likewise.
942 * grub-core/Makefile.core.def: Likewise.
943 * grub-core/genmod.sh.in: Likewise.
944
1039c8eb
VS
9452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
948 * util/grub.d/20_linux_xen.in: Likewise.
949 Based on Debian patch.
950
6dd412cd
VS
9512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * util/grub.d/10_linux.in: Fix syntax error resulting in
954 Richard Laager's patch.
955 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
956
3fd8bae5
VS
9572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
960 dependencies.
961
7eea1671
RL
9622012-03-10 Richard Laager <rlaager@wiktel.com>
963
964 * util/grub.d/10_linux.in: Fix ZFS root passing.
965
e8e0566b
VS
9662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
969 * grub-core/commands/xnu_uuid.c: Likewise.
970 * grub-core/loader/efi/appleloader.c: Likewise.
971 * grub-core/script/execute.c: Likewise.
972 * grub-core/script/main.c: Likewise.
973 * util/grub-mkfont.c: Likewise.
974
1acc5b1f
VS
9752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * util/grub-mkfont.c (options): Use more appropriate "select" that
978 "set" for face index.
979
35d70620
VS
9802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * util/grub-editenv.c (options): Gettextize command summaries.
983
c9eb96b5
VS
9842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
987 "out of memory" error messagge.
988
1f493136
VS
9892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
992 of diskfilter for diskfilter on diskfilter support.
993
6d790129
VS
9942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
997
005f46c9
VS
9982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1001 themes/starfield.
1002
c8f778a0
VS
10032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1006
de1e64eb
VS
10072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1010
c6d54211
VS
10112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1014 of error message.
1015
dd390777
VS
10162012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1019
5fd1c522
VS
10202012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1023 message.
c6d54211 1024 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1025
fae01f6c
VS
10262012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1029 Gettextize.
1030 * util/grub-mount.c (options): Likewise.
1031
292fdaff
VS
10322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1035 gettextize.
1036 * grub-core/commands/search_wrap.c (options): Likewise.
1037
ecdbae77
VS
10382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1041
52bfedfa
VS
10422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1045 size calculation.
1046 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1047 none is known.
1048
55b20e58
VS
10492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1052 "temporary" since it's used in identifier and is limited in space.
1053
fda9d101
VS
10542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * po/POTFILES.in: Regenerate. Include *.h since they contain
1057 translatable strings as well.
1058
6a0295e2
VS
10592012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1062 byte-swap on big-endian.
1063 Reported by: Lennart Sorensen
1064
807fb77c
VS
10652012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1068 (allocate_pages): Improve dprintf.
1069 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1070 code32_start. Fill code32_start and kernel_alignment in params.
1071 (grub_cmd_initrd): Use prot_init_space.
1072
61ac50ba
VS
10732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1076
abdd26dd
VS
10772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * util/grub-install.in: Add missing dot at the end of sentence.
1080
6e69da9c
VS
10812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1084 * grub-core/commands/videotest.c: Likewise.
1085 * grub-core/loader/i386/linux.c: Likewise.
1086
4a929343
VS
10872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1090 sentence.
1091 Reported by: Milo Casagrande.
1092
bb51c6c6
VS
10932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1096 * grub-core/commands/gptsync.c: Likewise.
1097 * grub-core/commands/hashsum.c: Likewise.
1098 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1099 * grub-core/commands/legacycfg.c: Likewise.
1100 * grub-core/io/gzio.c: Likewise.
1101 * grub-core/net/net.c: Likewise.
1102 * grub-core/term/gfxterm.c: Likewise.
1103 * grub-core/term/terminfo.c: Likewise.
1104 * grub-core/tests/test_blockarg.c: Likewise.
1105 * grub-core/video/video.c: Likewise.
1106 * util/grub-install.in: Likewise.
1107 * util/grub-mkfont.c: Likewise.
1108
b2b149cb
VS
11092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1112
c7c080ad
VS
11132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1116 Reported by: David Prévot.
c7c080ad 1117
f2e243c0
VS
11182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1121 description.
1122
09963c76
VS
11232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * util/grub-script-check.c (main): Fix a syntax error message which was
1126 unclear.
1127
a50514a8
VS
11282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1131
4650daec
VS
11322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1135 messages.
1136
11372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1138
1139 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1140 without argument.
1141 * util/grub-mount.c (options): Likewise.
1142
bbc5a342
VS
11432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1146
ef292a87
VS
11472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/net/http.c: Add TRANSLATORS comments.
1150 * grub-core/normal/cmdline.c: Likewise.
1151 * grub-core/normal/misc.c: Likewise.
1152 * grub-core/partmap/msdos.c: Likewise.
1153 * grub-core/parttool/msdospart.c: Likewise.
1154 * grub-core/script/execute.c: Likewise.
1155 * grub-core/script/main.c: Likewise.
1156 * grub-core/term/terminfo.c: Likewise.
1157 * grub-core/video/bitmap.c: Likewise.
1158 * util/grub-install.in: Likewise.
1159 * util/grub-mkimage.c: Likewise.
1160 * util/grub-mklayout.c: Likewise.
1161 * util/grub-setup.c: Likewise.
1162
0fc19bd0
VS
11632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1166 with similar messages in grub-fstest.
1167
d95862ef
VS
11682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * util/grub-install.in: Unify "option requires an argument" message
1171 with similar messages in other files.
1172 * util/grub-mkconfig.in: Likewise.
1173
b7308f90
VS
11742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * util/grub-set-default.in: Replace printf with gettext_printf (the
1177 string in in question is already translated from grub-reboot)
1178
559dc587
VS
11792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: Bump up the version to beta1.
1182
1a11761f
VS
11832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1186 case when min_align = 0.
1187
24539abd
VS
11882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1191 and fix a case when line_start overflows.
1192
32bd735b
VS
11932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * util/grub-reboot.in (usage): Mention id posibility.
1196 * util/grub-set-default.in (usage): Likewise.
1197
1a2fd1e6
VS
11982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1201 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1202 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1203 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1204 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1205 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1206 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1207
90eeab76
VS
12082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/commands/menuentry.c (options): Remove
1211 GRUB_ARG_OPTION_REPEATABLE.
1212 Reported by: Andreas Vogel
1213
5ad1be82
AV
12142012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1215
1216 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1217
cb055286
HE
12182012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1219
1220 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1221 error.
1222
93b1cd79
VS
12232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Use sort -V by the idea of Georgi Georgiev.
1226
1227 * util/grub-mkconfig_lib.in (version_sort): New function.
1228 (version_test_numeric): Use version_sort.
1229
0cdc126c
VS
12302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Use submenus in grub-mkconfig.
1233
1234 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1235 * util/grub-mkconfig_lib.in (grub_quote): New function.
1236 (gettext_printf): Use gettext and not gettext_quoted to fix several
1237 messages.
1238 * util/grub.d/10_hurd.in: Use submenus.
1239 * util/grub.d/10_kfreebsd.in: Likewise.
1240 * util/grub.d/10_linux.in: Likewise.
1241 * util/grub.d/10_netbsd.in: Likewise.
1242 * util/grub.d/20_linux_xen.in: Likewise.
1243 * util/grub.d/30_os-prober.in: Likewise.
1244 * util/grub.d/10_illumos.in: Add missing quoting.
1245 * util/grub.d/10_windows.in: Likewise.
1246
d9bef9bc
VS
12472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Fix menu title instability bug.
1250
1251 * grub-core/commands/menuentry.c (options): New option --id.
1252 (grub_normal_add_menu_entry): New argument id. All users updated.
1253 (grub_cmd_menuentry): Handle --id.
1254 (grub_menu_init): Accept unknown arguments.
1255 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1256 feature_menuentry_options.
1257 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1258 saved_entry.
1259 (get_entry_number): Match with id as well.
1260 * include/grub/menu.h (grub_menu_entry): New member id.
1261 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1262 * util/grub.d/00_header.in: Define menuentry_id_option.
1263 * util/grub.d/10_hurd.in: Define id.
1264 * util/grub.d/10_illumos.in: Likewise.
1265 * util/grub.d/10_kfreebsd.in: Likewise.
1266 * util/grub.d/10_linux.in: Likewise.
1267 * util/grub.d/10_netbsd.in: Likewise.
1268 * util/grub.d/10_windows.in: Likewise.
1269 * util/grub.d/20_linux_xen.in: Likewise.
1270 * util/grub.d/30_os-prober.in: Likewise.
1271
12722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1273
1274 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1275 "scope" with "body".
1276
7c8d0ce7
VS
12772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1280 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1281 prot_size and prot_file_size.
1282
49de079b
VS
12832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1286 All users updated. If easily=1 require raid-5/-6 to be full.
1287 (is_node_readable): Likewise.
1288 (scan_devices): Scan incomplete but readable LVs at the end.
1289 (grub_diskfilter_memberlist): Pull missing devices.
1290 (insert_array): Skip scanning until device is complete or scan is
1291 done otherwise.
1292 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1293 check.
1294 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1295 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1296
aff05d45
MG
12972012-03-03 Matthew Garrett <mjg@redhat.com>
12982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 Avoid EFI boot services when loading Linux.
1301
1302 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1303 avoid_efi_bootservices. All users updated.
1304 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1305 argument avoid_efi_bootservices. All users updated.
1306 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1307 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1308 align, min_align, relocatable, prefered_address. All users updated.
1309 Allocate avoiding boot services if kernel is relocatable.
1310 (grub_cmd_linux): Check if kernel is relocatable.
1311 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1312 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1313 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1314 avoid_efi_boot_services.
1315 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1316 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1317 (linux_kernel_params): Likewise.
1318
3935dde2
MG
13192012-03-03 Matthew Garrett <mjg@redhat.com>
13202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 Use EDID on EFI.
1323
1324 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1325 datasize_out.
1326 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1327 modes. Set gop_handle.
1328 (grub_video_gop_get_edid): New function.
1329 (grub_gop_get_preferred_mode): Likewise.
1330 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1331 (grub_video_efi_gop_adapter): Set .get_edid.
1332 * include/grub/efi/edid.h: New file.
1333 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1334
32107ec0
VS
13352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * util/grub-install.in: Load efivars unconditionally.
1338
e70a2c50
VS
13392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * po/Rules-piglatin: Change suffix from .po-update-en to
1342 .po-update-en-piglatin.
1343
8f9cace1
VS
13442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Add a pig farm.
1347
1348 * po/piglatin.sed: New file.
1349 * po/en@piglatin.header: Likewise.
1350 * po/Rules-piglatin: Likewise.
1351 * po/README: Add en@piglatin to autogenerated languages.
1352
8f95d002
VS
13532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1356 "Command for ...".
1357 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1358 "Check" since we don't check anything.
1359 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1360 is 64-bit one.
1361 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1362 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1363 (grub_md_sha512_real): Likewise.
1364
805a8dcc
VS
13652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/commands/gptsync.c: Fix typographic quoting.
1368 * grub-core/commands/ieee1275/suspend.c: Likewise.
1369 * grub-core/commands/parttool.c: Likewise.
1370 * grub-core/commands/search_wrap.c: Likewise.
1371 * grub-core/commands/videoinfo.c: Likewise.
1372 * grub-core/gfxmenu/gui_label.c: Likewise.
1373 * grub-core/hello/hello.c: Likewise.
1374 * grub-core/kern/emu/main.c: Likewise.
1375 * grub-core/net/net.c: Likewise.
1376 * grub-core/normal/menu.c: Likewise.
1377 * grub-core/normal/menu_text.c: Likewise.
1378 * grub-core/normal/misc.c: Likewise.
1379 * util/grub-editenv.c: Likewise.
1380 * util/grub-install.in: Likewise.
1381 * util/grub-kbdcomp.in: Likewise.
1382 * util/grub-mkconfig.in: Likewise.
1383 * util/grub-mknetdir.in: Likewise.
1384 * util/grub-mkrescue.in: Likewise.
1385 * util/grub-mkstandalone.in: Likewise.
1386 * util/grub-reboot.in: Likewise.
1387 * util/grub-set-default.in: Likewise.
1388 * util/grub-setup.c: Likewise.
1389 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1390
40211ab8
VS
13912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1394 * grub-core/commands/keystatus.c: Likewise.
1395 * grub-core/commands/loadenv.c: Likewise.
1396 * grub-core/commands/probe.c: Likewise.
1397 * grub-core/commands/regexp.c: Likewise.
1398 * grub-core/commands/true.c: Likewise.
1399 * grub-core/commands/videoinfo.c: Likewise.
1400 * grub-core/disk/cryptodisk.c: Likewise.
1401 * grub-core/disk/ldm.c: Likewise.
1402 * grub-core/disk/loopback.c: Likewise.
1403 * grub-core/disk/luks.c: Likewise.
1404 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1405 * grub-core/kern/disk.c: Likewise.
1406 * grub-core/kern/emu/hostdisk.c: Likewise.
1407
0c7d99c7
VS
14082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1411 * util/grub-install.in: Add missing quote in the comment.
1412
e7d2559b
VS
14132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1416 * grub-core/commands/lsmmap.c: Likewise.
1417 * grub-core/commands/minicmd.c: Likewise.
1418 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1419 * grub-core/commands/regexp.c: Likewise.
1420 * grub-core/gdb/gdb.c: Likewise.
1421 * grub-core/term/gfxterm.c: Likewise.
1422 * util/grub-mkconfig.in: Likewise.
1423 * util/grub-mkfont.c: Likewise.
1424 * util/grub-mklayout.c: Likewise.
1425 * util/grub-mknetdir.in: Likewise.
1426 * util/grub-mkrescue.in: Likewise.
1427 * util/grub.d/30_os-prober.in: Likewise.
1428
49ce9e50
VS
14292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1432 with "Direct color" and "Packed" with "Packed pixel".
1433 (grub_cmd_videoinfo): Simplify legend.
1434
e4b791fa
VS
14352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1438 absolutely unclear error message.
1439
fd1265cb
VS
14402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * util/grub-mkstandalone.in: Remove confusing leftover print.
1443
8822a8a0
VS
14442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1447 comments.
1448 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1449 (GRUB_MOD_INIT): Likewise.
1450 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1451 VGA mode.
1452 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1453 comments.
1454 * util/grub-install.in (usage): Likewise.
1455 Spell ID in whole letters.
1456 Add missing ending dot.
1457 Quote variables.
1458 * util/grub-reboot.in: Fix capitalisation.
1459 * util/grub-set-default.in: Likewise.
1460
937fd0cc
VS
14612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1464 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1465 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1466 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1467 Disable -Werror for -Wdeprecated-declarations.
1468 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1469 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1470 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1471 (grub_util_get_grub_dev): Make luks handling dependent on
1472 HAVE_DEVICE_MAPPER and not __linux__.
1473 (get_win32_path): Fix format security.
1474 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1475 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1476 Don't try grub_find_zpool_from_dir.
1477 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1478 #ifdef-out paresdir.
1479
1bab1ae3
VS
14802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * util/grub-pe2elf.c (usage): Add missing noreturn.
1483 (write_section_data): Rename name to shname to avoid shadowing.
1484 (write_symbol_table): Rename name to symname to avoid shadowing.
1485 Fix write_reloc_section call.
1486
ef023e42
VS
14872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1490 to ensure that it's after the last byte of .text.
1491
48afcb75
VS
14922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * util/ieee1275/ofpath.c (my_isdigit): New function.
1495 (trailing_digits): Use my_isdigit.
1496 (strip_trailing_digits): Likewise.
1497
88d51eff
VS
14982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1501 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1502
17edc2ba
VS
15032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/kern/i386/pc/startup.S: Define __start.
1506
ad5518d7
VS
15072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1510 strip already transforms he format.
1511
9e95e1bf
VS
15122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1515
9cc3ee5c
VS
15162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/grub-install.in: Add missing gettext init.
1519 * util/grub-kbdcomp.in: Likewise.
1520 * util/grub-mkconfig.in: Likewise.
1521 * util/grub-mknetdir.in: Likewise.
1522 * util/grub-mkrescue.in: Likewise.
1523 * util/grub-mkstandalone.in: Likewise.
1524 * util/grub-reboot.in: Likewise.
1525 * util/grub-set-default.in: Likewise.
1526 * util/grub.d/00_header.in: Likewise.
1527 * util/grub.d/10_hurd.in: Likewise.
1528 * util/grub.d/10_windows.in: Likewise.
1529 * util/grub.d/30_os-prober.in: Likewise.
1530 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1531
49e08a06
VS
15322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * po/Rules-swiss: Fix header comment.
1535
3809cb41
AV
15362012-02-29 Andreas Vogel <anvoit>
1537
1538 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1539 resulted in leak of arguments.
1540
fa6ec573
VS
15412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1544 reed_solomon_size const definition instead of computing it since
1545 Apple assembler doesn't support the later.
1546
22899b9c
VS
15472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * gentpl.py (kernel): Rewrite Apple part.
1550
a132afc3
VS
15512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1554
9d742bd4
VS
15552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1558 ELF section gap.
1559 (load_image): Likewise.
1560
f04a9a21
VS
15612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * configure.ac: Fix a typo in previous commit.
1564
46cf439c
VS
15652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Don't add -Wl,-N on Apple platform.
1568
1569 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1570 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1571
c4c48c54
VS
15722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/Makefile.core.def (lzma_decompress): Use
1575 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1576
31a12124
VS
15772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/genmod.sh.in: Rewrite the Apple part.
1580
4f3aa1af
VS
15812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1584 comparison.
1585
7bd8b0c7
VS
15862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * acinclude.m4 (grub_CHECK_PIC): New test.
1589 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1590
97304d7c
VS
15912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1594 to avoid the warning.
1595
fb883812
VS
15962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1599 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1600 after. All users updated.
1601
a121c964
VS
16022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Use the common size routine in hostfs so we can read disks as well.
1605
1606 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1607 (grub_util_get_fd_size): ... this. Return size in bytes.
1608 All users updated.
1609 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1610 grub_util_get_fd_size.
1611
c66d6410
VS
16122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1615 Add blocksize retrieval.
1616
dfc8aeb0
VS
16172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * configure.ac: Restore CFLAGS after efiemu check.
1620
403e25a5
VS
16212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1624 Apple bug.
1625
382775d1
VS
16262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1629
6fd4e6e4
VS
16302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1633 (grub_cmd_halt): Likewise.
1634
bea359d6
VS
16352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1638 for local arithmetics.
1639 Break %sp init into 2 instructions.
1640 Add 0 byte at the end.
1641
32eb6ee1
VS
16422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1645 before loops.
1646
e8377389
VS
16472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1650 for context.
1651
8cb17de7
VS
16522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/disk/ldm.c (make_vg): Init part.name.
1655 (grub_ldm_detect): Silence spurious warning.
1656 (grub_util_is_ldm): Likewise.
1657
595717e6
VS
16582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1661 sane value to avoid a spurious warning.
1662
c4b7e588
VS
16632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1666 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1667
59824957
VS
16682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1671 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1672
70115b99
VS
16732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1676 hardcoding the relevant info.
1677
56733740
VS
16782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1681 missing const qualifiers.
1682 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1683
43481481
VS
16842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * util/getroot.c [__APPLE__]: Add missing includes.
1687 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1688
3cb38f01
VS
16892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1692
d9dbf11e
VS
16932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1696 avoid conflicts.
1697
0c42a45d
VS
16982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1701
46c34eb0
VS
17022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1705 and grub_file_close call.
1706
99ce1597
VS
17072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 Add LZSS Mach-O support (needed for new xnu kernelcache).
1710
1711 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1712 * grub-core/loader/lzss.c: New file.
1713 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1714 on Mach-O open failure.
1715 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1716 Don't free cmdsXX in uncompressedXX is set.
1717 (grub_macho_file): Init new fields.
1718 New argument is_64bit. All users updated.
1719 Handle compressed. Error out if no suitable architecture is found.
1720 Don't close file.
1721 (grub_macho_open): New argument is_64bit. All users updated.
1722 * grub-core/loader/macho32.c: Add defines for new fields.
1723 * grub-core/loader/macho64.c: Likewise.
1724 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1725 (grub_macho_parse): Handle compressed.
1726 Defer actual processing if compressed.
1727 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1728 "filename". All users updated.
1729 (grub_macho_size): New argument "filename". All users updated.
1730 (grub_macho_get_entry_point): Likewise.
1731 (grub_macho_load): Handle compressed.
1732 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1733 (GRUB_MACHO_LZSS_OFFSET): New define.
1734 (grub_decompress_lzss): New proto.
1735 * include/grub/machoload.h (grub_macho_file): New fields to handle
1736 compressed.
1737 (grub_macho_contains_macho64): Remove proto.
1738 (grub_macho_contains_macho32): Likewise.
1739 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1740
ebd17d6f
VS
17412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1744
2702b4e4
VS
17452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Fix make dist.
1748
1749 * Makefile.am (starfield_theme_files): New var.
1750 (starfield_DATA): Use starfield_theme_files.
1751 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1752 Add bootcheck-related files.
1753 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1754 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1755 and font_char_metrics.txt.
1756 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1757 (setjmp): Add lib/ia64/longjmp.S.
1758 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1759 * po/POTFILES.in: Regenerate.
1760 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1761 DISTFILES.common.extra1.
1762 * util/devicemap.c: Removed.
1763 * grub-core/lib/i386/relocator_backward.S: Likewise.
1764 * util/import_gcry.py: Remove unused files. Add extra_dist for
1765 ChangeLog.
1766
cf1adfdf
VS
17672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1770 grub_gettext_delete_list before changing grub_gettext_max to avoid
1771 running out of array bounds.
1772
17732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1774
1775 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1776 grub_vga_text_init/grub_vga_text_fini.
1777
cf1adfdf 17782012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1779
1780 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1781
541d92e9
VS
17822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * configure.ac: Bump to 2.00~beta0.
1785
7931dddf
VS
17862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1789 missing initialisation.
1790
f1b16fa3
VS
17912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1794
83ddae23
VS
17952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Support v2 xnu boot arguments.
1798
1799 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1800 New argument fsbfreq_out.
1801 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1802 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1803 be used.
1804 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1805 darwin_version.
1806 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1807 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1808 (grub_xnu_boot_params): Rename to ...
1809 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1810 (grub_xnu_boot_params_v2): New struct.
1811
dc693fe6
VS
18122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1815 zeroing of CRC field before computing CRC.
1816
5a6e39c2
VS
18172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1820 Change order of allocations to decrease fragmentation.
1821
6c21f5d7
VS
18222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1825
cfe456dc
CW
18262012-02-27 Colin Watson <cjwatson@ubuntu.com>
1827
1828 Use write-combining MTRR to speed up video with buggy BIOSes.
1829
1830 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1831 (cpuid): New define.
1832 (rdmsr): Likewise.
1833 (wrmsr): Likewise.
1834 (mtrr_base): Likewise.
1835 (mtrr_mask): Likewise.
1836 (grub_vbe_enable_mtrr_entry): New function.
1837 (grub_vbe_enable_mtrr): Likewise.
1838 (grub_vbe_disable_mtrr): Likewise.
1839 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1840 control off to BIOS.
1841 (grub_video_vbe_init): Fill mtrr.
1842 (grub_video_vbe_fini): Disable mtrr.
1843 (grub_video_vbe_get_info_and_fini): Likewise.
1844 (grub_video_vbe_setup): Enable mtrr.
1845
e3c78337
CW
18462012-02-27 Colin Watson <cjwatson@ubuntu.com>
1847
1848 * include/grub/partition.h (grub_partition_map): Change prototype of
1849 embed to take a maximum value for nsectors.
1850 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1851 * include/grub/fs.h (grub_fs): Likewise.
1852 * grub-core/partmap/msdos.c (embed_signatures): New array.
1853 (pc_partition_map_embed): Check for and avoid sectors matching any
1854 of the signatures in embed_signatures, up to max_nsectors.
1855 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1856 returned sector map to max_nsectors.
1857 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1858 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1859 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1860 * util/grub-setup.c (setup): Allow for the embedding area being
1861 split into multiple blocklists. Tell dest_partmap->embed the
1862 maximum number of sectors we care about.
1863
18642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1867 Specify blocklist_install and reserver_first_sector for all fs.
1868 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1869 blocklists.
1870
984b973f
VS
18712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * util/grub-install.in: Clarify strings.
1874 Fix source dir check.
1875
f122e0d6
RL
18762012-02-27 Richard Laager <rlaager@wiktel.com>
1877
1878 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1879 "zfs" and "fuse.zfs" as synonyms.
1880
071114bb
VS
18812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * configure.ac: Put platform and target_cpu substitutions back since
1884 they are used for directories.
1885
817e6abc
RL
18862012-02-27 Richard Laager <rlaager@wiktel.com>
18872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1890 * util/grub.d/20_linux_xen.in: Likewise.
1891
897b7419
RL
18922012-02-27 Richard Laager <rlaager@wiktel.com>
1893
1894 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1895 with full paths.
1896
a414bd15
RL
18972012-02-27 Richard Laager <rlaager@wiktel.com>
1898
1899 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1900 unescape.
1901
30ac48c4
VS
19022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 Don't use insecure popen in getroot.
1905
1906 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1907 (exec_pipe): ... here.
1908 (find_root_devices_from_poolname): Use exec_pipe.
1909
53f13848
VS
19102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 Remove platform and target_cpu replacement.
1913
1914 * configure.ac: Remove platform and target_cpu substitutions.
1915 * tests/util/grub-shell.in: Use modinfo.
1916 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1917 explicitly.
1918
90cb2803
VS
19192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 Autodetect platform in grub-install but allow override.
1922
1923 * util/grub-install.in: Autodetect platform. Support --target and
1924 --directory. Read platform from modinfo.sh.
1925
b9136427
VS
19262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Support btrfs multi-volume probe.
1929
1930 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1931 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1932 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1933 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1934 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1935 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1936 grub_find_root_devices_from_btrfs if on btrfs.
1937
c36e5cd1
VS
19382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Remove any awareness of *.c util files about target.
1941
1942 * Makefile.util.def (grub-setup): Split to ...
1943 (grub-bios-setup): ... and this.
1944 (grub-sparc64-setup): ... and this.
1945 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1946 * docs/man/grub-setup.h2m: Split into ...
1947 * docs/man/grub-sparc64-setup.h2m: ... this.
1948 * docs/man/grub-bios-setup.h2m: ... and this.
1949 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1950 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1951 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1952 (grub_target_addr_t): Remove.
1953 (grub_target_size_t): Remove.
1954 (grub_target_ssize_t): Remove.
1955 * util/grub-install.in: Use new grub-*-setup.
1956 * util/grub-mkimagexx.c (Elf_Word): New define.
1957 (Elf_Half): Likewise.
1958 (Elf_Section): Likewise.
1959 (ELF_ST_TYPE): Likewise.
1960 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1961 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1962
584b2f8a
VS
19632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Replace grub_target_addr with more appropriate types.
1966
1967 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1968 grub_target_addr with grub_addr.
1969 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1970 grub_target_addr with grub_port.
1971 (grub_cmd_write): Likewise.
1972 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1973 grub_target_addr with grub_addr.
1974 (grub_cmd_write): Likewise.
1975 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1976
5a0dc6fb
VS
19772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1980 const qualifier for vendor_guid.
1981
786aff6e
VS
19822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1985 const qualifier.
1986 (efiemu_memequal): Likewise.
1987 (find_variable): Likewise.
1988
49017b17
VS
19892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 Fix missing console prototype on qemu-mips.
1992
1993 * include/grub/mips/qemu_mips/console.h: New file.
1994
c5988629
MG
19952012-02-27 Matthew Garrett <mjg@redhat.com>
19962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1999 * include/grub/efi/efi.h: Likewise.
2000 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2001 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2002 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2003 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2004 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2005 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2006
e33f8d69
MG
20072012-02-27 Matthew Garrett <mjg@redhat.com>
2008
2009 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2010
fb312cd9
VS
20112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2014 error.
2015
7134247c
VS
20162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * configure.ac: Remove inappropriate use of program_transform_name
2019 on grubdir and bootdir but allow explicit specification of those
2020 variables.
2021
6a313124
VS
20222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * util/grub-mknetdir.in (grub_prefix): Removed.
2025 (subdir): Use @bootdirname@ and @grubdirname@.
2026
2311c5ca
VS
20272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2030
7d5d60f7
VS
20312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * po/POTFILES.in: Regenerated.
2034
8151bc82
VS
20352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Remove improper use of program_transform_name on pkglibrootdir.
2038
2039 * configure.ac (pkglibrootdir): Removed.
2040 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2041 * util/grub-mkimage.c: Likewise.
2042
b4a6a533
VS
20432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2046 warning.
2047
668f304f
VS
20482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * util/grub-install.in: Use file identifier if no UUID is available
2051 or user explicitly prompted for it.
2052
665f2341
NP
20532012-02-27 Navdeep Parhar <nparhar@gmail.com>
2054
2055 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2056 (freebsd_get_zfs): New function.
2057 (grub_freebsd_boot): Pass zfs UUID.
2058 (grub_cmd_freebsd): Set zfs UUID.
2059
8151bc82 20602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2061
2062 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2063 pkglibrootdir.
2064
e4c498a1
MG
20652012-02-27 Mike Gilbert <floppym@gentoo.org>
2066
2067 Add configure flag to control libzfs integration.
2068
2069 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2070
1e9a9a3f
VS
20712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2074 device.
2075 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2076 small devices.
2077
036985b8
VS
20782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2081 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2082 be used on non-modules.
2083
2084 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2085 Rename to grub_boot_init.
2086 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2087 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2088 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2089 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2090 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2091 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2092 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2093 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2094 includes.
2095 (grub_machine_init): Remove empty inits.
2096 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2097 includes.
2098 (grub_machine_init): Remove empty inits.
2099 * grub-core/term/arc/console.c: Remove explicit proto.
2100 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2101 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2102 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2103 grub_at_keyboard_fini.
2104 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2105 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2106 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2107 grub_gfxterm_fini.
2108 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2109 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2110 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2111 grub_vgatext_fini.
2112 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2113 * grub-core/term/serial.c (GRUB_MOD_INIT)
2114 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2115 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2116 grub_serial_fini.
2117 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2118 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2119 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2120 grub_terminfo_fini.
2121 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2122 (GRUB_MOD_FINI): Likewise.
2123 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2124 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2125 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2126 grub_video_radeon_fuloong2e_fini.
2127 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2128 [LOONGSON]: Rename to grub_video_sis315pro_init.
2129 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2130 grub_video_sis315pro_fini.
2131 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2132 [LOONGSON]: Rename to grub_video_sm712_init.
2133 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2134 grub_video_sm712_fini.
2135 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2136 (grub_at_keyboard_fini): Likewise.
2137 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2138 Don't declare grub_{modname}_init.
2139 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2140 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2141 New proto.
2142 (grub_keylayouts_fini) [!EMU]: Likewise.
2143 * include/grub/serial.h (grub_serial_init) [!EMU]:
2144 New proto.
2145 (grub_serial_fini) [!EMU]: Likewise.
2146 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2147 New proto.
2148 (grub_terminfo_fini) [!EMU]: Likewise.
2149 * include/grub/video.h (grub_font_init) [!EMU]:
2150 New proto.
2151 (grub_font_fini) [!EMU]: Likewise.
2152 (grub_gfxterm_init) [!EMU]: Likewise.
2153 (grub_gfxterm_fini) [!EMU]: Likewise.
2154 (grub_video_sm712_init) [!EMU]: Likewise.
2155 (grub_video_sm712_fini) [!EMU]: Likewise.
2156 (grub_video_sis315pro_init) [!EMU]: Likewise.
2157 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2158 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2159 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2160
d5534665
VS
21612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Make nand a prefix for nand devices.
2164
2165 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2166
10133b5f
VS
21672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2170 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2171
8e307a62
VS
21722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * include/grub/env.h (grub_env_find): Remove prototype.
2175 * grub-core/kern/env.c (grub_env_find): Make static.
2176 (grub_env_set): Remove useless set.
2177
a4c65f34
VS
21782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/kern/i386/realmode.S: Remove useless align.
2181
d87893d5
VS
21822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * include/grub/dl.h (grub_dl_load_file): Don't export.
2185
50159add
VS
21862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2189 grub_dprintf.
2190
b2582b84
VS
21912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2194 grub_errors.
2195 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2196 not reloading whole superblock but only the part which is really needed.
2197 Remove useless grub_errors.
2198 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2199 grub_errors.
2200
e2a83395
VS
22012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Don't export grub_get_rtc.
2204
2205 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2206 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2207
e7d2a906
VS
22082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2211
6cf1363b
VS
22122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2215 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2216
eece3349
VS
22172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Remove prio_list.
2220
2221 * include/grub/list.h (grub_prio_list): Removed.
2222 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2223 GRUB_COMMAND_PRIO_MASK.
2224 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2225 GRUB_COMMAND_FLAG_ACTIVE.
2226 (grub_prio_list_insert): Removed.
2227 (grub_prio_list_remove): Likewise.
2228 (GRUB_AS_PRIO_LIST): Likewise.
2229 (GRUB_AS_PRIO_LIST_P): Likewise.
2230 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2231 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2232 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2233 * grub-core/kern/command.c (grub_register_command_prio): Inline
2234 the prio_list code.
2235 (grub_unregister_command): Likewise.
2236
94f064b4
VS
22372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Fix interrupt mixup from previous commit.
2240
2241 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2242 (grub_realidt): New var.
2243 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2244 Load idt.
2245 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2246 New declaration.
2247 (grub_relocator16_boot): Set grub_relocator16_idt.
2248 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2249 (LOCAL(realidt)): ... this.
2250 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2251 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2252 (grub_realidt): New variable.
2253
27317084
VS
22542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2257 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2258 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2259 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2260 Gettextize.
2261 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2262 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2263 * po/POTFILES.in: Regenerate.
2264
47b40053
VS
22652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2268 errors.
2269
2b343101
VS
22702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2273 \0.
2274 (add_length): Likewise.
2275
ff27c3dd
LK
22762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22772012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2278
2279 GDB serial and backtrace support.
2280
2281 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2282 (prot_to_real): Likewise.
2283 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2284 * grub-core/Makefile.core.def (backtrace): New module.
2285 (gdb): Likewise.
2286 * grub-core/gdb/cstub.c: New file.
2287 * grub-core/gdb/gdb.c: Likewise.
2288 * grub-core/gdb/i386/idt.c: Likewise.
2289 * grub-core/gdb/i386/machdep.S: Likewise.
2290 * grub-core/gdb/i386/signal.c: Likewise.
2291 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2292 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2293 * include/grub/backtrace.h: Likewise.
2294 * include/grub/gdb.h: Likewise.
2295 * include/grub/i386/gdb.h: Likewise.
2296
22972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2298
2299 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2300 New function.
2301 (add_length): Likewise.
2302 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2303 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2304 proto.
2305 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2306 __argp_get_display_len.
2307
ff27c3dd 23082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2309
2310 $"..." support in scripts.
2311
2312 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2313 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2314 * grub-core/script/yylex.l: Likewise.
2315 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2316 value.
2317
ff27c3dd 23182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2319
2320 * gentpl.py: Remove obsolete pkglib_DATA handling.
2321
ff27c3dd 23222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2323
2324 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2325 mailing list.
2326
2327 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2328 * util/grub-kbdcomp.in: Likewise.
2329 * util/grub-mkconfig.in: Likewise.
2330 * util/grub-mkconfig_lib.in: Likewise.
2331 * util/grub-mknetdir.in: Likewise.
2332 * util/grub-mkrescue.in: Likewise.
2333 * util/grub-mkstandalone.in: Likewise.
2334 * util/grub-reboot.in: Likewise.
2335 * util/grub-set-default.in: Likewise.
2336 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2337
ff27c3dd 23382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2339
2340 Remove GRUB_PREFIX.
2341
2342 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2343 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2344 used for backward compatibility.
2345
ff27c3dd 23462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2347
2348 Add new all_video module.
2349
2350 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2351 * grub-core/Makefile.core.def (all_video): New module.
2352 * grub-core/genmoddep.awk: Generate dependency of all_video from
2353 video.lst.
2354 * grub-core/lib/fake_module.c: New file.
2355 * grub-core/normal/main.c (features): Add feature_all_video_module.
2356 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2357 don't do explicit search again.
47454da5 2358 insmod all_video in load_video if available.
22c7ce85 2359
ff27c3dd 23602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2361
2362 Another round of string clarification and adding TRANSLATORS comments.
2363
ff27c3dd 23642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2365
2366 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2367
ff27c3dd 23682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2369
2370 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2371 to grub_ssize_t.
2372 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2373 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2374
ff27c3dd 23752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2376
2377 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2378 trailing newline implicitly. All users updated.
2379
ff27c3dd 23802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2381
2382 Implement serial on IEEE1275 and EFI.
2383
2384 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2385 on emu. Mention arc and emu as the only platforms without serial
2386 support.
2387 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2388 ieee1275 platforms.
2389 * grub-core/term/efi/serial.c: New file.
2390 * grub-core/term/ieee1275/serial.c: Likewise.
2391 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2392 specification if no ns8250 driver is available.
2393 (grub_cmd_serial): Likewise.
2394 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2395 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2396 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2397 (grub_efi_parity_type_t): New type.
2398 (grub_efi_stop_bits_t): Likewise.
2399 (grub_efi_serial_io_interface): New struct.
2400 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2401 available for all interfaces.
2402 Add EFI and IEEE1275 fields.
2403 (grub_ofserial_init): New proto.
2404 (grub_efiserial_init): Likeiwse.
2405 * util/grub.d/00_header.in: Don't check for the presence of serial
2406 module.
2407
ff27c3dd 24082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2409
2410 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2411 name as if it was an alias.
2412
114076ef
VS
24132012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/commands/lsacpi.c (options): Fix typo.
2416
6a656b0e
VS
24172012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Convert grub-emu to argp.
2420
2421 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2422 emu.
2423 * util/argp_common.c: Rename to ...
2424 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2425 Add missing includes.
2426 * grub-core/kern/emu/main.c: Convert to argp.
2427 * po/POTFILES.in: Regenerate.
2428 * util/grub-install.in (usage): Make first letter lowcase in messages
2429 for uniformity.
2430 * util/grub-setup.c (options): Likewise.
2431
1e3f8ae8
VS
24322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2435 Put back accidently commented-out code.
2436
ed167a80
VS
24372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2440 loop check using Brent algorithm.
2441 (grub_hfsplus_btree_search): Likewise.
2442
6753c0ec
VS
24432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * util/grub-install.in: Fix usage of wrong device for PreP install.
2446
4e27343f
VS
24472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * conf/Makefile.common (CFLAGS_GNULIB): Add
2450 -Wno-unsafe-loop-optimizations.
2451 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2452 on tools.
2453 * grub-core/commands/legacycfg.c: Add pragma to skip
2454 -Wunsafe-loop-optimizations.
2455 (check_password_md5_real): Fix loop counter type.
2456 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2457 reading.
2458 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2459 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2460 loop condition.
2461 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2462 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2463 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2464 condition.
2465 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2466 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2467 avoid possible infinite loops.
2468 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2469 and -Wunsafe-loop-optimizations.
2470 * grub-core/script/yylex.l: Likewise.
2471 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2472 (print_glyphs): Avoid infinite loops.
2473 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2474
697f18b0
GS
24752012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2476
2477 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2478 to avoid infinite loop.
2479 (disp_acpi_rsdt_table): Likewise.
2480
274416e8
VS
24812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/font/font.c (grub_font_load): Add support for default
2484 path for fonts ($prefix/fonts).
2485 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2486 for checking if string is a path.
2487 * grub-core/normal/main.c (features): Add feature_default_font_path.
2488 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2489 * util/grub.d/00_header.in: Use default directory if possible.
2490 * util/grub-install.in: Install unicode.pf2.
2491
b3e08622
VS
24922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2495 * po/Rules-swiss: New file.
2496 * po/swiss.sed: Likewise.
2497
fe42ce09
VS
24982012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/fs/btrfs.c (find_device): Fix typos.
2501 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2502 * util/grub-mkrelpath.c (argp_parser): Likewise.
2503 Reported by: Yuri Chornoivan.
2504
72f1d065
DO
25052012-02-23 Dalet Omega <daletomega@gmail.com>
2506
2507 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2508 for usual informative messages.
2509
c5884973
DO
25102012-02-23 Dalet Omega <daletomega@gmail.com>
2511
2512 Starfield theme.
2513
2514 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2515 * conf/Makefile.common: Define starfielddir.
2516 * configure.ac: Configure starfield.
2517 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2518 * themes/starfield/README: Likewise.
2519 * themes/starfield/blob_w.png: Likewise.
2520 * themes/starfield/boot_menu_c.png: Likewise.
2521 * themes/starfield/boot_menu_e.png: Likewise.
2522 * themes/starfield/boot_menu_n.png: Likewise.
2523 * themes/starfield/boot_menu_ne.png: Likewise.
2524 * themes/starfield/boot_menu_nw.png: Likewise.
2525 * themes/starfield/boot_menu_s.png: Likewise.
2526 * themes/starfield/boot_menu_se.png: Likewise.
2527 * themes/starfield/boot_menu_sw.png: Likewise.
2528 * themes/starfield/boot_menu_w.png: Likewise.
2529 * themes/starfield/slider_c.png: Likewise.
2530 * themes/starfield/slider_n.png: Likewise.
2531 * themes/starfield/slider_s.png: Likewise.
2532 * themes/starfield/src/blob_nw.xcf: Likewise.
2533 * themes/starfield/src/bootmenu/: Likewise.
2534 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2535 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2536 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2537 * themes/starfield/src/slider_c.xcf: Likewise.
2538 * themes/starfield/src/slider_n.xcf: Likewise.
2539 * themes/starfield/src/slider_s.xcf: Likewise.
2540 * themes/starfield/src/terminalbox/: Likewise.
2541 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2542 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2543 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2544 * themes/starfield/starfield.png: Likewise.
2545 * themes/starfield/terminal_box_c.png: Likewise.
2546 * themes/starfield/terminal_box_e.png: Likewise.
2547 * themes/starfield/terminal_box_n.png: Likewise.
2548 * themes/starfield/terminal_box_ne.png: Likewise.
2549 * themes/starfield/terminal_box_nw.png: Likewise.
2550 * themes/starfield/terminal_box_s.png: Likewise.
2551 * themes/starfield/terminal_box_se.png: Likewise.
2552 * themes/starfield/terminal_box_sw.png: Likewise.
2553 * themes/starfield/terminal_box_w.png: Likewise.
2554 * themes/starfield/theme.txt: Likewise.
2555
17d73325
VS
25562012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/grub.d/00_header.in: Add missing export theme.
2559
dbebaf92
VS
25602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2563 already included.
2564 Reported by: Eren D.
2565
3d68bffb
VS
25662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * conf/Makefile.common (grubdatadir): Removed.
2569 (Makefile.am): Move eveything grubdata to pkgdata.
2570
4b59234d
VS
25712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/commands/acpihalt.c (get_sleep_type):
2574 Remove unused variable.
2575
463dcadc
VS
25762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2579 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2580 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2581 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2582 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2583 i18n with gettext no-op.
2584 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2585 GRUB_ACPI_OPCODE_STRING_CONST.
2586 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2587 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2588
e5b90c82
VS
25892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * po/POTFILES.in: Regenerate.
2592
2a704ca9
VS
25932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2596 -Wno-error=missing-noreturn.
2597
84f9d341
VS
25982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2601 condition to avoid possibly infinite loops.
2602 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2603 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2604
d46683f9
VS
26052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2608 condition to avoid possibly infinite loops.
2609
c44866b2
VS
26102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2613 on show_error.
2614
96790539
VS
26152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2618
1ba7e295
VS
26192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2622
21ffe8f1
VS
26232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * util/bin2h.c (usage): Add missing attribute noreturn.
2626
0ccb6b3c
VS
26272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2630 if the size isn't divisible by 512.
2631
b00d7fb6
VS
26322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 Make list_push and list_remove functions rather than inline functions
2635 to decrease size and avoid aliasing violations.
2636
2637 * include/grub/list.h (grub_list_push): Move to ...
2638 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2639 * include/grub/list.h (grub_list_remove): Move to ...
2640 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2641
9d369087
VS
26422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2645 and -Wunused-result.
2646
af0250d9
VS
26472012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2650 Reported by: Seth Goldberg
2651
aad32b14
VS
26522012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2655
ac96441c
ST
26562012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2657
2658 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2659 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2660 command line.
2661 * docs/grub.texi (Simple configuration): Document
2662 GRUB_CMDLINE_GNUMACH.
2663
26642012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2665
2666 * conf/Makefile.common (platform_SCRIPTS): New variable.
2667 (platform_PROGRAMS): Likewise.
2668 * gentpl.py: Mark *,module and *.image for install.
2669 * grub-core/gdb_grub.in: Add a notice of expected environment.
2670 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2671 (gmodule.pl): Likewise.
2672
ac96441c 26732012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2674
2675 Replace grub_checkkey with grub_getkey_noblock.
2676
2677 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2678 (grub_getkey_noblock): ... this. All users updated.
2679
ac96441c 26802012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2681
2682 * grub-core/kern/emu/console.c: Move to ...
2683 * grub-core/term/emu/console.c: ...here.
2684 (grub_ncurses_getkey): Fix return value if no key is detected.
2685
e51b5666
VS
26862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2689 (grub_unit_test_fini): Likewise.
2690 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2691
26922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * include/grub/test.h (GRUB_UNIT_TEST)
2695
d9a62292
VS
26962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2699 Better error handling.
2700 (grub_script_return): Likewise.
2701 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2702
77c9182f
VS
27032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2706 rimplicit redifinition.
2707
edb13cf9
VS
27082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2711 GRUB.
2712
a9e9dc7c
VS
27132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2716 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2717 prompt here.
2718
b4ba8e02
VS
27192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2722 as GRUB_ERR_BUG. Don't malloc if no device is available.
2723
dded5540
VS
27242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2727 Mark calling with invalid term as GRUB_ERR_BUG.
2728
0cf69874
VS
27292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2732 packets rather than raising an error.
2733
59bfe502
VS
27342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2737 in if.
2738
db5fc596
VS
27392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2742 diagnostic to dprintf.
2743 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2744
e4b7f404
VS
27452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2748 device name.
2749
e7b02f9e
VS
27502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2753 (grub_ntfs_iterate_dir): Likewise.
2754
0331e102
VS
27552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 Efiemu stylistic fixes and gettext.
2758
2759 * grub-core/efiemu/i386/loadcore32.c
2760 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2761 * grub-core/efiemu/i386/loadcore64.c
2762 (grub_arch_efiemu_relocate_symbols64): Likewise.
2763 * grub-core/efiemu/i386/pc/cfgtables.c
2764 (grub_machine_efiemu_init_tables): Likewise.
2765 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2766 (grub_efiemu_loadcore_initXX): Add a filename argument.
2767 All users updated.
2768 Improved error message.
2769 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2770 Add a filename argument.
2771 All users updated.
2772 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2773 Reclassify double relocation as GRUB_ERR_BUG.
2774
306fc074
VS
27752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2778 handling.
2779
794d8ef2
VS
27802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2783 on partition.
2784
27852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2786
2787 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2788
794d8ef2 27892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2790
2791 Improve string. Gettextize.
2792
78dde88e
VS
27932012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2796 utils.
2797 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2798
4786a90f
VS
27992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2802 [GRUB_UTIL]: New function.
2803 (insert_array) [GRUB_UTIL]: Store partmaps.
2804 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2805 partmaps.
2806 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2807 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2808 (probe_abstraction): Print diskfilter and not raid.
2809 Reported by: Lennart Sorensen
2810
0b6225bd
VS
28112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2814 * util/grub-mkimagexx.c (MASK3): New define.
2815 (add_value_to_slot_20b): Use MASK3.
2816 (add_value_to_slot_21): Likewise.
2817 (relocate_addresses): Fix format specification.
2818 (load_image): Explicitly init symtab_section.
2819
b055f8f6
VS
28202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2823 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2824
b77c2fb7
VS
28252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2828 on powerpc.
2829 Reported by: Lennart Sorensen
2830
e3ec28ab
VS
28312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * gentpl.py: Add missing license header.
2834 * docs/grub.texi: Update copyright year.
2835
c8d9ead6
GS
28362012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2837
2838 Source grub-mkconfig_lib from the build directory at build time.
2839 Suggested by: Vladimir Serbinenko.
2840
2841 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2842 * util/grub-install.in: Define pkgdatadir if not already set, and source
2843 grub-mkconfig_lib from there.
2844 * util/grub-kbdcomp.in: Likewise.
2845 * util/grub-mkconfig.in: Likewise.
2846 * util/grub-mknetdir.in: Likewise.
2847 * util/grub-mkrescue.in: Likewise.
2848 * util/grub-mkstandalone.in: Likewise.
2849 * util/grub-reboot.in: Likewise.
2850 * util/grub-set-default.in: Likewise.
2851 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2852
ebcecdf1
VS
28532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Increase warning level.
2856
2857 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2858 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2859 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2860 (TARGET_CFLAGS): Likewise.
2861 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2862 * grub-core/Makefile.core.def (decompressor_xz): Add
2863 -Wno-unreachable-code.
2864 (normal): Add -Wno-redundant-decls.
2865 (xzio): Add -Wno-unreachable-code.
2866 (lzopio): Add -Wno-redundant-decls -Wno-error.
2867 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2868 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2869 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2870 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2871 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2872 * grub-core/kern/i386/coreboot/init.c: Add exception to
2873 -Wsuggest-attribute=noreturn.
2874 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2875 * grub-core/kern/ia64/dl_helper.c: Likewise.
2876 * grub-core/kern/mips/dl.c: Likewise.
2877 * grub-core/kern/sparc64/dl.c: Likewise.
2878 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2879 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2880 (memcmp): Likewise.
2881 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2882 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2883 * grub-core/loader/mips/linux.c: Likewise.
2884 * grub-core/loader/multiboot_elfxx.c: Likewise.
2885 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2886 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2887 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2888 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2889 fixme.
2890 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2891 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2892 Fix prototype.
2893
37bb97fe
VS
28942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2897 address.
2898
29a3550b
VS
28992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2902 Avoid improper use of strings.
2903 (grub_cmd_legacy_initrdnounzip): Likewise.
2904
dfdffd0d
VS
29052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2908 attribute.
2909 (grub_util_info): Likewise.
2910 (grub_util_error): Likewise.
2911
102fae4a
VS
29122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2915 * util/grub-fstest.c (fstest): Likewise.
2916
7e94d044
VS
29172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2920 (grub_md_sha512_real): Likewise.
2921 (grub_util_get_geli_uuid): Likewise.
2922 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2923 (grub_util_biosdisk_open): Fix format specification.
2924 Respect format security.
2925 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2926 (xrealloc): Likewise.
2927 (xasprintf): Likewise.
2928
5ebd9769
VS
29292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * util/import_gcry.py: Include grub/crypto.h in init.c.
2932
495fc8c1
VS
29332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2936 (generate_image): Make prefix a const char *.
2937 Fix format specifications. Respect format security.
2938 Avoid void * arithmetics.
2939 Avoid shadowing.
2940 (argp_parser): Remove unused variable. Respect format security.
2941 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2942 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2943 (count_funcs): Remove unused variable.
2944 (relocate_addresses): Fix format specification.
2945 Disable x86-64 with elf32. Remove unused variables.
2946 (add_fixup_entry): Avoid shadowing.
2947 (make_reloc_section): Fix format specification.
2948 Use assert.
2949 (locate_sections): Fix format specifications.
2950 (load_image): Avoid shadowing.
2951
043c2ea3
VS
29522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2955 Fix format specifications. Respect format security.
2956 Don't translate already translated grub_errmsg.
2957 (argp_parser): Remove unused variable
2958
3ec65a81
VS
29592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2962
a4d9fe4a
VS
29632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2966 (main): Likewise. Use xmalloc. Respect format security.
2967
15b81d49
VS
29682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2971 a const char *.
2972 (argp_parser): Remove unused variable.
2973
31731fc0
VS
29742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2977 (add_pixel): Make static.
2978 (add_font): Likewise.
2979 (write_string_section): Make name and str a const char *.
2980 (write_be16_section): Make name a const char *.
2981 (print_glyphs): Make static.
2982 (write_font_ascii_bitmap): Likewise.
2983 (write_font_width_spec): Likewise.
2984 (write_font_pf2): Likewise.
2985 (argp_parser): Remove unused variable.
2986 Respect format security.
2987 (main): Avoid shadowing. Respect format security.
2988
0809527b
VS
29892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * util/grub-editenv.c (argp_parser): Make static.
2992 (create_envblk_file): Use xmalloc.
2993 (open_envblk_file): Likewise.
2994 Resepect format security.
2995 (set_variables): Respect format security.
2996
45b0c8b7
VS
29972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * util/getroot.c (grub_find_device): Respect format security.
3000 (get_mdadm_uuid): Remove unused variable.
3001 (grub_util_pull_device): Dont call gettext on already translated
3002 grub_errmsg.
3003 (find_system_device): Remove unused variable.
3004 (grub_util_get_grub_dev): Likewise.
3005 (grub_make_system_path_relative_to_its_root): Respect format security.
3006
1b024b4e
VS
30072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * util/grub-fstest.c (execute_command): Make first argument
3010 a const char *.
3011 (read_file): Avoid shadowing.
3012 Reuse underlying error message if device open fails.
3013 (cmd_cmp): Respect format security.
3014 (root): Make const char *.
3015 (fstest): Remove args argument and use global copy.
3016 Respect format security.
3017 (argp_parser): Make static.
3018 (main): Make default_root const char *.
3019
5d1d4e28
VS
30202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * util/grub-mount.c (root): Make const char *.
3023 (execute_command): Make first argument a const char *.
3024 (fuse_init): Respect format security.
3025 (argp_parser): Make static. Remove unused variable.
3026 (main): Make default_root a const char *.
3027 Respect format security.
3028
36eb7379
VS
30292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * util/grub-probe.c (probe): Don't call gettext on already translated
3032 grub_errmsg.
3033 Remove unused variables.
3034 (argp_parser): Remove unused variable.
3035
76fb2ea9
VS
30362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * util/grub-script-check.c (argp_parser): Remove unused variable.
3039 (main): Rename read to curread to avoid shadowing.
3040
56c98584
VS
30412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * util/misc.c (grub_util_write_image_at): Fix format specification.
3044 (grub_util_write_image): Likewise.
3045 (grub_script_execute_argument_to_string): Removed (unused).
3046 (grub_script_execute_menuentry): Likewise.
3047 (grub_putchar): Likewise.
3048
164ebb48
VS
30492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3052 (FUNCTION) [GRUB_UTIL]: Likewise.
3053 (VARIABLE) [GRUB_UTIL]: Likewise.
3054
44318d61
VS
30552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3058 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3059
31a26002
VS
30602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3063 buffer.
3064
30652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3068 (LzmaEnc_SaveState): Removed (unused).
3069 (LzmaEnc_RestoreState): Likewise.
3070 (LzmaEnc_InitPriceTables): Made static.
3071 (LzmaEnc_Construct): Likewise.
3072 (LzmaEnc_FreeLits): Likewise.
3073 (LzmaEnc_Destruct): Likewise.
3074 (LzmaEnc_Init): Likewise.
3075 (LzmaEnc_InitPrices): Likewise.
3076 (LzmaEnc_Finish): Likewise.
3077 (LzmaEnc_PrepareForLzma2): Removed (unused).
3078 (LzmaEnc_MemPrepare): Likewise.
3079 (LzmaEnc_GetNumAvailableBytes): Likewise.
3080 (LzmaEnc_GetCurBuf): Likewise.
3081 (LzmaEnc_CodeOneMemBlock): Likewise.
3082
6fa67967
VS
30832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3086 (grub_util_ldm_embed): Likewise.
3087
9a7428e6
VS
30882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * util/grub-editenv.c (print_var): Rename name to varname to
3091 avoid shadowing.
3092 (main): Rename index to curindex to avoid shadowing.
31a26002 3093 Make filename a const char *.
9a7428e6 3094
4f96abd1
VS
30952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3098 to arg_getline to avoid shadowing.
3099
44d10dad
VS
31002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3103 disk_ to avoid shadowing.
3104
340ba63e
VS
31052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3108 curindex to avoid shadowing.
3109 Make static.
3110 (MatchFinder_GetNumAvailableBytes): Make static.
3111
22965bce
VS
31122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3115 avoid shadowing.
3116
7b5784d4
VS
31172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3120 argument from encrypt to do_encrypt to avoid shadowing.
3121
6f48ca01
VS
31222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3125 incorrect nesting of #if's.
3126
a4ea2dff
VS
31272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3130 checks which are always false on some platforms.
3131 (grub_cmd_lsacpi): Likewise.
3132 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3133 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3134 Likewise.
3135
def9fc1b
VS
31362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3139 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3140
a67b2a04
VS
31412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3144 re_dfa_t to avoid breaking alignment invariants.
3145 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3146 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3147
44c6828d
VS
31482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3151 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3152
bebe0dd0
VS
31532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3156 Fix declaration.
3157
a9cdb3cf
VS
31582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3161 conserve alignment invariants.
3162 (grub_ehci_ehcc_read16): Likewise.
3163 (grub_ehci_oper_read32): Likewise.
3164 (grub_ehci_oper_write32): Likewise.
3165 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3166 Conserve alignment invariants.
3167
ccc3b1b8
VS
31682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3171 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3172 declarations.
3173
987fbd95
VS
31742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3177 Remove unused variable.
3178
0df363f3
VS
31792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3182 Remove set in if.
3183
b2c0c4a6
VS
31842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * include/grub/net.h: Remove double declarations.
3187
690c531f
VS
31882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 Remove "payload" command in ia64 Linux loader since I couldn't
3191 find any evidence of it being used for anything.
3192 Replace "relocate" command with an environment variable
3193
3194 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3195 fields.
3196 (ia64_boot_payload): Removed.
3197 (last_payload): Likewise.
3198 (RELOCATE_OFF): Likewise.
3199 (RELOCATE_ON): Likewise.
3200 (RELOCATE_FORCE): Likewise.
3201 (relocate): Likewise.
3202 (free_pages): Don't free payloads.
3203 (grub_load_elf64): Use common error messages.
3204 Use "linux_relocate" variable.
3205 Increase the space after boot_params.
3206 (grub_cmd_payload): Removed.
3207 (grub_cmd_relocate): Likewise.
3208 (grub_cmd_fpswa): Improve messages.
3209 (cmd_payload): Removed.
3210 (cmd_relocate): Likewise.
3211 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3212 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3213
01783768
VS
32142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Convert UHCI to DMA framework.
3217
3218 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3219 (grub_uhci_pci_iter): Fill new members
3220 (grub_alloc_td): Use P2V and V2P functions.
3221 (grub_free_queue): Likewise.
3222 (grub_alloc_qh): Likewise.
3223 (grub_uhci_setup_transfer): Likewise.
3224 (grub_uhci_check_transfer): Likewise.
3225
43206939
VS
32262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3229 Remove assignment in if while on it.
3230
571e140e
VS
32312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * util/grub-mkstandalone.in: Fix modules directory.
3234
a9d96eeb
VS
32352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3238 on i386-pc target.
3239 (argp_parser): Accept "auto" as compression specification.
3240
e4e37e8d
VS
32412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Fix `help' with unloaded modules.
3244
3245 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3246 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3247 (grub_dyncmd_dispatcher): Small stylistic fix.
3248 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3249 explicit help is requested.
3250
e1ea3ade
VS
32512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3254 Explicitly init restart while on it.
3255
27556881
VS
32562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3259 uninited variable.
3260
d65f6b36
VS
32612012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * util/grub-mknetdir.in: Use . rather than source for POSIX
3264 compatibility.
3265
0a1e473c
VS
32662012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3269
ce6647c8
VS
32702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3273 variable.
3274
66747894
VS
32752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3278 without quotes.
3279
71645f6e
VS
32802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3283
0e1c1f61
VS
32842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3287 iteration of partitions.
3288
9c4b5c13
VS
32892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Improve gettext support. Stylistic fixes and error handling fixes while
3292 on it.
3293
215c90cb
VS
32942012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3297 part. Instead setup the correct stack in RM.
3298 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3299 for stack.
3300 * include/grub/i386/relocator_private.h: New file.
3301
b5c1f9bf
VS
33022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3305 argument.
3306 * util/grub-fstest.c (options): Add missing DEVICE part.
3307
b525fd83
VS
33082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Clarify and unify messages.
3311
3312 * grub-core/commands/hashsum.c (options): Unify messages.
3313 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3314 literal-only message as translatable.
3315 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3316 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3317 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3318 commands.
3319 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3320 key, not the key used to unlock. Clarify what it's used for.
3321 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3322 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3323 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3324 * util/grub-editenv.c (options): Unify "verbose" message.
3325 * util/grub-fstest.c (read_file): Unify error message.
3326 (fstest): Add quotes around commands.
3327 (options): Unify "verbose" message.
3328 * util/grub-install.in: Add quotes around variable name.
3329 * util/grub-kbdcomp.in: Unify error message.
3330 * util/grub-mkfont.c (main): Likewise.
3331 * util/grub-mkrescue.in: Likewise.
3332 * util/grub-mklayout.c (options): Unify "verbose" message.
3333 * util/grub-mkstandalone.in: Unify help and verbose messages.
3334 * util/grub-mount.c (options): Unify "verbose" message.
3335 * util/grub-probe.c (options): Likewise.
3336 * util/grub-script-check.c (options): Likewise.
3337 * util/grub-setup.c (setup): Unify no-terminator message.
3338 (options): Use DEVICE and not DEV.
3339 Unify "verbose" message.
3340 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3341
0ae70393
VS
33422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 Improve and unify messages.
3345
3346 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3347 name. All users updated.
3348 Print filename in error.
3349 (read_device_map): Print filename in error.
3350 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3351 (grub_util_get_os_disk): Likewise.
3352 (grub_util_biosdisk_get_grub_dev): Likewise.
3353 (grub_util_check_block_device): Likewise.
3354 (grub_util_check_char_device): Likewise.
3355 (grub_make_system_path_relative_to_its_root): Likewise.
3356 * util/grub-editenv.c (create_envblk_file): Likewise.
3357 (open_envblk_file): Likewise.
3358 (write_envblk): Likewise.
3359 * util/grub-fstest.c (cmd_cp): Likewise.
3360 (cmd_cat): Likewise.
3361 (cmd_cmp): Likewise.
3362 * util/grub-menulst2cfg.c (main): Likewise.
3363 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3364 (write_font_width_spec): Likewise.
3365 (write_font_pf2): Likewise.
3366 * util/grub-mkimage.c (generate_image): New argument outname.
3367 All users updated.
3368 Remove unreacheable message.
3369 (options): Unify messages.
3370 (help_filter): Likewise.
3371 * util/grub-mklayout.c (usage): Removed (unused).
3372 (main): Print filename in error.
3373 * util/grub-mkrescue.in: Fix wrong quoting.
3374 * util/grub-setup.c (setup): Print filename in error.
3375 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3376 (check_sas): Likewise.
3377 * util/misc.c (grub_util_get_fp_size): Removed.
3378 (grub_util_get_image_size): Print filename in error.
3379 (grub_util_read_at): Removed.
3380 (grub_util_read_image): Print filename in error.
3381 (grub_util_load_image): Likewise.
3382 (grub_util_write_image_at): New argument filename. All users updated.
3383 Print filename in error.
3384 (grub_util_write_image): New argument filename. All users updated.
3385 Print filename in error.
3386 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3387 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3388
0a96117d
VS
33892012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/Makefile.core.def (pxechain): New module.
3392 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3393 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3394 function.
3395 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3396 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3397
aca002f7
VS
33982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3401 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3402 * include/grub/err.h (grub_error_saved): New struct.
3403 (grub_errmsg): Make array size explicit.
3404 * include/grub/misc.h (grub_error_save): New function.
3405 (grub_error_load): Likewise.
3406 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3407 (grub_error_push): Update `errno' member name.
3408 (grub_error_pop): Likewise
3409 * grub-core/net/tftp.c (tftp_data): New member save_err.
3410 (tftp_receive): Save error.
3411 (tftp_open): Restore error.
3412
a51dab13
VS
34132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3416 to real mode down to execute A20-related code in protected mode as
3417 intended.
3418
eb6e6649
GS
34192012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3420
3421 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3422 NULL when the argument `level' has an unexpected value.
3423
92cd0f6e
VS
34242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Move platform-dependent files from $prefix to $prefix/$platform.
3427
3428 * config.h.in (GRUB_TARGET_CPU): New definition.
3429 (GRUB_PLATFORM): Likewise.
3430 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3431 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3432 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3433 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3434 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3435 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3436 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3437 * grub-core/normal/term.c (read_terminal_list): Likewise.
3438 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3439 $prefix/locale.
3440 (grub_gettext_init_ext): Likewise.
3441 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3442 grub_platform.
3443 * util/grub-install.in: Update directories.
3444 * util/grub-mknetdir.in: Likewise.
3445 * util/grub-mkrescue.in: Likewise.
3446
db606889
VS
34472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3450 grub_error framework. All users updated.
3451
c39992a4
VS
34522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3455 lists (by always binsearching), improve caching (cache strings
3456 used for binsearch, not only results), improve
3457 maintainability (by using more structured binary search) and correct
3458 error handling.
3459
1e5ec32f
VS
34602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/script/execute.c (grub_script_return): Fix warning.
3463
ac576cde
VS
34642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/script/execute.c (grub_script_return): Fix potential
3467 NULL-dereference.
3468 Reported by: Jim Meyering.
3469
498453f6
VS
34702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * po/POTFILES.in: Regenerate.
3473 * util/grub-install.in: Gettextize the strings missed in first pass.
3474
8be63f2e
VS
34752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * Makefile.util.def (grub-mkdevicemap): Removed.
3478 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3479 * include/grub/util/deviceiter.h: Removed.
3480 * util/deviceiter.c: Likewise.
3481 * util/getroot.c (grub_util_get_os_disk): New function.
3482 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3483 replacement for EFI.
3484 * util/grub-mkdevicemap.c: Removed.
3485 * util/grub-probe.c (probe): Handle PRINT_DISK.
3486 (argp_parser): Handle -t disk.
3487
8e1e4e39
VS
34882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * util/grub-mkfont.c: Migrate to argp.
3491 * util/grub-mklayout.c: Likewise.
3492 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3493 * util/grub-mkrelpath.c: Likewise.
3494 * util/grub-probe.c: Likewise.
3495 * util/grub-script-check.c: Likewise.
3496
4459819a
VS
34972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * util/grub-reboot.in: Add missing datarootdir.
3500 Add missing newline.
3501 * util/grub-set-default.in: Add missing datarootdir.
3502 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3503 * util/grub-mkrescue.in: Likewise.
3504
f65741c7
VS
35052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3508
c1a33466
VS
35092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * util/grub-kbdcomp.in: Add decent help and gettextize.
3512 * docs/man/grub-kbdcomp.h2m: New file.
3513
c76899a0
VS
35142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 Migrate grub-mkimage.c to argp.
3517
3518 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3519 (grub-setup): Likewise.
3520 * util/grub-setup.c (print_version): Move to ...
3521 * util/argp_common.c (print_version): ... here.
3522 * util/grub-setup.c (argp_program_version_hook): Move to ...
3523 * util/argp_common.c (argp_program_version_hook): ... here.
3524 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3525 safety.
3526 * util/grub-mkimage.c (main): Migrate to argp.
3527
57db0757
VS
35282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * util/grub-mkrescue.in: Use same message as
3531 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3532 for better translations.
3533
18534ad9
VS
35342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3537 options with generic grub-mkrescue.in with the goal of future
3538 merge.
3539
c84ba308
VS
35402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/kern/mm.c: Add missing include of i18n.h
3543 * grub-core/lib/relocator.c: Likewise.
3544
347998c2
VS
35452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3548 error.
3549 (allocate_pages): Check return value.
3550 Replace fatal with error.
3551 (grub_linux_boot): Replace printf with dprintf.
3552 Check find_mmap_size return value.
3553 Replace fatal with error.
3554 Don't call grub_machine_fini.
3555 (grub_load_elf64): Replace printf with dprintf.
3556 (grub_cmd_linux): Likewise.
3557 (grub_cmd_initrd): Likewise.
3558 (grub_cmd_payload): Likewise.
3559
c779226e
VS
35602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3563 message.
3564 * grub-core/video/radeon_fuloong2e.c
3565 (grub_video_radeon_fuloong2e_setup): Likewise.
3566 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3567 * grub-core/video/video.c (grub_video_set_mode): Don't override
3568 standard out of memory message.
3569
dc87d45a
GS
35702012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3571
3572 NetBSD disk wedge support.
3573
3574 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3575 [__NetBSD__]: Handle NetBSD disk wedges.
3576 * util/getroot.c (convert_system_partition_to_system_disk)
3577 [__NetBSD__]: Likewise.
3578
055f856f
MW
35792012-02-03 Mark Wooding <mdw@distorted.org.uk>
3580
3581 * util/grub-mkconfig.in: Use umask rather than chmod to create
3582 grub.cfg.new to avoid insecure grub.cfg.
3583
4a9f8346
VS
35842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/commands/ls.c: Gettextize.
3587 * grub-core/commands/setpci.c: Likewise.
3588 * grub-core/commands/videotest.c: Likewise.
3589 * grub-core/disk/geli.c: Likewise.
3590 * grub-core/kern/mm.c: Likewise.
3591 * grub-core/lib/relocator.c: Likewise.
3592 * grub-core/loader/efi/appleloader.c: Likewise.
3593 * grub-core/loader/i386/xnu.c: Likewise.
3594 * grub-core/loader/ia64/efi/linux.c: Likewise.
3595 * grub-core/loader/xnu.c: Likewise.
3596 * grub-core/net/dns.c: Likewise.
3597 * grub-core/net/net.c: Likewise.
3598 * grub-core/script/lexer.c: Likewise.
3599 * grub-core/script/parser.y: Likewise.
3600 * grub-core/script/yylex.l: Likewise.
3601 * util/getroot.c: Likewise.
3602 * util/grub-setup.c: Likewise.
3603
a646a366
VS
36042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3607 number.
3608
54e2be26
VS
36092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3612
f7c71e68
VS
36132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3616 macro.
3617 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3618 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3619
a32d5c71
VS
36202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3623 * util/grub-install.in: Gettextize.
3624 * util/grub-mkconfig.in: Likewise.
3625 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3626 if not available.
3627 (grub_warn): Gettextize.
3628 * util/grub-mknetdir.in: Gettextize.
3629 * util/grub-mkrescue.in: Likewise.
3630 * util/grub-mkstandalone.in: Likewise.
3631 * util/grub-reboot.in: Likewise.
3632 * util/grub-set-default.in: Likewise.
3633 * util/grub.d/00_header.in: Likewise.
3634 * util/grub.d/10_hurd.in: Likewise.
3635 * util/grub.d/10_kfreebsd.in: Likewise.
3636 * util/grub.d/10_linux.in: Likewise.
3637 * util/grub.d/10_netbsd.in: Likewise.
3638 * util/grub.d/10_windows.in: Likewise.
3639 * util/grub.d/20_linux_xen.in: Likewise.
3640 * util/grub.d/30_os-prober.in: Likewise.
3641 * po/POTFILES-shell.in: Regenerate.
3642
69edd81a
RL
36432012-02-03 Richard Laager <rlaager@wiktel.com>
3644
3645 * util/grub-mkimage.c (main): Fix format-security warning.
3646 * util/grub-mkrelpath.c (main): Likewise.
3647 * util/grub-probe.c (main): Likewise.
3648
65f08dbf
RL
36492012-02-03 Richard Laager <rlaager@wiktel.com>
3650
3651 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3652 failure.
3653 Put back lost PRINT_DRIVE.
3654
e9084abe
RL
36552012-02-03 Richard Laager <rlaager@wiktel.com>
3656
3657 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3658 (grub_guess_root_devices): Replace strlen with sizeof.
3659 Avoid crash.
3660 (find_root_devices_from_poolname): Remove unused variable.
3661 Handle raidzN.
3662
cf5f7ee7
VS
36632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 Support install on multi-device filesystems.
3666
3667 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3668 (grub_guess_root_devices): ...this. Return char **. All users updated.
3669 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3670 Removed.
3671 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3672 (find_root_devices_from_poolname): ... here.
3673 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3674 Support zfs-fuse.
3675 (grub_guess_root_device): Rename to ...
3676 (grub_guess_root_devices): ... this. Return char **. All users updated.
3677 * util/grub-install.in: Handle multi-device filesystems.
3678 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3679 argument. All users updated.
3680 Handle multi-device filesystems.
3681 Use 'delim' as separator.
3682 Remove device check to allow filesystems on file.
3683 (main): Support -0 argument. Handle multi-device.
3684 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3685 Fix a cross-device check while on it.
3686 (arguments): Remove root_dev.
3687 (argp_parser): Remove -r.
3688 (main): Remove root_dev.
3689
2f53a9ed
VS
36902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3693
17e1d934
VS
36942012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3697 symbol.
3698 Reported by: NODA, Kai <nodakai>.
3699
d3e3fab5
VS
37002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 Fix ehci on amd64.
3703
3704 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3705 pointers.
3706 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3707 (grub_ehci_setup_qh): Likewise.
3708 (grub_ehci_find_qh): Likewise.
3709 (grub_ehci_transaction): Likewise.
3710 (grub_ehci_setup_transfer): Likewise.
3711 (grub_ehci_check_transfer): Likewise.
3712 (grub_ehci_portstatus): Likewise.
3713 (grub_ehci_detect_dev): Likewise.
3714 (grub_ehci_transfer_controller_data): New field td_last_phys.
3715 (grub_ehci_setup_transfer): Fill td_last_phys.
3716 (grub_ehci_check_transfer): Use td_last_phys.
3717
3008675b
SG
37182012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3719
3720 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3721 if no submenu is present.
3722
fc9b5652
AN
37232012-02-01 Aleš Nesrsta <starous@volny.cz>
3724
3725 CBI support.
3726
3727 * include/grub/usb.h (grub_usbms_protocol_t): New values
3728 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3729 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3730 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3731 (grub_usbms_dev): Add subclass, protocol and intrpt.
3732 Remove in_maxsz and out_maxsz.
3733 (grub_usbms_reset): Rename to ...
3734 (grub_usbms_bo_reset): .. this.
3735 (grub_usbms_cbi_cmd): New function.
3736 (grub_usbms_cbi_reset): Likewise.
3737 (grub_usbms_reset): Likewise.
3738 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3739 (grub_usbms_transfer): Rename to ...
3740 (grub_usbms_transfer_bo): ... this.
3741 (grub_usbms_transfer_cbi): Likewise.
3742 (grub_usbms_transfer): Likewise.
3743
a2b81d53
AN
37442012-02-01 Aleš Nesrsta <starous@volny.cz>
37452012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3748 the support for the CS5536 modification thereos and few bugfixes.
3749
3750 * grub-core/Makefile.core.def (ehci): New module.
3751 * grub-core/bus/usb/ehci.c: New file.
3752 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3753 port and hubaddr. All users updated.
3754 Save port and hubaddr into dev structure.
3755 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3756 define.
3757 * include/grub/pci.h (grub_dma_phys2virt): New function.
3758 (grub_dma_virt2phys): Likewise.
3759 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3760
b1d51f02
VS
37612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3764 check as some mkfs implementations omit it.
3765
fc694106
VS
37662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3769
6c0920e3
VS
37702012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3773 Add new member volname2.
3774 (grub_jfs_label): Use volname2 if available.
3775
d1a46f9a
VS
37762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3779 over last_mounted as seen in image generated by mkfs.nilfs2.
3780 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3781
dec8ed14
VS
37822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3785 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3786 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3787
7397c69b
VS
37882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3791 over the sector.
3792
b3fe42ad
VS
37932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3796 subvolume name (by removing a bogus and useless check).
3797
10476bb0
VS
37982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3801 sizeof while on it.
3802
9c08ad87
VS
38032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3806 (grub_scsi_read_capacity10): ... this.
3807 (grub_scsi_read_capacity16): New function.
3808 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3809 0xffffffff.
3810 Fix off-by-one error.
3811 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3812 64-bit unsigned.
3813 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3814 (grub_scsi_read_capacity10): ... this.
3815 (grub_scsi_read_capacity_data): Rename to ...
3816 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3817 (grub_scsi_read_capacity16): New struct.
3818 (grub_scsi_read_capacity16_data): Likewise.
3819 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3820 grub_scsi_cmd_read_capacity10.
3821 New command grub_scsi_cmd_read_capacity16.
3822
bc8d0f45
VS
38232012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 SCSI >2TiB support.
3826
3827 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3828 (grub_scsi_write16): Likewise.
3829 (grub_scsi_read): Use read16 when necessary.
3830 (grub_scsi_write): Likewise.
3831 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3832 (grub_scsi_write16): Likewise.
3833 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3834
cc774926
VS
38352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 SCSI write support (for usbms mainly).
3838
3839 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3840 a const pointer.
3841 (grub_scsi_write): Implement.
3842 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3843
67639fd7
VS
38442012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3847 variable.
3848
9079d3ed
VS
38492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3852
c6a6f204
VS
38532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * po/POTFILES.in: Regenerate.
3856
ecbf8cd1
VS
38572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3860 with grub_printf to avoid unnecessary fatal failure.
3861
0b3b3b38
VS
38622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3865 (INT_MAX): Likewise.
3866 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3867 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3868 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3869 (strcpy): Likewise.
3870 (strstr): Likewise.
3871 (strchr): Likewise.
3872 (strncpy): Likewise.
3873 (strcat): Likewise.
3874 (strncat): Likewise.
3875 (strcoll): Likewise.
3876 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3877 (GRUB_INT_MAX): Likewise.
3878
db7337a3
VS
38792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3882 unexpected error.
3883 (optimize_utf8): Likewise.
3884 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3885
f37c87e1
VS
38862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/boot/i386/pc/lnxboot.S: Use
3889 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3890 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3891 location.
3892 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3893 definition.
3894 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3895
63fe43f3
VS
38962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3899 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3900 now to avoid double free.
3901 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3902 hostdisk.
3903 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3904 * util/grub-probe.c (escape_of_path): Always return a new copy.
3905 (print_full_name): Escape path.
3906 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3907 Fix hints on abstractions.
3908
ebe2c961
VS
39092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3912 Don't add "root" line if no compatibility hont is available.
3913 Suggested by: Seth Goldberg.
3914
2b5336a2
VS
39152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3918 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3919 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3920 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3921
74310bd8
VS
39222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3925
c30582ba
VS
39262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * util/grub-pe2elf.c (ehdr): Make static.
3929 (shdr): Likewise.
3930 (num_sections): Likewise.
3931 (offset): Likewise.
3932
5f47782c
VS
39332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Eliminate ofpath limits and possible overflows.
3936
3937 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3938 (OF_PATH_MAX): Removed.
3939 (MAX_DISK_CAT): New const.
3940 (find_obppath): Use allocated rather than preallocated buffer.
3941 Return result. Argument of_path removed. All users updated.
3942 Add missing fdstat.
3943 (xrealpath): New function.
3944 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3945 Allocate rather than use preallocated buffer. All users updated.
3946 (__of_path_common): Use allocated rather than preallocatecd buffer.
3947 Return result. Argument of_path removed. All users updated.
3948 (vendor_is_ATA): Read only needed part form the file.
3949 (check_sas): Allocate depending on contents rather than fixed.
3950 (main) [STANDALONE]: Handle NULL result.
3951
f990cbf9
VS
39522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3955
9c6e84b8
VS
39562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 Cryptodisk write support.
3959
3960 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3961 (grub_cryptodisk_decrypt): Moved logic to ...
3962 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3963 (grub_cryptodisk_write): Implement.
3964 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3965 (grub_util_fd_write): ... this. Make global.
3966 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3967
87cf9744
VS
39682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * include/grub/list.h (grub_list_remove): Don't crash if element is
3971 removed twice.
3972
ca8c0baf
VS
39732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Rename ofconsole to console.
3976
3977 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3978 as sysnonym to console.
3979 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3980 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3981 Rename grub_ofconsole_ to grub_console_. All users updated
3982 (grub_console_term_output): Rename "ofconsole" to "console".
3983 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3984 as "console".
3985
64c8b8f6
VS
39862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3989 handling.
3990 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3991 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3992 GRUB_DISK_DEVICE_FILE_ID.
3993
f6c434d5
VS
39942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3997 and improve performance.
3998
5858b42d
VS
39992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4002 missing ieee1275/ prefix on whole disk.
4003
4ed3c26b
VS
40042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4007 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4008
df71143e
VS
40092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4012
076e7c0f
VS
40132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 Merge common RAID and LVM logic to an abstract diskfilter.
4016 Add LDM support using the same framework.
4017
4018 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4019 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4020 (libgrubmods): Remove grub-core/disk/raid.c and
4021 grub-core/partmap/gpt.c.
4022 * grub-core/Makefile.core.def (ldm): New module.
4023 (raid): Renamed to diskfilter. All users updated.
4024 * grub-core/disk/raid.c: Moved to ...
4025 * grub-core/disk/diskfilter.c: ... here.
4026 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4027 (lv_num): New var.
4028 (find_array): Renamed to ...
4029 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4030 (grub_is_array_readable): Renamed to ...
4031 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4032 (insert_array): New argument id.
4033 (is_node_readable): New function.
4034 (scan_device): Rename to ...
4035 (scan_disk): .. this. Restrict to one disk.
4036 (scan_devices): New function.
4037 (grub_diskfilter_iterate): Support multi-LV.
4038 Skip invisible and nameless LVs.
4039 (grub_diskfilter_memberlist): Support multi-LV.
4040 (grub_diskfilter_read_node): New function.
4041 (grub_raid_read): Most of logic moved to ...
4042 (read_segment): ... here
4043 (read_lv): New function.
4044 (grub_diskfilter_get_vg_by_uuid): New function.
4045 (grub_diskfilter_make_raid): Likewise.
4046 * grub-core/disk/ldm.c: New file.
4047 * grub-core/disk/lvm.c (vg_list): Removed.
4048 (lv_count): Likewise.
4049 (scan_depth): Likewise.
4050 (is_lv_readable): Likewise.
4051 (grub_lvm_getvalue): Advance pointer past the number.
4052 (find_lv): Removed.
4053 (do_lvm_scan): Refactored into ...
4054 (grub_lvm_detect): ... this. Support raid.
4055 (grub_lvm_iterate): Removed.
4056 (grub_lvm_memberlist): Likewise.
4057 (grub_lvm_open): Likewise.
4058 (grub_lvm_close): Likewise.
4059 (read_lv): Likewise.
4060 (read_node): Likewise.
4061 (is_node_readable): Likewise.
4062 (is_lv_readable): Likewise.
4063 (grub_lvm_read): Likewise.
4064 (grub_lvm_write): Likewise.
4065 (grub_lvm_dev): Use diskfilter
4066 (GRUB_MOD_INIT): Likewise.
4067 (GRUB_MOD_FINI): Likewise.
4068 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4069 new interface.
4070 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4071 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4072 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4073 grub_diskfilter_read_node.
4074 Fix a bug with xor.
4075 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4076 grub_diskfilter_read_node.
4077 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4078 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4079 (grub_disk_dev_iterate): Move from here...
4080 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4081 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4082 Make global.
4083 (grub_hostdisk_find_partition_start): Likewise.
4084 (grub_hostdisk_os_dev_to_grub_drive): New function.
4085 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4086 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4087 * util/getroot.c (make_device_name): ... here.
4088 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4089 Move to ...
4090 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4091 * grub-core/kern/emu/hostdisk.c
4092 (convert_system_partition_to_system_disk): Move to ...
4093 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4094 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4095 * util/getroot.c (device_is_wholedisk): ... here.
4096 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4097 * util/getroot.c (find_system_device): ... here.
4098 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4099 Move to ...
4100 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4101 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4102 Move to ...
4103 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4104 Handle LDM.
4105 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4106 Move to ...
4107 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4108 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4109 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4110 DISKFILTER.
4111 * include/grub/raid.h: Renamed to ...
4112 * include/grub/diskfilter.h: ... this.
4113 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4114 (GRUB_RAID_LAYOUT_*): Make into array.
4115 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4116 (grub_diskfilter_vg): New struct.
4117 (grub_diskfilter_pv_id): Likewise.
4118 (grub_raid_member): Removed.
4119 (grub_raid_array): Likewise.
4120 (grub_diskfilter_pv): New struct.
4121 (grub_diskfilter_lv): Likewise.
4122 (grub_diskfilter_segment): Likewise.
4123 (grub_diskfilter_node): Likewise.
4124 (grub_diskfilter_get_vg_by_uuid): New proto.
4125 (grub_raid_register): Inline.
4126 (grub_diskfilter_unregister): Likewise.
4127 (grub_diskfilter_make_raid): New proto.
4128 (grub_diskfilter_vg_register): Likewise.
4129 (grub_diskfilter_read_node): Likewise.
4130 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4131 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4132 (grub_util_is_ldm): Likewise.
4133 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4134 (grub_hostdisk_find_partition_start): Likewise.
4135 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4136 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4137 New definition.
4138 (grub_gpt_partition_map_iterate): New proto.
4139 * include/grub/lvm.h (grub_lvm_vg): Removed.
4140 (grub_lvm_pv): Likewise.
4141 (grub_lvm_lv): Likewise.
4142 (grub_lvm_segment): Likewise.
4143 (grub_lvm_node): Likewise.
4144 * util/getroot.c [...]
4145 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4146 (probe_abstraction): Likewise.
4147 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4148 (main): Remove dead logic.
4149
8a7f9b9c
VS
41502012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 Simplify root device discover and don't fail when trying to open
4153 incorrect devices.
4154
4155 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4156 function.
4157 (get_diskname_from_path): Likewise.
4158 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4159 of iterating.
4160
30545b85
VS
41612012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4164
28ea58cf
VS
41652012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4168 pastthe end.
4169
692dabca
VS
41702012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * util/grub-install.in: Add missing \.
4173 Reported by: gentoofan
4174
f6e4ea70
VS
41752012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4178 (direct_read): Use correct compressed size.
4179 (grub_squash_read_data): Likewise.
4180
41812012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4182
4183 * docs/grub.texi (Platform limitations): New section.
4184 (Platform-specific operations): Likewise.
4185 * docs/grub-dev.texi (Porting): Likewise.
4186
76261110
VS
41872012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 IEEE1275 disk write support.
4190
4191 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4192 const void *.
4193 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4194 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4195 and seek loginc to ...
4196 (grub_ofdisk_prepare): ... here.
4197 (grub_ofdisk_write): Implement.
4198
fc36d603
VS
41992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 ARC disk write support.
4202
4203 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4204 (reopen): New argument writable. All users updated.
4205 Handle required access mode.
4206 (grub_arcdisk_write): Implement.
4207 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4208 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4209
e06c2e7a
VS
42102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4213 (read_sblock): Don't attempt to read superblocks outside the disk size.
4214
ff447958
VS
42152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4218 first superblock to find the second one when possible.
4219
9e88df39
VS
42202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * util/grub-install.in: Fix an ARC bug.
4223 Print a warning if no platform-specific setup is available.
4224
bb26e4ff
VS
42252012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 Use static allocation rather than scratch pointer in reed_solomon.
4228 It decreases its size significantly and avoids a variable in .text.
4229
4230 * grub-core/lib/reed_solomon.c (scratch): Removed.
4231 (chosenstat): New const or static array.
4232 (sigma): Likewise.
4233 (errpot): Likewise.
4234 (errpos): Likewise.
4235 (sy): Likewise.
4236 (mstat): Likewise.
4237 (errvals): Likewise.
4238 (eqstat): Likewise.
4239 (pol_evaluate): Replace x with log_x argument. All users updated.
4240 (syndroms): Removed.
4241 (gauss_solve): Use statically allocated arrays.
4242 (rs_recover): Likewise.
4243 Calculate syndroms directly.
4244 (decode_block): Use statically allocated arrays.
4245 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4246 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4247
2e13ede5
VS
42482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 Eliminate fixed limit on reed solomon decoder length.
4251
4252 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4253 rather than hardcoding the address.
4254 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4255 no_reed_solomon_length.
4256 Move gate_a20 to no-reed-solomon part.
4257 Don't force a particular size of no reed-solomon part.
4258 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4259 Removed.
4260 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4261 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4262
f8a9ab12
VS
42632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/commands/wildcard.c (match_files): Handle filenames
4266 without explicit device.
4267 (wildcard_expand): Don't add explicit device if not already present.
4268 * tests/grub_script_echo1.in: Add a new expansion test.
4269
87edb894
VS
42702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 Replace single-linked with double-linked lists. It results in more
4273 compact and more efficient code.
4274
4275 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4276 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4277 (grub_list_remove): Moved from here ...
4278 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4279 (grub_prio_list_insert): Set prev.
4280 * include/grub/list.h (grub_list): Add prev. All users updated.
4281
48b391e9
VS
42822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 Handle newer autotools. Add some missing quotes while on it.
4285
4286 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4287 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4288 (pkgdata_DATA): ... here.
4289 * Makefile.util.def (update-grub_lib): Removed.
4290 * conf/Makefile.common (pkglib_DATA): Removed.
4291 (pkglib_SCRIPTS): Likewise.
4292 (pkgdata_DATA): New variable.
4293 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4294 needed.
4295 Add missing quotes.
4296 Remove unused variable while on it.
4297 * tests/util/grub-shell.in: Likewise.
4298 * util/grub-install.in: Likewise.
4299 * util/grub-mkconfig.in: Likewise.
4300 * util/grub-mknetdir.in: Likewise.
4301 * util/grub-mkrescue.in: Likewise.
4302 * util/grub-mkstandalone.in: Likewise.
4303 * util/grub.d/00_header.in: Likewise.
4304 * util/grub.d/10_hurd.in: Likewise.
4305 * util/grub.d/10_illumos.in: Likewise.
4306 * util/grub.d/10_kfreebsd.in: Likewise.
4307 * util/grub.d/10_linux.in: Likewise.
4308 * util/grub.d/10_netbsd.in: Likewise.
4309 * util/grub.d/10_windows.in: Likewise.
4310 * util/grub.d/20_linux_xen.in: Likewise.
4311 * util/grub.d/30_os-prober.in: Likewise.
4312 * util/update-grub_lib.in: Removed.
4313
43142012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4315
4316 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4317 a workaround for intel problem.
4318
66832792
PRP
43192012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
43202012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
43212012-01-23 pfsmorigo
4322
4323 * util/grub-install.in: Support dd'in into PreP partition.
4324 * util/grub-probe.c (probe): Support discovering partition type.
4325 (main): Support -t msdos_parttype.
4326
7816a17e
VS
43272012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4330 infinite recursion using counter.
4331 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4332 init to skip it if the magic check fails.
4333 (dec_stream_header): Init s->crc32.
4334
8f9d3a8c
ZB
43352012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
43362012-01-22 Zachary Bedell <pendorbound@gmail.com>
43372012-01-22 Richard Laager <rlaager@wiktel.com>
4338
4339 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4340 All users updated.
4341 (find_bestub): Determine correct size.
4342 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4343 (scan_disk): Align the size down.
4344 Call check pool before find_bestub to have ashift.
4345
b055dd32
VS
43462012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4349 dprintf in no-malloc zone.
4350
d779e9bd
ML
43512012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4352
4353 * configure.ac: Add back in test for limits.h.
4354
b508af69
VS
43552012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 Support 4K-sector NTFS.
4358
4359 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4360 (grub_ntfs_data): Remove blocksize.
4361 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4362 Remove data argument. All users updated.
4363
dad9c8b5
VS
43642012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4367 being in .text to avoid dprel references.
4368 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4369 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4370 (grub_arch_highmemsize): Likewise.
4371 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4372 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4373 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4374
d43a777e
VS
43752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4378
4379 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4380 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4381
34e4208f
VS
43822012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4385 GRUB_UTIL.
4386 (grub_set_datetime_cmos): Likewise.
4387
3ec0fc1c
VS
43882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Make XZ compression parameters dependent on target and not host CPU.
4391
4392 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4393 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4394
22489834
VS
43952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4398 set but not used variable.
4399
8502fbca
VS
44002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4403 created when no uuid support is compiled into mkfs.reiser.
4404
76df2068
VS
44052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4408 (utf8_to_macroman): Do the opposite.
4409 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4410
64e3f8f6
VS
44112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * configure.ac: Refise build qemu_mips w/o unifont.
4414
9c271078
VS
44152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Eliminate grub_min/grub_max prone to overflow usage.
4418
4419 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4420 (poll_nonroot_hub): Likewise.
4421 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4422 (grub_affs_label): Likewise.
4423 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4424 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4425 (grub_hfs_label): Likewise.
4426 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4427 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4428 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4429 (zap_leaf_array_get): Likewise.
4430 (dnode_get_path): Likewise.
4431 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4432 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4433 * grub-core/script/execute.c (grub_script_break): Likewise.
4434 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4435 grub_max.
4436 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4437 * include/grub/misc.h (grub_min): Removed.
4438 (grub_max): Likewise.
4439
80662dbc
VS
44402012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4441
4442 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4443 direct.inode = 0.
4444
e6da1467
VS
44452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4448
b1ac4cb1
VS
44492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4452
b4bf7c3b
VS
44532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4456 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4457
8ee1101a
VS
44582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4461 rather than a hack for grub_strncasemap.
4462
44632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 Support multiple initrds
4466 Note: part of this was accidently committed in r3739.
4467
4468 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4469 initrd.
4470 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4471 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4472 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4473 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4474 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4475
4d1e2bc9
VS
44762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4479 disks with unknown size.
4480 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4481
75b49ebe
VS
44822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Remove defines pertaining to arbitrary limits not affecting GRUB
4485 anymore.
4486
4487 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4488 (EXT2_MAX_SYMLINKCNT): Likewise.
4489 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4490 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4491 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4492 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4493 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4494 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4495 (DN_MAX_OBJECT_SHIFT): Likewise.
4496 (DN_MAX_OFFSET_SHIFT): Likewise.
4497 (DN_MAX_OBJECT): Likewise.
4498 (DNODES_PER_LEVEL_SHIFT): Likewise.
4499 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4500 (SPA_MAXBLOCKSIZE): Likewise.
4501 (SPA_BLOCKSIZES): Likewise.
4502 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4503 (MZAP_MAX_BLKSZ): Likewise.
4504
74a1dce7
VS
45052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4508 handle NULL appropriately.
4509 Remove MIN.
4510
30c7d3ce
VS
45112012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Fix efiemu.
4514
4515 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4516 cpu/types.h.
4517 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4518 * configure.ac: Fix efiemu check.
4519
3c76ea0c
VS
45202012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4523 grub_probe.
4524 Reported by: adamwill
4525
7e532280
SG
45262012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4527
4528 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4529
30492374
VS
45302012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Fix handling of wide characters in gfxterm.
4533
4534 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4535 (clear_char): Likewise.
4536 (paint_char): Skip code == NULL chars.
4537 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4538
e70cb72f
VS
45392012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/normal/charset.c: Move comment to right place.
4542
5c827cf9
VS
45432012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4546 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4547 (grub_affs_mount): Revert the correct version checking.
4548
53603892
VS
45492012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * docs/grub.texi (Unicode): Mention several other unsupported features.
4552
ff094b9b
VS
45532011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4556 case statements as compile-time one.
4557 (direct_read): Prevent spurious warnings.
4558 (grub_squash_read_data): Likewise.
4559
c029da8a
VS
45602011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 Various squash4 fixes and LZO and XZ support.
4563
4564 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4565 Add xzembed source files.
4566 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4567 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4568 (grub_squash_inode): New subtype long_dir.
4569 (SQUASH_TYPE_LONG_DIR): New inode type.
4570 (COMPRESSION): New enum.
4571 (XZBUFSIZ): New const.
4572 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4573 (read_chunk): Use data->decompress.
4574 (zlib_decompress): New function.
4575 (lzo_decompress): Likewise.
4576 (xz_decompress): Likewise.
4577 (squash_mount): Set new data fields.
4578 (grub_squash_iterate_dir): Handle long dir.
4579 (squash_unmount): Free xzdec and xzbuf.
4580 (grub_squash_open): Check ino type.
4581 (direct_read): Stylistic fixes. Use data->decompress.
4582 (grub_squash_read_data): Likewise.
4583 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4584 (get_byte): Likewise.
4585 (grub_zlib_disk_read): Removed.
4586 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4587 (GRUB_POSIX_BOOL_DEFINED): New define.
4588 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4589 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4590 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4591 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4592
7a45a539
VS
45932011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 Don't override more informative errors.
4596
4597 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4598 * grub-core/font/font.c (open_section): Likewise.
4599 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4600 filename. Don't override errors.
4601 (grub_cmd_openbsd_ramdisk): Don't override errors.
4602 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4603 (grub_cmd_initrd): Likewise.
4604 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4605 (grub_cmd_initrd): Likewise.
4606 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4607 (grub_cmd_linux): Likewise.
4608 (grub_cmd_initrd): Likewise.
4609 (grub_cmd_payload): Likewise.
4610 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4611 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4612 (grub_cmd_module): Likewise.
4613 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4614 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4615 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4616 (grub_cmd_xnu_mkext): Likewise.
4617 (grub_cmd_xnu_ramdisk): Likewise.
4618 (grub_xnu_check_os_bundle_required): Likewise.
4619 (grub_xnu_load_kext_from_dir): Likewise.
4620 (grub_cmd_xnu_kextdir): Likewise.
4621 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4622
b2d004db
VS
46232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4626 as 1024 in block size field. Found on one of my test images.
4627 Small optimisation while on it.
4628
ec000eac
VS
46292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4632 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4633 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4634 performance fixes while on it.
4635 (grub_sfs_close): Fix memory leak while on it.
4636 (grub_sfs_label): Convert Latin1 to UTF-8.
4637
f50e1165
VS
46382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4641 space to avoid overflows.
4642 (grub_hfs_label): Convert from macroman to UTF-8.
4643
2ae254de
VS
46442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4647
0108f491
VS
46482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4651
f45f5f89
VS
46522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * unicode: Import Unicode 6.0 data.
4655
4d8c4765
VS
46562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4657
63fa8ef9
VS
4658 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4659 outside of range.
4660
46612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4664
4665 * include/grub/charset.h (grub_getend): New function.
4666 * grub-core/script/function.c (grub_script_function_find): Use
4667 grub_getend.
4668 * grub-core/normal/completion.c (add_completion): Likewise.
4669
f3cb4a4e
VS
46702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4673 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4674 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4675 (GRUB_UNICODE_TAG_END): Likewise.
4676 (GRUB_UNICODE_LAST_VALID): Likewise.
4677
5da8dbc5
VS
46782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4681 len and make it smaller. All users updated.
4682 * util/import_unicode.py: Put length and not end character.
4683 Check length.
4684
8569f13d
VS
46852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 Make better Unicode-compliant and unify some UTF-8 code pathes.
4688
4689 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4690 valid character.
4691 (grub_is_valid_utf8): Use grub_utf8_process.
4692 Check resulting code range.
4693 (grub_utf8_to_ucs4): Use grub_utf8_process.
4694 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4695 valid character.
4696
cc4fddf5
VS
46972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4700
bbc47747
VS
47012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * docs/grub.texi (Filesystems): Mention AFS.
4704
f63d6bf4
VS
47052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * docs/grub.texi (Filesystems): Clarify restrictions.
4708 (Regexp): Mention non-Unicode regexp behaviour.
4709 (Other): Mention non-Unicode matching behaviour.
4710
74bbf0db
VS
47112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4712
f63d6bf4 4713 Make HFS implementation use MacRoman.
74bbf0db
VS
4714
4715 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4716 (macroman): New const array.
4717 (macroman_to_utf8): New function.
4718 (utf8_to_macroman): Likewise.
4719 (grub_hfs_find_dir): Use utf8_to_macroman.
4720 (grub_hfs_dir): Use macroman_to_utf8.
4721 Set case_insensitive.
4722
4ea0316e
VS
47232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4726
d3c13cbd
VS
47272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Integrate hints into autogeneration scripts.
4730
4731 * docs/grub.texi (Filesystems): Add a hostdisk example.
4732 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4733 (grub-probe): Add ofpath.
4734 * gentpl.py: Remove group nosparc64.
4735 * grub-core/commands/search.c (cache_entry): New struct.
4736 (cache): New var.
4737 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4738 * grub-core/commands/search_wrap.c (options): Add platform-specific
4739 hint options.
4740 (grub_cmd_search): Handle platform-specific hints.
4741 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4742 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4743 (grub_util_biosdisk_data): Likewise.
4744 (grub_util_biosdisk_open): Set device_map.
4745 (read_device_map): Handle "" as indication of no map.
4746 Set device_map.
4747 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4748 (grub_util_biosdisk_get_compatibility_hint): New function.
4749 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4750 * include/grub/emu/hostdisk.h
4751 (grub_util_biosdisk_get_compatibility_hint): New proto.
4752 * util/grub-install.in: Don't call grub-mkdevicemap.
4753 Add platform-specific hint to load.cfg.
4754 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4755 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4756 hints. Set root preliminary to compatibility hint, not to OS name.
4757 * util/grub-probe.c (PRINT_*): Add hints.
4758 (print): Make static.
4759 (escape_of_path): New function.
4760 (guess_bios_drive): Likewise.
4761 (guess_efi_drive): Likewise.
4762 (guess_baremetal_drive): Likewise.
4763 (print_full_name): Likewise.
4764 (probe): Handle hints.
4765 (main): Likewise.
4766 * util/ieee1275/devicemap.c: Removed.
4767 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4768 updated.
4769 (grub_util_devname_to_ofpath): Return NULL on failure.
4770
4771 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4772 resource leak.
4773 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4774
4775 * po/POTFILES.in: Regenerated.
4776
4777 Allow purely long options
4778
4779 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4780 (SHORT_ARG_USAGE): Likewise.
4781 (grub_arg_show_help): Compare opt with help_options.
4782 (parse_option): Receive opt as argument. If makes big simplificatons.
4783 All users updated
4784
00ce2df3
VS
47852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4788 Restructure to avoid warning.
4789
e77e325f
VS
47902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/grub-install.in: Account for possible escaped comma in device
4793 name.
4794
165099ea
VS
47952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4798 channel.
4799
ce4a999d
VS
48002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4803 allocation and zero-setting.
4804 (grub_ieee1275_get_devname): Check that alias is complete.
4805
379586ad
VS
48062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4809 unaligned segments.
4810
9197b0ad
VS
48112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4814 prefix.
4815 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4816 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4817 Add ieee1275 prefix.
4818
edddb7f9
VS
48192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * docs/grub.texi (Filesystems): Update.
4822
a1a8b1b9
VS
48232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Support odc, newc and bigendian cpio formats.
4826
4827 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4828 * grub-core/Makefile.core.def (newc): New module.
4829 (odc): Likewise.
4830 (cpio_be): Likewise.
4831 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4832 (MAGIC): Likewise.
4833 (MAGIC2): Likewise.
4834 (head) [MODE_ODC]: Adapt for the format.
4835 (head) [MODE_NEWC]: Likewise.
4836 (head) [!MODE_*]: Write fields of interest as arrays.
4837 (MAGIC_USTAR): Removed.
4838 (read_number) [MODE_NEWC]: Change to hex.
4839 (read_number) [!MODE_*]: Parse binary arrays.
4840 (grub_cpio_find_file): Factor out the code for better structure and
4841 always use read_number.
4842 (grub_cpio_mount): Use MAGIC and MAGIC2.
4843 (grub_cpio_dir): Exit on first hook non-0 return.
4844 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4845 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4846 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4847 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4848 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4849 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4850 * grub-core/fs/newc.c: New file.
4851 * grub-core/fs/odc.c: Likewise.
4852 * grub-core/fs/cpio_be.c: Likewise.
4853
58eba9ee
VS
48542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Fix handling of tar numbers occupying the whole field.
4857
4858 * grub-core/fs/cpio.c (read_number): New function.
4859 (grub_cpio_find_file): Use read_number instead of strtoull.
4860
a54a0e12
VS
48612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4864 occupying the whole field size.
4865
a6120aca
LA
48662011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4867
4868 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4869
a93964ce
VS
48702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4873
3ea1ca46
SG
48742011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4875
4876 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4877 TARGET_IMG_LDFLAGS.
4878
b87f7ef2
VS
48792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4882 (mountinfo_entry): Increase the field size to take escaping into
4883 account.
4884 (find_root_device_from_libzfs): Add one byte to size of strings for
4885 security.
4886
62092395
VS
48872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4890 an assert.
4891 * util/grub-setup.c (setup): Likewise.
4892
1f0b1a77
VS
48932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4896 _LzmaDecodeA.
4897
8eba9997
VS
48982011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * docs/grub.texi (Internationalisation): New section.
4901
dd0c91e9
VS
49022011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * docs/grub.texi (Loopback booting): New section.
4905
49062011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4907
4908 * util/grub-mkstandalone.in: Fix minor typo errors.
4909
198e150a
VS
49102011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4913
4914 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4915 net/icmp.c and net/icmp6.c.
4916 (http): New module.
4917 (priority_queue): Likewise.
4918 * grub-core/io/bufio.c: Rewritten.
4919 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4920 TYPE_WITH_CONFIGFILE_OPTION.
4921 (legacy_commands): Add bootp and dhcp.
4922 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4923 (grub_legacy_parse): Likewise.
4924 * grub-core/lib/priority_queue.c: New file.
4925 * grub-core/net/arp.c: Add missing license header.
4926 (arp_find_entry): Removed.
4927 (arp_find_entry): Likewise.
4928 (grub_net_arp_resolve): Rename to ...
4929 (grub_net_arp_send_request): ...this.
4930 (grub_net_arp_receive): New card argument.
4931 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4932 Set router and DNS server.
4933 (grub_net_configure_by_dhcp_ack): Handle routing information.
4934 (grub_cmd_bootp): Set checksum.
4935 (grub_bootp_init): Remove net_dhcp.
4936 * grub-core/net/dns.c: New file.
4937 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4938 completion.
4939 (get_card_packet): Handle allocation.
4940 (grub_efinet_findcards): Set mtu.
4941 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4942 (get_card_packet): Handle allocation.
4943 (emucard): Set mtu.
4944 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4945 (GRUB_MOD_INIT): Set mtu.
4946 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4947 mtu.
4948 (get_card_packet): Handle allocation.
4949 (grub_ofnet_findcards): Set mtu.
4950 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4951 assert.
4952 (grub_net_recv_ethernet_packet): Handle IPv6.
4953 * grub-core/net/http.c: New file.
4954 * grub-core/net/icmp.c: Likewise.
4955 * grub-core/net/icmp6.c: Likewise.
4956 * grub-core/net/ip.c (ip6addr): New type.
4957 (ip6hdr): Likewise.
4958 (reassemble): Likewise.
4959 (cmp): New function.
4960 (reassembles): New variable.
4961 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4962 (id): New variable.
4963 (send_fragmented): New function.
4964 (grub_net_send_ip_packet): Rename to ...
4965 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4966 Handle non-UDP.
4967 (grub_net_recv_ip_packets): Rename to ...
4968 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4969 (free_rsm): New function.
4970 (free_old_fragments): Likewise.
4971 (grub_net_recv_ip4_packets): New function.
4972 (grub_net_send_ip6_packet): Likewise.
4973 (grub_net_send_ip_packet): Likewise.
4974 (grub_net_recv_ip6_packets): Likewise.
4975 (grub_net_recv_ip_packets): Likewise.
4976 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4977 (LINK_LAYER_CACHE_SIZE): New const.
4978 (link_layer_find_entry): New function.
4979 (grub_net_link_layer_add_address): Likewise.
4980 (grub_net_link_layer_resolve_check): Likewise.
4981 (grub_net_link_layer_resolve): Likewise.
4982 (grub_net_ipv6_get_slaac): Likewise.
4983 (grub_net_ipv6_get_link_local): Likewise.
4984 (grub_cmd_ipv6_autoconf): Likewise.
4985 (parse_ip): Handle one number representation.
4986 (parse_ip6): New functoion.
4987 (match_net): Handle IPv6.
4988 (grub_net_resolve_address): Handle IPv6 and DNS.
4989 (grub_net_resolve_net_address): Handle IPv6.
4990 (route_cmp): New function.
4991 (grub_net_route_address): Find best route.
4992 (grub_net_addr_to_str): Handle IPv6.
4993 (grub_net_addr_cmp): New function.
4994 (grub_net_add_addr): Register local route.
4995 (print_net_address): Handle net address.
4996 (grub_net_poll_cards): Retransmit TCP.
4997 (grub_net_poll_cards_idle_real): Likewise.
4998 (have_ahead): New function.
4999 (grub_net_seek_real): Use underlying seek.
5000 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5001 * grub-core/net/tcp.c: New file.
5002 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5003 (cmp): New function.
5004 (ack): Likewise.
5005 (tftp_receive): Handle unordered input.
5006 (destroy_pq): New function.
5007 (tftp_close): Close pq.
5008 * grub-core/net/udp.c: Put missing license header.
5009 (grub_net_udp_socket): New function.
5010 (udp_socket_register): Likewise.
5011 (grub_net_udp_close): Likewise.
5012 (grub_net_recv_udp_packet): Check checksum.
5013 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5014 * include/grub/misc.h (grub_memchr): New function.
5015 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5016 (grub_net_card_driver): Return buf in recv.
5017 (grub_net_slaac_mac_list): New struct.
5018 (grub_network_level_protocol_id): Add ipv6.
5019 (grub_net_network_level_addr): Likewise.
5020 (grub_net_network_level_net_addr): Likewise.
5021 (grub_net_app_protocol): Add seek.
5022 (grub_net_socket): Removed.
5023 (grub_net_sockets): Likewise.
5024 (grub_net_socket_register): Likewise.
5025 (grub_net_socket_unregister): Likewise.
5026 (FOR_NET_SOCKETS): Likewise.
5027 (grub_net_add_addr): Add const.
5028 (GRUB_NET_BOOTP_*): New enum.
5029 (grub_net_addr_cmp): New proto.
5030 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5031 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5032 (grub_net_hwaddr_to_str): NEw proto.
5033 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5034 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5035 (grub_dns_init): New proto.
5036 (grub_dns_fini): Likewise.
5037 (grub_net_tcp_retransmit): Likewise.
5038 (grub_net_link_layer_add_address): Likewise.
5039 (grub_net_link_layer_resolve_check): Likewise.
5040 (grub_net_link_layer_resolve): Likewise.
5041 (grub_net_dns_lookup): Likewise.
5042 (grub_net_add_dns_server): Likewise.
5043 (grub_net_remove_dns_server): Likewise.
5044 (GRUB_NET_TRIES): New const.
5045 (GRUB_NET_INTERVAL): Likewise.
5046 * include/grub/net/arp.h: Mostly rewritten.
5047 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5048 * include/grub/net/ip.h: Mostly rewritten.
5049 * include/grub/net/netbuff.h: Indent.
5050 * include/grub/net/tcp.h: New file.
5051 * include/grub/net/udp.h: Mostly rewritten.
5052 * include/grub/priority_queue.h: New file.
5053 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5054 (grub_swap_bytes64_compile_time): Likewise.
5055 (grub_cpu_to_be16_compile_time): Likewise.
5056 (grub_cpu_to_be32_compile_time): Likewise.
5057 (grub_cpu_to_be64_compile_time): Likewise.
5058 (grub_be_to_cpu64_compile_time): Likewise.
5059
215c1800
VS
50602011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5063 UINT_TO_PTR with cast.
5064
c17e546c
VS
50652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5068 don't use them.
5069
ff6b18b6
VS
50702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5073 already there.
5074
70ffcc93
VS
50752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5078 confusing ipxe.
5079
e5f4d260
VS
50802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5083 Add missing const attribute.
5084 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5085 Likewise.
5086 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5087 Likewise.
5088
8e54b4b7
VS
50892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5092 misaligned access.
5093 (serpent_setkey): Likewise.
5094 (serpent_encrypt_internal): Likewise.
5095 (serpent_decrypt_internal): Likewise.
5096 (serpent_encrypt): Don't put an alignment-increasing cast.
5097 (serpent_decrypt): Likewise.
5098 (serpent_test): Likewise.
5099
813c0a2b
VS
51002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5103
f2b60fbd
VS
51042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5107
5108 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5109 grub_addr_t casts.
5110 (PTR_TO_UINT64): Likewise.
5111 (PTR_TO_UINT32): Likewise.
5112
5ef5c511
VS
51132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5116 because of stack.
5117 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5118 limit.
5119
c476e6df
VS
51202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5123 text_width > available width a bit more gracefully.
5124
384ad7cc
VS
51252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5128 current address calculation.
5129
96f8caf8
VS
51302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5133 stack.
5134 (encode_block): Likewise.
5135
276b7a8b
VS
51362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5139 certainety.
5140
e3fd394a
VS
51412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5144 non-RS part to avoid RS messing with GDT.
5145 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5146 Increase to suit in realmode routines.
5147
51482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/kern/i386/realmode.S: Increase alignment.
5151 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5152
ee9c2e7a
VS
51532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5156 be deterministic.
5157 (syndroms): Compute 0 syndrom.
5158 (rs_recover): Use 0 syndrom.
5159
7a7f7cc9
VS
51602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5163
a14b16d1
VS
51642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5167 brackets.
5168
9f59e9fc
VS
51692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5170
ca1b552c
VS
5171 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5172 account.
5173 (get_top_pad): Likewise.
5174 (get_right_pad): Likewise.
5175 (get_bottom_pad): Likewise.
5176
51772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5180
e739d698
VS
51812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5184 attribute as the structure isn't guaranteed to be properly aligned.
5185 (grub_efi_pci_device_path): Likewise.
5186 (grub_efi_pccard_device_path): Likewise.
5187 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5188 specify the size of `memory_type'.
5189 (grub_efi_vendor_device_path): Likewise.
5190 (grub_efi_controller_device_path): Likewise.
5191 (grub_efi_acpi_device_path): Likewise.
5192 (grub_efi_expanded_acpi_device_path): Likewise.
5193 (grub_efi_atapi_device_path): Likewise.
5194 (grub_efi_scsi_device_path): Likewise.
5195 (grub_efi_fibre_channel_device_path): Likewise.
5196 (grub_efi_1394_device_path): Likewise.
5197 (grub_efi_usb_device_path): Likewise.
5198 (grub_efi_usb_class_device_path): Likewise.
5199 (grub_efi_i2o_device_path): Likewise.
5200 (grub_efi_mac_address_device_path): Likewise.
5201 (grub_efi_ipv4_device_path): Likewise.
5202 (grub_efi_ipv6_device_path): Likewise.
5203 (grub_efi_infiniband_device_path): Likewise.
5204 (grub_efi_uart_device_path): Likewise.
5205 (grub_efi_vendor_messaging_device_path): Likewise.
5206 (grub_efi_hard_drive_device_path): Likewise.
5207 (grub_efi_cdrom_device_path): Likewise.
5208 (grub_efi_vendor_media_device_path): Likewise.
5209 (grub_efi_file_path_device_path): Likewise.
5210 (grub_efi_protocol_device_path): Likewise.
5211 (grub_efi_piwg_device_path): Likewise.
5212 (grub_efi_bios_device_path): Likewise.
5213
cb8f88ea
VS
52142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5217 (grub_ucs4_to_utf8_alloc): Likewise.
5218 (grub_ucs4_to_utf8): Likewise.
5219 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5220 (grub_ucs4_to_utf8_alloc): Likewise.
5221
309e5352
VS
52222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 AFFS never uses unicode.
5225
5226 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5227 (grub_latin1_to_utf8): New inline function.
5228 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5229
e7987e1b
VS
52302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5233 overflow.
5234
efc2616e
VS
52352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5238 (grub_squash_dirent_header): Likewise.
5239 (read_chunk): Don't double swap.
5240 (grub_squash_iterate_dir): Fix swap sizes.
5241
3c349f5a
VS
52422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5245
b453412d
VS
52462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5249 (grub_hfs_iterate_dir): Likewise.
5250
12e9d4d1
VS
52512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 Fix video on platforms where unaligned access is forbidden.
5254 Make several optimisations while on it.
5255
5256 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5257 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5258 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5259 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5260 Disable.
5261 (grub_video_fbblit_replace_16bit_1bit):
5262 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5263 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5264 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5265 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5266 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5267 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5268 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5269 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5270 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5271 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5272 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5273 (grub_video_fbblit_replace_index_RGB888): Likewise.
5274 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5275 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5276 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5277 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5278 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5279 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5280 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5281 Disable.
5282 (grub_video_fbblit_blend_XXX565_1bit):
5283 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5284 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5285 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5286 void *.
5287 * grub-core/video/fb/video_fb.c (common_blitter)
5288 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5289 (grub_video_fb_create_render_target_from_pointer)
5290 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5291 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5292 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5293 definition.
5294 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5295
ace96609
VS
52962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5299 HH22 and HM10 relocations.
5300
fd261d73
VS
53012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5304
e59b7857
VS
53052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5308 allocation succeeded.
5309
9b4baaa4
VS
53102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5313 argument a u8 pointer. All users updated.
5314 Handle unaligned buffers.
5315
dc713193
VS
53162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5319 add_part to workaround compiler bug.
5320
30dd48c2
VS
53212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5324
0c6087a8
VS
53252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5328 Reserve alignment invariants.
5329 (grub_multiboot_load): Likewise.
5330 (retrieve_video_parameters): Likewise.
5331 (grub_multiboot_make_mbi): Likewise.
5332
c2e77777
VS
53332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5336 incorrect pointer.
5337
b70b6d11
VS
53382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5341 (grub_pata_pio_write): Likewise.
5342
02a2bf83
VS
53432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 Add noreturn attributes and remove unreachable code.
5346
5347 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5348 code.
5349 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5350 code. Mark as noreturn.
5351 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5352 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5353 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5354 unreachable code.
5355 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5356 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5357 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5358 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5359 * include/grub/kernel.h (grub_main): Mark as noreturn.
5360 * include/grub/reader.h (grub_rescue_run): Likewise.
5361
2019d09e
VS
53622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5365 redundant declaration.
5366
d1c501ee
VS
53672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5370 redundant declaration.
5371 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5372
61664420
VS
53732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5376 to ensure alignment.
5377 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5378 alignment. Ensure tmp alignment.
5379 (grub_cmd_hdparm): Ensure buf alignment.
5380 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5381 to ensure alignment.
5382 (grub_ata_dumpinfo): Ensure text alignment.
5383 (grub_atapi_identify): Preserve alignment invariant.
5384 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5385
0d51ee20
VS
53862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5389 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5390 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5391 * include/grub/misc.h (grub_reboot)
5392 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5393 (grub_halt) [__mips__]: Likewise.
5394
753ef8c1
VS
53952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5398 Remove redundant declaration.
5399 (grub_mmap_get_post64): Likewise.
5400 (grub_mmap_get_upper): Likewise.
5401 (grub_mmap_get_lower): Likewise.
5402
85c85365
VS
54032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5406 uint32_t * to ensure alignment.
5407 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5408
a23f2cc4
VS
54092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5410
93018f64
VS
5411 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5412 uint16_t * to ensure alignment.
5413 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5414 alignment.
5415
54162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5419 to ensure alignment.
5420 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5421
58acccd6
VS
54222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5425 Handle unaligned pointers.
5426 (u32at): Likewise.
5427 (u64at): Likewise.
5428 (fixup): Use byte access instead of v16at.
5429 (find_attr): Fix imporper usage of v32at.
5430 (read_data): Likewise.
5431 (list_file): Handle byte-swapping and unaligned strings.
5432 (grub_ntfs_label): Likewise.
5433
9b05cad7
VS
54342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5437 as it's not necessarily aligned.
5438
b3950b84
VS
54392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5442 redundant declaration.
5443 (grub_serial_init): Likewise.
5444 (grub_terminfo_init): Likewise.
5445
fcd232b7
VS
54462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5449 function.
5450 (ZAP_HASH_IDX): Likewise.
5451 (ZAP_LEAF_HASH_SHIFT): Likewise.
5452 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5453 (LEAF_HASH): Likewise.
5454 (ZAP_LEAF_NUMCHUNKS): Likewise.
5455 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5456 alignment invariants. Return pointer. All users updated.
5457 (ZAP_LEAF_ENTRY): Make into inline function.
5458 (NBBY): Removed.
5459 (xor): LIkewise.
5460 (xor_out): Use grub_crypto_xor.
5461 (dnode_get_path): Use grub_get_unaligned.
5462 (nvlist_find_value): Likewise.
5463 (grub_zfs_nvlist_lookup_uint64): Likewise.
5464 (grub_zfs_nvlist_lookup_string): Likewise.
5465 (get_nvlist_size): Likewise.
5466 (grub_zfs_open): Likewise.
5467 (fill_fs_info): Likewise.
5468 (grub_zfs_dir): Likewise.
5469 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5470 alignment invariants.
5471 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5472 necessarily aligned.
5473
f138623a
VS
54742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5477
564840dc
VS
54782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5481 arithmetic to conserve alignment invariants.
5482
9b40df20
VS
54832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5486 redundant declaration.
5487 (grub_efiemu_mm_obtain_request): Likewise.
5488 (grub_efiemu_prepare): Likewise.
5489
d1c930f9
VS
54902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5493 to match types.
5494
4c5f3056
VS
54952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5498 case of aunaligned recptr.
5499 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5500 alignment.
5501 (grub_hfsplus_btree_search): Handle unaligned index.
5502
728cba91
VS
55032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5506 to get freetag and skip.
5507
eb561f31
VS
55082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5511 array.
5512 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5513 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5514
20993fbb
VS
55152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5518 name for checksum and fix allocation algorithm.
5519
1f313b94
VS
55202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * include/grub/types.h (grub_properly_aligned_t): New type.
5523 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5524 (grub_get_unaligned16): Add explicit casts.
5525 (grub_get_unaligned32): Likewise.
5526 (grub_get_unaligned64): Likewise.
5527 (grub_set_unaligned16): New function.
5528 (grub_set_unaligned32): Likewise.
5529
47ae27ec
VS
55302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5533
78c2cd1c
VS
55342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5537 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5538 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5539
53072f9b
VS
55402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5543 conditionals.
5544
055dc239
VS
55452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5548 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5549
496bd074
VS
55502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Unify and improve RAID and crypto xor.
5553
5554 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5555 changed to grub_crypto_xor
5556 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5557 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5558 Use bigger types when possible.
5559
ef6e4335
VS
55602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/disk/raid.c (scan_devices): Fix condition.
5563
5d048bf2
VS
55642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5567 Make name a const ptr.
5568
ee533335
VS
55692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5572 first argument a const pointer.
5573 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5574 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5575 proto.
5576 (grub_children_iterate): Likewise.
5577 (grub_machine_mmap_iterate): Remove redundant declaration.
5578
cc8f3668
VS
55792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5582 (grub_cmd_acpi) [!x86]: Disable EBDA.
5583
c5fc563a
VS
55842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Enable UTF8 in gnulib regexp.
5587
5588 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5589 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5590 (isupper): Use grub_isupper.
5591 (isascii): New inline function.
5592 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5593 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5594 * grub-core/normal/charset.c (grub_utf8_process): New function.
5595 (grub_utf8_to_utf16): Use grub_utf8_process.
5596 (grub_encode_utf8_character): New function.
5597 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5598 * include/grub/charset.h (grub_utf8_process): New declaration.
5599 (grub_encode_utf8_character): Likewise.
5600 * include/grub/misc.h (grub_islower): New inline function.
5601 (grub_isupper): Likewise.
5602 (grub_strchrsub): Moved down to fix the definitions.
5603
0af2346f
VS
56042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5607 specification.
5608
74dbd244
VS
56092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * include/grub/loader.h (grub_loader_register_preboot_hook):
5612 Use struct preboot * and not void * for handle. All users updated.
5613 (grub_loader_unregister_preboot_hook): Likewise.
5614
1bc8f60d
VS
56152011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5618 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5619 UTF-16-BE. All users updated.
5620 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5621 (grub_hfsplus_iterate_dir): Likewise.
5622 (grub_hfsplus_label): Likewise.
5623
48d6e456
VS
56242011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5627
bf3a3857
VS
56282011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Add missing const qualifiers.
5631
5632 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5633 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5634 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5635 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5636 (grub_lvm_check_flag): Likewise.
5637 * grub-core/efiemu/i386/coredetect.c
5638 (grub_efiemu_get_default_core_name): Likewise
5639 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5640 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5641 * grub-core/fs/ntfs.c (fixup): Likewise.
5642 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5643 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5644 (fzap_lookup): Likewise.
5645 (zap_lookup): Likewise.
5646 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5647 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5648 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5649 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5650 (grub_freebsd_add_meta_module): Likewise.
5651 (grub_cmd_freebsd_module): Likewise.
5652 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5653 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5654 (grub_xnu_writetree_get_size): Likewise.
5655 (grub_xnu_writetree_toheap_real): Likewise.
5656 (grub_xnu_find_key): Likewise.
5657 (grub_xnu_create_key): Likewise.
5658 (grub_xnu_create_value): Likewise.
5659 (grub_xnu_register_memory): Likewise.
5660 (grub_xnu_check_os_bundle_required): Likewise.
5661 (grub_xnu_scan_dir_for_kexts): Likewise.
5662 (grub_xnu_load_kext_from_dir): Likewise.
5663 * grub-core/normal/color.c (color_list): Likewise.
5664 * grub-core/normal/completion.c (current_word): Likewise.
5665 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5666 * grub-core/term/serial.c (grub_serial_find): Likewise.
5667 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5668 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5669 Likewise.
5670 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5671 (grub_freebsd_add_meta_module): Likewise.
5672 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5673 * include/grub/net.h (grub_net_card_driver): Likewise.
5674 (grub_net_card): Likewise.
5675 (grub_net_app_protocol): Likewise.
5676 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5677 * include/grub/serial.h (grub_serial_find): Likewise.
5678 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5679 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5680 (grub_xnu_create_value): Likewise.
5681 (grub_xnu_find_key): Likewise.
5682 (grub_xnu_scan_dir_for_kexts): Likewise.
5683 (grub_xnu_load_kext_from_dir): Likewise.
5684
5685 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5686 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5687 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5688 Moved from here ...
5689 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5690
112b4837
CW
56912011-11-28 Colin Watson <cjwatson@ubuntu.com>
5692
5693 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5694
49e891ac
VS
56952011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5698 (read_device): Fix size calculation.
5699
fd258e5c
RM
57002011-11-25 Robert Millan <rmh@gnu.org>
5701
5702 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5703 (find_root_device_from_libzfs): Add zpool output parser to be used
5704 as fallback when libzfs isn't available.
5705
78845dc2
SG
57062011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5707
5708 * po/Makefile.in.in: Add missing escape-continuation.
5709
adac5211
VS
57102011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5713
10b64f1c
VS
57142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5717
bb416954
VS
57182011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5721
bdfe9eeb
VS
57222011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5725
581ffa8a
VS
57262011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/lib/adler32.c: Add missing license specification.
5729 * grub-core/lib/crc64.c: Likewise.
5730 * grub-core/loader/i386/pc/plan9.c: Likewise.
5731 * grub-core/partmap/plan.c: Likewise.
5732
2536cf64
LK
57332011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5734
5735 Add facility to debug GRUB with gdb under qemu.
5736
5737 * grub-core/gdb_grub.in: New file.
5738 * grub-core/gmodule.pl.in: Likewise.
5739 * grub-core/Makefile.core.def (gmodule.pl): New script.
5740 (gdb_grub): Likewise.
5741
bc108a4a
VS
57422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * util/grub-mount.c (argp_parser): Accept relative pathes.
5745 * util/grub-fstest.c (argp_parser): Likewise.
5746
111c1778
VS
57472011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 Plan9 support.
5750
5751 * Makefile.util.def (libgrubmods): Add
5752 grub-core/partmap/plan.c.
5753 * docs/grub.texi: Notice Plan9 support.
5754 * grub-core/Makefile.core.def (plan9): New module.
5755 (part_plan): Likewise.
5756 * grub-core/loader/i386/pc/plan9.c: New file.
5757 * grub-core/partmap/plan.c: Likewise.
5758 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5759 define.
5760 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5761 * include/grub/mm.h (grub_extend_alloc): New inline function.
5762
c30be3b6
VS
57632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 Make Reed-Solomon faster by using power of generator representation of
5766 GF(256)*.
5767
5768 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5769 (gf_double_t): Likewise.
5770 (gf_invert): Removed.
5771 (gf_powx): New array.
5772 (gf_powx_inv): Likewise.
5773 (scratch): Move higher.
5774 (gf_reduce): Removed.
5775 (gf_mul): Use powx.
5776 (gf_invert): Likewise.
5777 (init_inverts): Replaced with ...
5778 (init_powx): ...this. All users updated.
5779 (pol_evaluate): Replace multiplications with additions.
5780 (rs_encode): Likewise.
5781 (gauss_eliminate): Call gf_invert.
5782 (grub_reed_solomon_add_redundancy): Call init_powx.
5783 (grub_reed_solomon_recover): Call init_powx unconditionally.
5784
fa5aeffc
VS
57852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5788
a346b81c
VS
57892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5792 disk->partiton for safety.
5793
d89ee414
VS
57942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5797 Fix a memory leak.
5798 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5799
91ee7b6d
VS
58002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5803
91e5a33d
VS
58042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5807
9edd7be2
VS
58082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Fix spaces handling in proc/self/mountinfo.
5811
5812 * util/getroot.c (unescape): New function.
5813 (grub_find_root_device_from_mountinfo): Use unescape.
5814
ba102053
VS
58152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 Support ZFS embedding.
5818
5819 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5820 (grub_zfs_fs): Register grub_zfs_embed.
5821
aa94b870
VS
58222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Fix MIPS compilation.
5825
5826 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5827 * include/grub/offsets.h: Rename decompressor fields from
5828 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5829 * util/grub-mkimage.c (image_targets): Use new names.
5830
5fbdac14
VS
58312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 Defer multiboot device parsing until we're in compressed part.
5834
5835 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5836 bsd_part. setdevice has fallen into disuse.
5837 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5838 (bsd_part): Likewise.
5839 (boot_dev): New variable.
5840 (multiboot_trampoline): Don't parse multiboot device.
5841 Pass multiboot device in %edx.
5842 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5843 grub_boot_device.
5844 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5845 Likewise.
5846 * grub-core/kern/i386/pc/startup.S: Save edx.
5847 (grub_boot_drive): Removed.
5848 (grub_install_dos_part): Likewise.
5849 (grub_install_bsd_part): Likewise.
5850 (grub_boot_device): New variable.
5851 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5852 (grub_install_bsd_part): Likewise.
5853 (grub_boot_drive): Likewise.
5854 (grub_boot_device): New variable.
5855 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5856 Removed.
5857 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5858 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5859 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5860 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5861 * util/grub-install.in: Remove redundant condition.
5862
691cbb58
VS
58632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Fix bug introduced by previous commit.
5866
5867 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5868
60240b8b
VS
58692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Use decompressors framework on i386-pc. It increases core size
5872 by 46 bytes but improves compatibility and maintainability.
5873
5874 * grub-core/Makefile.core.def (lzma_decompress): New image.
5875 (kernel): Add i386_pc_ldflags.
5876 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5877 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5878 to real_to_prot, prot_to_real and device info.
5879 * include/grub/offsets.h: Renamed decompressor offsets.
5880 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5881 (image_target_desc): Remove raw_size and rename decompressor fields.
5882 (compress_kernel): Handle lzma.
5883 (generate_image): Handle decompressors on i386-pc.
5884
e9d3421c
VS
58852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * configure.ac: Add -fno-asynchronous-unwind-tables.
5888
2b23074a
VS
58892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Move assembly code to C by using intwrap. It increases core size
5892 by 88 bytes but improves compatibility and maintainability.
5893
5894 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5895 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5896 ... here. Translated to C.
5897 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5898 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5899 ... here. Translated to C.
5900 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5901 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5902 ... here. Translated to C.
5903 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5904 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5905 ... here. Translated to C.
5906 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5907 * grub-core/term/i386/pc/console.c (grub_console_cls):
5908 ... here. Translated to C.
5909 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5910 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5911 ... here. Translated to C.
5912 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5913 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5914 Translated to C.
5915 * grub-core/term/i386/pc/console.c (int10_9): New function.
5916 (grub_console_putchar): Likewise.
5917 * include/grub/i386/pc/console.h: Removed the not anymore shared
5918 functions.
5919
678f4b67
VS
59202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Move grub_chainloader_real_boot out of the kernel.
5923
5924 * grub-core/Makefile.am: Remove machine/loader.h.
5925 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5926 Removed.
5927 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5928 variable.
5929 (grub_relocator16_keep_a20_enabled): Likewise.
5930 (grub_relocator16_boot): Fill new variables.
5931 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5932 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5933 relocator.
5934 (grub_chainloader_unload): Likewise.
5935 (grub_chainloader_cmd): Likewise.
5936 * include/grub/i386/pc/loader.h: Removed.
5937 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5938 and esi. All initialisers updated.
5939
4626edf6
VS
59402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
59412011-11-12 Colin Watson <cjwatson@ubuntu.com>
5942
5943 * Makefile.util.def (grub-mount): New util.
5944 * .bzrignore: Add grub-mount.
5945 * configure.ac: Check for fuse and enable grub-mount if available.
5946 * docs/man/grub-mount.h2m: New file.
5947 * util/grub-mount.c: Likewise.
5948
10f0117b
VS
59492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/commands/efi/fixvideo.c: Gettextize.
5952 * grub-core/commands/hashsum.c: Likewise.
5953 * grub-core/commands/i386/cmostest.c: Likewise.
5954 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5955 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5956 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5957 * grub-core/commands/lsmmap.c: Likewise.
5958 * grub-core/commands/menuentry.c: Likewise.
5959 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5960 * grub-core/commands/setpci.c: Likewise.
5961 * grub-core/loader/i386/bsd.c: Likewise.
5962 * grub-core/loader/i386/linux.c: Likewise.
5963 * util/getroot.c: Likewise.
5964 * util/grub-editenv.c: Likewise.
5965 * util/grub-fstest.c: Likewise.
5966 * util/grub-mkfont.c: Likewise.
5967 * util/grub-mkimage.c: Likewise.
5968 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5969 * util/grub-pe2elf.c: Likewise.
5970 * util/grub-probe.c: Likewise.
5971 * util/grub-setup.c: Likewise.
5972 * util/ieee1275/ofpath.c: Likewise.
5973 * util/misc.c: Likewise.
5974 * util/raid.c: Likewise.
5975
566f779b
RM
59762011-11-11 Robert Millan <rmh@gnu.org>
5977
5978 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5979 __attribute__((unused)) from `os_dev', which *is* being used.
5980
b50787de
VS
59812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5984 forgotten define.
5985 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5986 GRUB_IA64_DL_GOT_ALIGN.
5987 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5988 GRUB_IA64_DL_TRAMP_ALIGN.
5989
119d11c8
VS
59902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 Replace grub_fatal with normal errors in i386 linux loader.
5993
5994 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5995 (allocate_pages): Check find_efi_mmap_size return value.
5996 (grub_e820_add_region): Return error.
5997 (grub_linux_boot): Check mmap return value.
5998
6e0632e2
VS
59992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/commands/acpihalt.c: Gettextized.
6002 * grub-core/commands/cacheinfo.c: Likewise.
6003 * grub-core/commands/cmp.c: Likewise.
6004 * grub-core/commands/efi/loadbios.c: Likewise.
6005 * grub-core/commands/gptsync.c: Likewise.
6006 * grub-core/commands/ieee1275/suspend.c: Likewise.
6007 * grub-core/commands/legacycfg.c: Likewise.
6008 * grub-core/commands/memrw.c: Likewise.
6009 * grub-core/commands/minicmd.c: Likewise.
6010 * grub-core/commands/parttool.c: Likewise.
6011 * grub-core/commands/time.c: Likewise.
6012 * grub-core/commands/videoinfo.c: Likewise.
6013 * grub-core/disk/geli.c: Likewise.
6014 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6015 * grub-core/disk/luks.c: Likewise.
6016 * grub-core/disk/lvm.c: Likewise.
6017 * grub-core/font/font_cmd.c: Likewise.
6018 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6019 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6020 * grub-core/gfxmenu/view.c: Likewise.
6021 * grub-core/kern/emu/hostdisk.c: Likewise.
6022 * grub-core/kern/emu/main.c: Likewise.
6023 * grub-core/kern/emu/misc.c: Likewise.
6024 * grub-core/kern/emu/mm.c: Likewise.
6025 * grub-core/kern/mips/arc/init.c: Likewise.
6026 * grub-core/kern/mips/loongson/init.c: Likewise.
6027 * grub-core/kern/partition.c: Likewise.
6028 * grub-core/lib/i386/halt.c: Likewise.
6029 * grub-core/lib/mips/arc/reboot.c: Likewise.
6030 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6031 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6032 * grub-core/loader/i386/xnu.c: Likewise.
6033 * grub-core/loader/multiboot.c: Likewise.
6034 * grub-core/net/bootp.c: Likewise.
6035 * grub-core/net/net.c: Likewise.
6036 * grub-core/normal/term.c: Likewise.
6037 * grub-core/partmap/bsdlabel.c: Likewise.
6038 * grub-core/parttool/msdospart.c: Likewise.
6039 * grub-core/term/gfxterm.c: Likewise.
6040 * grub-core/term/terminfo.c: Likewise.
6041 * grub-core/video/i386/pc/vbe.c: Likewise.
6042 * util/grub-menulst2cfg.c: Likewise.
6043 * util/grub-mkdevicemap.c: Likewise.
6044 * util/grub-mklayout.c: Likewise.
6045 * util/grub-mkrelpath.c: Likewise.
6046 * util/grub-script-check.c: Likewise.
6047 * util/ieee1275/grub-ofpathname.c: Likewise.
6048 * util/resolve.c: Likewise.
6049
073aa7a9
VS
60502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Support %1$d syntax.
6053
6054 * tests/printf_unit_test.c: New file.
6055 * Makefile.util.def (printf_test): New test.
6056 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6057
c76b5417
VS
60582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6061 fix.
6062
df067ad1
VS
60632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6066 dprintf.
6067 * grub-core/font/font.c (grub_font_load): Likewise.
6068
5b289bc5
VS
60692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * util/grub-macho2img.c: Add comment concerning gettext.
6072 * grub-core/lib/legacy_parse.c: Likewise.
6073
c1860f87
VS
60742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6077 (grub_xvasprintf): Likewise.
6078
d35d0d37
VS
60792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Add const keyword to grub_env_get and gettextize week days.
6082
6083 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6084 (grub_read_hook_datetime): Return const char *.
6085 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6086 updated.
6087 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6088 Mark for gettext.
6089 (grub_get_weekday_name): Return const char *. Call gettext.
6090 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6091 char * and len as the argument. All users updated.
6092 (grub_script_argv_split_append): Receive const char *.
6093 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6094 * include/grub/env.h (grub_env_get): Likewise.
6095 (grub_env_read_hook_t): Return const char *.
6096 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6097 (grub_script_argv_split_append): Likewise.
6098
9aed8a71
VS
60992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6102
067fdf00
VS
61032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6106 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6107
a8bd9d39
VS
61082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6111 Fix prototype.
6112
f7ce5baf
VS
61132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 Fix mips compilation.
6116
6117 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6118 normal decoder.
6119 (hashes): Use in embed decoder as well (for sizes).
6120 (dec_stream_header): Fix embed decompressor logic.
6121 (dec_stream_footer): Likewise.
6122
9bb182f3
VS
61232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6126 an error and not a fatal on unrecognised relocation types.
6127
63a9e6f6
VS
61282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6131 Issue error rather than printf on unknown arguments.
6132
4c458569
VS
61332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6136 Make buf a const.
6137
e2d22baf
VS
61382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6141 Fix module name.
6142
53dc8590
VS
61432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6146 leftover debug printf.
6147
6c189294
VS
61482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6151
f7688369
VS
61522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6155 A stylistic fix.
6156
11a775a3
VS
61572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6160
33f784e8
SL
61612011-11-10 Shea Levy <slevy@tieronedesign.com>
6162
6163 Allow all modules to perform serial IO
6164
6165 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6166 * include/grub/serial.h (grub_serial_port_configure): New inline
6167 function.
6168 (grub_serial_port_fetch): Likewise.
6169 (grub_serial_port_put): Likewise.
6170 (grub_serial_port_fini): Likewise.
6171 (grub_serial_find): New proto.
6172
f6276525
VS
61732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 Put symlink at the end of the node and fix a potential
6176 memory corruption.
6177
6178 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6179 Make symlink into an array.
6180 (set_rockridge): Set have_symlink and alloc_dirents.
6181 (grub_iso9660_read_symlink): Use new layout.
6182 (grub_iso9660_iterate_dir): Fix memory corruption.
6183 Use new layout.
6184 (grub_iso9660_dir): Set have_symlink.
6185 (grub_iso9660_open): Likewise.
6186
c3591189
VS
61872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Remove local keyword.
6190
6191 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6192 (version_test_gt): Likewise.
6193 (version_find_latest): Likewise.
6194 (gettext_printf): Likewise.
6195 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6196
cb544caa
VS
61972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6200
45bd824d
VS
62012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Fix ZFS memory and resource leaks.
6204
6205 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6206 All users updated.
6207 Free type on exit.
6208 (fill_vdev_info): New parameter inserted. All users updated.
6209 (check_pool_label): Likewise.
6210 (scan_disk): Likewise.
6211 (scan_devices): Close non-inserted disks.
6212 (fzap_iterate): Free l.
6213 (unmount_device): Free children descripto memory.
6214
ad9a2f44
VS
62152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6218 argument (access out of bounds).
6219
6b68db81
VS
62202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6223 >= 6 drives.
6224
28840fda
VS
62252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6228 Fix declaration.
6229
8a5a3a5b
VS
62302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 Fix several memory leaks.
6233
6234 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6235 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6236 (grub_cpio_dir): Likewise.
6237 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6238 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6239 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6240 (grub_romfs_label): Likewise.
6241 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6242 (squash_unmount): New function.
6243 (grub_squash_dir): Fix memory leak.
6244 (grub_squash_open): Likewise.
6245 (grub_squash_read): Likewise.
6246 (grub_squash_mtime): Likewise.
6247 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6248 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6249 * util/grub-fstest.c (fstest): Likewise.
6250
57b01250
VS
62512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6254 avoid accessing beyond the array.
6255
19e81ba7
VS
62562011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6259
52b656c0
VS
62602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Several AFFS fixes.
6263
6264 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6265 (GRUB_AFFS_FLAG_FFS): Removed.
6266 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6267 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6268 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6269 (grub_fshelp_node): Make block 32-bit.
6270 Add block_cache and last_block_cache.
6271 (grub_affs_read_block): Fill and use block cache.
6272 (grub_affs_read_file): Removed.
6273 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6274 boot block.
6275 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6276 safety.
6277 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6278 space.
6279 (grub_affs_close): Free block cache.
6280 (grub_affs_read): Use grub_fshelp_read_file directly.
6281
438a746a
VS
62822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6285 with no error set.
6286
49a45021
VS
62872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6290 used variable.
6291 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6292 Likewise.
6293
3ae17eb8
VS
62942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6297
6298 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6299 byteswap when needed.
6300
27610c38
VS
63012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Fix FreeBSD compilation.
6304
6305 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6306 to avoid circular dependency.
6307 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6308 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6309 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6310
4a19b601
VS
63112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Fix ZFS crypto error types.
6314
6315 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6316 (grub_gcm_decrypt): Likewise.
6317 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6318 from PBKDF2.
6319
958ee221
VS
63202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Illumos support.
6323
6324 * Makefile.util.def (10_illumos): New script.
6325 * configure.ac: Set COND_HOST_ILLUMOS.
6326 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6327 Support Illumos calls.
6328 (find_partition_start) [__sun__]: Likewise.
6329 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6330 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6331 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6332 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6333 device.
6334 * util/grub-probe.c (probe) [__sun__]: Do character check.
6335 * util/grub.d/10_illumos.in: New file.
6336
cac14fb6
VS
63372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 Support escaped commas in hostdisk.
6340
6341 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6342 (find_grub_drive): Use unescape_cmp.
6343 (make_device_name): Escape commas.
6344
78e08dc3
VS
63452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6348
9f421dd1
VS
63492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6352 variable.
6353
ed64e9e2
VS
63542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 Support trampoline jumps on powerpc.
6357
6358 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6359 __ia64__ path.
6360 (grub_dl_load_segments): Set mod->sz.
6361 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6362 segments.
6363 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6364 (jump): Likewise.
6365 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6366 function.
6367 (trampoline): New struct.
6368 (trampoline_template): New const.
6369 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6370 * include/grub/dl.h (grub_dl): Add sz element.
6371 [__powerpc__]: Follow __ia64__.
6372 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6373 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6374 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6375 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6376
3084ede4
VS
63772011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 ZFS crypto support.
6380
6381 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6382 * grub-core/Makefile.core.def (zfscrypt): New module.
6383 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6384 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6385 it. All users updated.
6386 (grub_zfs_decrypt): New var.
6387 (grub_zfs_load_key): Likewise.
6388 (zio_checksum_functions): Add SHA256+MAC.
6389 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6390 (zio_read): Handle encrypted blocks.
6391 (zap_verify): Remove incorrect check.
6392 (fzap_iterate): Handle non-standard fzap.
6393 (zap_iterate): Likewise.
6394 (zap_iterate_u64): New function.
6395 (dnode_get_fullpath): Load keys.
6396 * grub-core/fs/zfs/zfscrypt.c: New file.
6397 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6398 (grub_crypto_ecb_encrypt): Make input const.
6399 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6400 (grub_crypto_ecb_encrypt): Make input const.
6401 (GRUB_CIPHER_AES): New macro.
6402 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6403 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6404 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6405 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6406 prefix. All users updated.
6407 (grub_zfs_add_key): New proto.
6408 (grub_zfs_decrypt): Likewise.
6409 (grub_zfs_load_key): Likewise.
6410 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6411 * util/grub-fstest.c (options): Add -K option.
6412 (argp_parser): Likewise.
6413
b632b404
VS
64142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 Support zle compression on ZFS.
6417
6418 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6419 (decomp_table): Add zle.
6420 * include/grub/zfs/zio.h (zio_compress): Add zle.
6421
c7ba4f69
VS
64222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Support BtrFS embedding.
6425
6426 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6427 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6428 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6429 * util/grub-setup.c (setup): Use fs embedding if available.
6430 Add additional sanity check.
6431
455377d9
VS
64322011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * util/grub-install.in: Fix condition for config_opt.
6435
c2fd16ca
VS
64362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Support third redundancy strip on raidz3.
6439
6440 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6441 Return error on singularity. All users updated.
6442 (read_device): Don't stop on 3rd failure on raidz3.
6443
8622923b
VS
64442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Support case-insensitive ZFS subvolumes.
6447
6448 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6449 All users updated.
6450 (zap_hash): Likewise.
6451 (name_cmp): New function.
6452 (zap_leaf_array_equal): New parameter case_insensitive.
6453 All users updated.
6454 (zap_leaf_lookup): Likewise.
6455 (fzap_lookup): Likewise.
6456 (zap_lookup): Likewise.
6457 (dnode_get_path): New parameter case_insensitive. Retrieve case
6458 sensitiviness of a volume. All users updated.
6459 (dnode_get_fullpath): New parameter case_insensitive.
6460 All users updated.
6461 (grub_zfs_dir): Set info.case_insensitiveness.
6462
95f2e860
VS
64632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Support second redundancy strip on raidz(2,3).
6466
6467 * grub-core/fs/zfs/zfs.c (powx): New array.
6468 (powx_inv): Likewise.
6469 (poly): New const.
6470 (xor_out): New function.
6471 (gf_mul): Likewise.
6472 (recovery): Likewise.
6473 (read_device): Use second redundancy strip.
6474
11ee4389
VS
64752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Use a power of generator representation of GF(256) multiplication group
6478 to save space time and complexity.
6479
6480 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6481 (raid6_table2): Likewise.
6482 (powx): New array.
6483 (powx_inv): Likewise.
6484 (poly): New const.
6485 (grub_raid_block_mul): Replace with ...
6486 (grub_raid_block_mulx): ...this.
6487 (grub_raid6_init_table): Rewritten.
6488 (grub_raid6_recover): Use power of generator representation.
6489
09e2763f
VS
64902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6493 for the right device.
6494
8bec9a28
VS
64952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6498 expected by grub-mkimage and it's more clear since there is no implicit
6499 padding.
6500
dbd3a32e
VS
65012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6504 disk.
6505 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6506
182c872a
PMH
65072011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6508
6509 * util/grub-mkrescue.in: Fix handling xorriso option.
6510
1e51cabd
VS
65112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6514 NULL.
6515
9cc3581d 65162011-11-03 crocket <crockabiscuit@gmail.com>
6517
6518 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6519
158dc1ea
VS
65202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 XZ CRC64 and SHA256 support.
6523
6524 * Makefile.util.def (libgrubmods): Add crc64.c.
6525 * grub-core/Makefile.core.def (crc64): New module.
6526 * grub-core/lib/crc64.c: New file.
6527 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6528 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6529 Fix the type.
6530 (MAX_HASH_SIZE): New define.
6531 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6532 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6533 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6534 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6535 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6536 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6537 Handle non-crc32 hashes.
6538 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6539 (dec_stream_header): Handle non-crc32 hashes.
6540 (dec_stream_footer): Likewise.
6541 (dec_block_header): Likewise.
6542 (dec_main): Likewise.
6543 (xz_dec_init): Likewise.
6544 (xz_dec_reset): Likewise.
6545 (xz_dec_end): Likewise.
6546 * util/import_gcry.py: Add CRC64 line.
6547
9d9b3d2f
VS
65482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6551 as well.
6552
7d0ac931
VS
65532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 Make reiserfs label retrieval similar to other *_label functions.
6556
6557 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6558 (REISERFS_MAX_LABEL_LENGTH): Removed.
6559 (REISERFS_LABEL_OFFSET): Likewise.
6560 (grub_reiserfs_label): Rewritten.
6561
65622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6565 field.
6566
cf5ba824
VS
65672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6570
17744004
VS
65712011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6574 drive failure on both raidz and raidz2.
6575
aca5aefc
VS
65762011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 Fix RAIDZ(2) for >= 5 devices.
6579
6580 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6581 asize argument. All users updated.
6582
ce8ca56e
VS
65832011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 Fix RAIDZ(2).
6586
6587 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6588 (fill_vdev_info_real): Set ashift.
6589 (read_device): Rewrite RAIDZ part based on reverse engineering.
6590
7c01e783
VS
65912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6594 don't report potentially unavialiable fields in debug output.
6595 (find_path): Fix double-free and memory leak.
6596
ce109e84
VS
65972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 Read label on UFS1.
6600
6601 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6602 (grub_ufs_fs): Always set .label.
6603
87661123
VS
66042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Use shifts in UFS.
6607
6608 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6609 (grub_ufs_data): New field log2_blksz.
6610 (grub_ufs_read_file): Use shifts.
6611 (grub_ufs_mount): Check block size and logarithm it.
6612
46bc1dc2
VS
66132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6616 long symlinks.
6617
19ee2987
VS
66182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Handle symlinks and long names on tar and cpio.
6621
6622 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6623 (ATTR_FILE): Likewise.
6624 (ATTR_DIR): Likewise.
6625 (ATTR_LNK): Likewise.
6626 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6627 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6628 L and K entries.
6629 (grub_cpio_mount): Zero-fill data.
6630 (handle_symlink): New function.
46bc1dc2
VS
6631 (grub_cpio_dir): Handle symlinks.
6632 (grub_cpio_open): Likewise.
6633 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6634
c83a08d8
VS
66352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 Fix iso9660 filename limitations and fix memory leaks.
6638
6639 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6640 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6641
45cdd3ea
VS
66422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 Fix JFS file name length limitations.
6645
6646 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6647 (grub_jfs_diropen): Fix maximum filename length.
6648 (grub_jfs_getent): Fix filename length.
6649 (grub_jfs_lookup_symlink): Fix size checks.
6650
94ef05c2
VS
66512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6654 string.
6655
785ab8c7
VS
66562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6657
eb0b6b45
VS
6658 Leverage BFS implementation to read AFS.
6659
6660 * Makefile.util.def (libgrubmods): Add afs.c.
6661 * grub-core/Makefile.core.def (afs): New module
6662 * grub-core/fs/afs.c: New file.
6663 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6664
66652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6668
c4a1628f
VS
66692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/fs/bfs.c: Run indent.
6672
5825b379
VS
66732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 BFS implementation based on the specification.
6676
6677 * grub-core/fs/bfs.c: New file.
6678 * Makefile.util.def (libgrubmods): Add bfs.c.
6679 * grub-core/Makefile.core.def (bfs): New module.
6680
42b2a706
VS
66812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * util/grub-fstest.c (cmd_cp): Clarify error message.
6684 (cmd_cmp): Likewise.
6685
61b99bfc
YB
66862011-10-30 Yves Blusseau <blusseau@zetam.org>
6687
6688 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6689 and befs_be.
6690
faba3d16
VS
66912011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 Remove afs and befs because of copyright problem.
6694
6695 * grub-core/fs/afs.c: Removed.
6696 * grub-core/fs/afs_be.c: Removed.
6697 * grub-core/fs/befs.c: Removed.
6698 * grub-core/fs/befs_be.c: Removed.
6699 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6700 * grub-core/Makefile.core.def (afs): Removed.
6701 (afs_be): Likewise.
6702 (befs): Likewise.
6703 (befs_be): Likewise.
6704
c39224b0
VS
67052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 Prefer rockridge over Joliet.
6708
6709 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6710 to ...
6711 (set_rockridge): ... here.
6712 (grub_iso9660_mount): Check rockridge on the primary label when
6713 discovering. Ignore Joliet if Rockridge is present.
6714
e551115a
VS
67152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Use shifts in nilfs2.
6718
6719 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6720 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6721 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6722 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6723 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6724 (grub_nilfs2_entries_per_block): Replaced with ...
6725 (grub_nilfs2_log_entries_per_block_log): ... this.
6726 (grub_nilfs2_blocks_per_group): Replaced with ...
6727 (grub_nilfs2_blocks_per_group_log): ... this.
6728 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6729 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6730 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6731 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6732 (grub_nilfs2_palloc_entry_offset): Replaced ...
6733 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6734 (grub_nilfs2_dat_translate): Use shifts.
6735 (grub_nilfs2_read_inode): Likewise.
6736 (GRUB_MOD_INIT): Ensure that logs are correct.
6737
564dd58c
VS
67382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Use shifts in minix filesystem.
6741
6742 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6743 (GRUB_MINIX_ZONE2SECT): Likewise.
6744 (grub_minix_data): Replace block_size with log_block_size.
6745 (grub_minix_read_file): Use shifts.
6746 (grub_minix_mount): Check block size and take a logarithm.
6747
ed9ba06d
VS
67482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 Use shifts in squash4.
6751
6752 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6753 (squash_mount): Check block size and take logarithm.
6754 (direct_read): Use shifts.
6755
ad03fe76
VS
67562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 Correct befs block counting logic.
6759
6760 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6761 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6762 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6763 (grub_afs_read_inode): Use block_shift.
6764 (RANGE_SHIFT): New definition.
6765 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6766 unexpected conditions, use shifts and appropriate types.
6767 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6768
6563f63d
VS
67692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/disk/raid.c (scan_devices): Check partition.
6772 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6773
5b1ae25f
VS
67742011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 Support BFS (befs) UUID.
6777
6778 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6779 (grub_afs_small_data_element_header): New struct.
6780 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6781 (grub_afs_read_attribute) [MODE_BFS]: New function.
6782 (grub_afs_iterate_dir): Allocate for complete inode.
6783 (grub_afs_mount): Likewise.
6784 (grub_afs_uuid) [MODE_BFS]: New function.
6785 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6786
f8d82408
VS
67872011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6790 (zfs_unmount): Fix memory leak.
6791
5773fb64
VS
67922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Support NTFS reparse points.
6795
6796 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6797 (symlink_descriptor): New struct.
6798 (grub_ntfs_read_symlink): New function.
6799 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6800 (grub_ntfs_open): Likewise.
6801
91c3fdde
VS
68022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6805
3be82e10
VS
68062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 fstest xnu_uuid subcommand.
6809
6810 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6811 grub-core/commands/xnu_uuid.c.
6812 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6813 (fstest): Handle xnu_uuid.
6814 (options): Document xnu_uuid.
6815 (argp_parser): Parse xnu_uuid.
6816
8e32442e
VS
68172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6820 -l argument. Add newline at the end if printing.
6821 (GRUB_MOD_INIT): Document -l.
6822
52a05075
VS
68232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6826
1869edb5
VS
68272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 ZFS multi-device and version 33 support.
6830
6831 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6832 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6833 (grub_zfs_data): Add multidev-ice-related fields.
6834 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6835 (dva_get_offset): Make dva const.
6836 (zfs_fetch_nvlist): New function.
6837 (fill_vdev_info_real): Likewise.
6838 (fill_vdev_info): Likewise.
6839 (check_pool_label): Likewise.
6840 (scan_disk): Likewise.
6841 (scan_devices): Likewise.
6842 (read_device): Likewise.
6843 (read_dva): Likewise.
6844 (zio_read_gang): Use read_dva.
6845 (zio_read_data): Likewise.
6846 (zap_leaf_lookup): Add missing endian conversion.
6847 (zap_verify): Add missing endian conversion. All users updated.
6848 (fzap_lookup): Likewise.
6849 (fzap_iterate): Likewise.
6850 (dnode_get_path): Handle SA bonus.
6851 (nvlist_find_value): Make input const. All users updated.
6852 (unmount_device): New function.
6853 (zfs_unmount): Use unmount_device.
6854 (zfs_mount): Use scan_disk.
6855 (zfs_mtime): New function.
6856 (grub_zfs_open): Handle system attributes.
6857 (fill_fs_info): Likewise.
6858 (grub_zfs_dir): Likewise.
6859 (grub_zfs_fs): Add mtime.
6860 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6861 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6862 (SA_MTIME_OFFSET): Likewise.
6863 (SA_SYMLINK_OFFSET): Likewise.
6864 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6865 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6866 (fstest): Support zfsinfo.
6867 (argp_parser): Likewise.
6868
186b4028
VS
68692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6872 error.
6873
68742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6875
6876 ZFS fixes.
6877
6878 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6879 sharing the same block. Iterate over correct number of indices.
6880 (dnode_get_path): Handle symlinks correctly.
6881
c0584900
VS
68822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6885
67e2bd71
VS
68862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 Read label on HFS+.
6889
6890 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6891 (grub_hfsplus_btree_search): Fix types.
6892 (grub_hfsplus_label): Implement.
6893
e9cc6b7b
VS
68942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6897
19832ddb
VS
68982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6901
66b40850
VS
69022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 Fix symlink handling on iso9660.
6905
6906 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6907 All users updated.
6908 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6909 (grub_iso9660_read_symlink): Moved most of code ...
6910 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6911
db821363
VS
69122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6915 Use union to avoid breaking strict-aliasing rules.
6916
e1211949
VS
69172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 Support multi-extent iso files.
6920
6921 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6922 Add node.
6923 (grub_fshelp_node): Revamp. All users updated.
6924 (FLAG_*): New enum.
6925 (read_node): New function.
6926 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6927 All users updated.
6928 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6929 (get_node_size): New function.
6930 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6931 entries.
6932 Fix memory leak on . and ..
6933 (grub_iso9660_read): Use read_node.
6934 (grub_iso9660_close): Free node.
6935
d4888031
VS
69362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Fix tar 4G limit and handle paths containing dot.
6939
6940 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6941 (canonicalize): New function.
6942 (grub_cpio_find_file): Use canonicalize. Store offs in
6943 grub_disk_addr_t.
6944 (grub_cpio_dir): Use grub_disk_addr_t.
6945 (grub_cpio_open): Likewise.
6946
9f12e664
VS
69472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6950
6951 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6952 unused flags.
6953 (grub_squash_inode): Add long_file and block_size.
6954 (grub_squash_cache_inode): New struct.
6955 (grub_squash_dirent): Make types into enum.
6956 (SQUASH_TYPE_LONG_REGULAR): New type.
6957 (grub_squash_frag_desc): Add field size.
6958 (SQUASH_BLOCK_FLAGS): New enum.
6959 (grub_squash_data): Use grub_squash_cache_inode.
6960 (grub_fshelp_node): Make ino_chunk 64-bit.
6961 (read_chunk): Minor argument change. All users updated.
6962 (squash_mount): Use correct le_to_cpu.
6963 (grub_squash_open): Handle LONG_REGULAR.
6964 (direct_read): New function.
6965 (grub_squash_read_data): Handle blocks correctly.
6966
9f326fba
VS
69672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6970
f4d9b64b
VS
69712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6974
5bbd28b8
VS
69752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Fix 2G limit on ZFS.
6978
6979 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6980 types.
6981 (uberblock_verify): Likewise.
6982 (dmu_read): Likewise.
6983 (grub_zfs_read): Likewise. Remove invalid cast.
6984
68c72069
VS
69852011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6988 (grub_jfs_blkno): Fix incorrect shift.
6989 (grub_jfs_read_file): Use more appropriate types.
6990
6e536dc8
VS
69912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 Support triple indirect on minix2 and minix3.
6994
6995 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6996 Declare triple_indir_zone.
6997 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6998 indirect.
6999
e0864e7a
VS
70002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Minix FS fixes.
7003
7004 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7005 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7006 Rename ctime to mtime. All users updated.
7007 (grub_minix_get_file_block): Fix types and double indirect computations.
7008
89481cab
VS
70092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7012 if no label is found.
7013 (grub_fat_iterate_dir): Fix file size type.
7014 (grub_fat_iterate_dir): Likewise.
7015
f646e143
VS
70162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7019 save some space.
7020 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7021 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7022
534d769e
VS
70232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7026
e084ba18
VS
70272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * util/import_gcry.py: Accept space between # and include.
7030
3471ecdf
VS
70312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7034
124df5f6
VS
70352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7038
7039 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7040 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7041 yylex_strncpy.
7042 * grub-core/script/yylex.l: Add fine-grained #pragma.
7043
4defb8d5
VS
70442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7047 New inline function.
7048 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7049 Likewise.
7050 (memset) [GRUB_UTIL]: Likewise.
7051 (memcmp) [GRUB_UTIL]: Likewise.
7052
4e94ae65
VS
70532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7056 inline function rather than a define.
7057
18c575e5
VS
70582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * util/grub-setup.c: Add missing include.
7061
f8bc22a8
VS
70622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * util/ieee1275/grub-ofpathname.c: Add missing include.
7065
3ce69fc9
VS
70662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7069 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7070 Likewise.
7071
d1e293bb
VS
70722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7075 grub_memcmp usage.
7076
7a5c54a4
VS
70772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * util/grub-install.in: Add datarootdir as per automake manual
7080 suggestion.
7081 * util/grub-mknetdir.in: Likewise.
7082
70832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7084
7085 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7086 suggestion.
7087 * util/grub.d/10_kfreebsd.in: Likewise.
7088 * util/grub.d/10_linux.in: Likewise.
7089 * util/grub.d/10_netbsd.in: Likewise.
7090 * util/grub.d/10_windows.in: Likewise.
7091 * util/grub.d/20_linux_xen.in: Likewise.
7092
766f7d08
VS
70932011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 Remove redundant grub_kernel_image_size.
7096
7097 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7098 _edata and _start.
7099 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7100 the small code. It moves it only by few bytes but simplifies the code.
7101 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7102 _start.
7103 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7104 (grub_kernel_image_size): Removed.
7105 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7106 (grub_kernel_image_size): Removed.
7107 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7108 compiled with Apple toolchain.
7109 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7110 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7111 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7112 (grub_total_module_size): Likewise.
7113 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7114 Removed.
7115 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7116 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7117 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7118 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7119 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7120 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7121 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7122 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7123 Removed.
7124 (grub_total_module_size): Removed.
7125 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7126 (image_targets): Likewise.
7127 Set .compressed_size to no field on sparc.
7128 (generate_image): Remove kernel_image_size handling.
7129
fcf1d672
SJ
71302011-10-19 Szymon Janc <szymon@janc.net.pl>
7131
7132 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7133 NULL pointer dereference.
7134
de9c615e
VS
71352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7138 done with a dedicated section.
7139
7140 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7141 Ensure the correct position of boot_path.
7142 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7143 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7144 other fields.
7145 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7146 * include/grub/boot.h: Removed. All references removed.
7147 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7148 Removed.
7149 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7150
e55599dc
VS
71512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7154 name.
7155
36dd20ad
VS
71562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7159
f8f72eb8
VS
71602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7163 Don't add the bogus brackets.
7164
a374751b
VS
71652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 ExFAT support.
7168
7169 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7170 * grub-core/Makefile.core.def (exfat): New module.
7171 * grub-core/fs/exfat.c: New file.
7172 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7173 (GRUB_FAT_ATTR_*): Make into an enum.
7174 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7175 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7176 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7177 (GRUB_FAT_MAXFILE): Removed.
7178 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7179 (grub_current_fat_bpb_t): New type.
7180 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7181 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7182 (grub_fat_dir_node_t): New type.
7183 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7184 (fat_log2) [MODE_EXFAT]: Removed.
7185 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7186 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7187 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7188 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7189 (grub_fat_label) [MODE_EXFAT]: New function.
7190 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7191 reserved_first_sector to 0.
7192
544c2487
VS
71932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Move grub_reboot out of the kernel.
7196
7197 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7198 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7199 * grub-core/lib/efi/reboot.c: ... here.
7200 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7201 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7202 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7203 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7204 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7205 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7206 * grub-core/lib/ieee1275/reboot.c: ... here.
7207 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7208 * grub-core/lib/mips/arc/reboot.c: ... here.
7209 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7210 * grub-core/lib/mips/loongson/reboot.c: ...here.
7211 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7212 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7213 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7214 * include/grub/i386/reboot.h: New file.
7215 * include/grub/mips/loongson/ec.h: Fix includes.
7216 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7217 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7218 * grub-core/lib/i386/reboot.c: New file.
7219
a97501d2
VS
72202011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Make grub_prefix into module to fix the arbitrary limit and save
7223 some space.
7224
7225 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7226 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7227 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7228 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7229 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7230 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7231 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7232 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7233 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7234 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7235 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7236 * include/grub/ia64/efi/kernel.h: Removed.
7237 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7238 (grub_prefix): Removed.
7239 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7240 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7241 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7242 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7243 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7244 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7245 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7246 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7247 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7248 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7249 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7250 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7251 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7252 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7253 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7254 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7255 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7256 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7257 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7258 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7259 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7260 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7261 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7262 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7263 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7264 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7265 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7266 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7267 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7268 from module.
7269 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7270 prefix_end.
7271 (image_targets): Likewise.
7272 (generate_image): Put prefix as a module.
7273
39705fad
VS
72742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 Replace grub_module_iterate with FOR_MODULES.
7277
7278 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7279 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7280 (grub_efi_modules_addr): ...this.
7281 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7282 (grub_efi_init): Set grub_modbase.
7283 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7284 (grub_modbase): New variable.
7285 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7286 (grub_modbase): New variable.
7287 (grub_machine_init): Set grub_modbase.
7288 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7289 (grub_modbase): New variable.
7290 (grub_machine_init): Set grub_modbase.
7291 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7292 (grub_modbase): New variable.
7293 (grub_machine_init): Set grub_modbase.
7294 * grub-core/kern/main.c (grub_module_iterate): Remove.
7295 (grub_modules_get_end): Use grub_modbase.
7296 (grub_load_modules): Use FOR_MODULES.
7297 (grub_load_config): Likewise.
7298 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7299 (grub_modbase): New variable.
7300 (grub_machine_init): Set grub_modbase.
7301 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7302 (grub_modbase): New variable.
7303 (grub_machine_init): Set grub_modbase.
7304 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7305 Removed.
7306 (grub_modbase): New variable.
7307 (grub_machine_init): Set grub_modbase.
7308 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7309 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7310 (grub_module_iterate): Likewise.
7311 (grub_modbase): New variable declaration.
7312 (FOR_MODULES): New macro.
7313
2afb7f6c
VS
73142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7317 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7318
366e34fa
VS
73192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Fix few obvious type discrepancies.
7322
7323 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7324 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7325 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7326 variable.
7327 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7328 and connected types.
7329 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7330 offset.
7331 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7332 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7333 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7334 and connected types.
7335
177b960e
VS
73362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 Fix python 3.x incompatibilities.
7339
7340 * gentpl.py: Put brackets around print strings.
7341 * util/import_gcry.py: Open explicitly as utf-8.
7342 Use in instead of has_key.
7343
3b619ae1
VS
73442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7347 (GRUB_XFS_INO_AGBITS): Make into inline function.
7348 (GRUB_XFS_INO_INOINAG): Likewise.
7349 (GRUB_XFS_INO_AG): Likewise.
7350 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7351 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7352 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7353 (GRUB_XFS_EXTENT_SIZE): Likewise.
7354 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7355 (GRUB_XFS_NEXT_DIRENT): Likewise.
7356 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7357 (grub_xfs_read_file): Fix offset type.
7358
8bcebcb8
RM
73592011-10-15 Robert Millan <rmh@gnu.org>
7360
7361 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7362
0017e5ef
RM
73632011-10-15 Robert Millan <rmh@gnu.org>
7364
7365 Fix build problem on FreeBSD and GNU/kFreeBSD.
7366
7367 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7368
d8919552
VS
73692011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7372
7373 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7374 types.
7375 (grub_hfsplus_btree_recoffset): Likewise.
7376 (grub_hfsplus_btree_recptr): Likewise.
7377 (grub_hfsplus_find_block): Likewise.
7378 (grub_hfsplus_btree_search): Likewise.
7379 (grub_hfsplus_read_block): Likewise.
7380 (grub_hfsplus_read_file): Likewise.
7381 (grub_hfsplus_mount): Likewise.
7382 (grub_hfsplus_btree_iterate_node): Likewise.
7383 (grub_hfsplus_btree_search): Likewise.
7384 (grub_hfsplus_iterate_dir): Likewise.
7385 (grub_hfsplus_read): A small code simplification.
7386
c81296b6
VS
73872011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/kern/emu/hostdisk.c
7390 (convert_system_partition_to_system_disk): Don't assume that children
7391 of mapper nodes are mapper nodes.
7392
0eb8ffb1
VS
73932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7396 * include/grub/misc.h (grub_isxdigit): New function.
7397 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7398 switched to grub_isxdigit.
7399 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7400 number starting with a letter.
7401
a98f4a08
RM
74022011-10-09 Robert Millan <rmh@gnu.org>
7403
7404 LVM support for FreeBSD and GNU/kFreeBSD.
7405
7406 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7407 GNU/kFreeBSD.
7408 (LVM_DEV_MAPPER_STRING): Move from here ...
7409 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7410 * util/getroot.c: Include `<grub/util/lvm.h>'.
7411 (grub_util_get_dev_abstraction): Enable
7412 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7413 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7414 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7415 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7416 support it.
7417 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7418 GNU/kFreeBSD.
7419 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7420 when LVM abstraction is required for ${GRUB_DEVICE}.
7421
050e8e90
SJ
74222011-10-06 Szymon Janc <szymon@janc.net.pl>
7423
7424 Add support for LZO compression in GRUB:
7425 - import of minilzo library,
7426 - LZO decompression for btrfs,
7427 - lzop files decompression.
7428
7429 * grub-core/io/lzopio.c: New file.
7430 * grub-core/lib/adler32.c: Likewise.
7431 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7432 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7433 * grub-core/lib/minilzo/minilzo.c: Likewise.
7434 * grub-core/lib/minilzo/minilzo.h: Likewise.
7435 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7436 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7437 grub-core/lib/minilzo/minilzo.c to common.
7438 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7439 cflags in cppflags.
7440 * grub-core/Makefile.core.def (btrfs): Likewise.
7441 * grub-core/Makefile.core.def (lzopio): New module.
7442 (adler32): Likewise.
7443 * grub-core/fs/btrfs.c: Include minilzo.h.
7444 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7445 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7446 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7447 (grub_btrfs_lzo_decompress): New function.
7448 (grub_btrfs_extent_read): Add support for LZO compression type.
7449 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7450 (GRUB_USHRT_MAX): Likewise.
7451 (GRUB_UINT_MAX): Likewise.
7452 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7453 (UINT_MAX): Likewise.
7454 (CHAR_BIT): Likewise.
7455 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7456 grub-core/lib/posix_wrap/limits.h
7457 (UCHAR_MAX): Likewise.
7458 * include/grub/file.h (grub_file_filter_id): New compression filter
7459 GRUB_FILE_FILTER_LZOPIO.
7460 * include/grub/file.h (grub_file_filter_id): Set
7461 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7462 * include/grub/types.h (grub_get_unaligned16): New function.
7463 (grub_get_unaligned32): Likewise.
7464 (grub_get_unaligned64): Likewise.
7465 * util/import_gcry.py (cryptolist): Add adler32.
7466
0eb8ffb1
VS
74672011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7470 in perspective decreases the complexity of build system and fixes
7471 compilation right now.
7472
ce79cc99 74732011-10-01 Ales Nesrsta <starous@volny.cz>
7474
7475 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7476 (fixed problem related to using UHCI with coreboot).
7477
8667a314
BC
74782011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7479
7480 * gentpl.py: Use Autogen macros so that the output template file
7481 (Makefile.tpl) size is reduced.
7482
fc5efcc0
MK
74832011-09-29 Mads Kiilerich <mads@kiilerich.com>
7484
7485 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7486 extra_dist.
7487
d1ab689d
ML
74882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7489
7490 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7491 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7492
c05de032
ML
74932011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7494
7495 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7496 _fullpath.
7497
cca7ccd8
ML
74982011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7499
7500 Remove extra declaration of sleep for mingw32.
7501
7502 * util/misc.c (sleep) [__MINGW32__]: Removed.
7503 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7504
e0b0dc83
GS
75052011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7506
7507 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7508 type and packname.
7509 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7510 Resurrected.
7511 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7512 (grub_netbsd_btinfo_bootwedge): New struct.
7513 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7514 New function.
7515 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7516
91a1a164
TH
75172011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7518
7519 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7520 loader.
7521
2ded951e
AB
75222011-09-28 Andreas Born <futur.andy@googlemail.com>
7523
7524 Fix incorrect identifiers in bash-completion.
7525
7526 * util/bash-completion.d/grub-completion.bash.in
7527 (_grub_mkpasswd-pbkdf2): Rename to ...
7528 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7529 (_grub_script-check): Rename to ...
7530 (_grub_script_check): ... this. All users updated.
7531
69915030
VS
75322011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7535 Return 0 if disk isn't biosdisk.
7536
20fd15f9
GS
75372011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7538
7539 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7540 on NetBSD.
7541 * Makefile.util.def (grub-fstest): Likewise.
7542
1a7d7db9
GS
75432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7544
7545 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7546 Get sector size from disk label.
7547
2221ab6c
CW
75482011-09-05 Colin Watson <cjwatson@ubuntu.com>
7549
7550 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7551 */README* as well as README*.
7552 Reported by: Axel Beckert.
7553
ca51c4a0
VS
75542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7557 case of less than 256 MiB of RAM.
7558
ab80f326
VS
75592011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/commands/wildcard.c (make_regex): Handle @.
7562
4155e697
VS
75632011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7566
ab178c08
SJ
75672011-08-21 Szymon Janc <szymon@janc.net.pl>
7568
7569 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7570 AC_LANG_CONFTEST macros.
7571
7dc3c686
SJ
75722011-08-20 Szymon Janc <szymon@janc.net.pl>
7573
7574 Add grub-fstest option to uncompress data for commands.
7575
7576 * util/grub-fstest.c (uncompress): New var.
7577 (options): New option -u.
7578
fe8d4a7b
SJ
75792011-08-20 Szymon Janc <szymon@janc.net.pl>
7580
7581 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7582 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7583
a5219af1
SJ
75842011-08-20 Szymon Janc <szymon@janc.net.pl>
7585
7586 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7587 file type was not recognized correctly (not gzip or corrupted).
7588
f87abff5
VS
75892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7592 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7593
d94497ea
VS
75942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7597 loongson.
7598 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7599 video_radeon_fuloong2e.
7600 * grub-core/video/radeon_fuloong2e.c: New file.
7601 * include/grub/video.h (grub_video_id_t): Add new ID
7602 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7603
0d1fd011
VS
76042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7607 define.
7608 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7609 that PRID matches the detected subplatform and reset the subplatform
7610 if it doesn't.
7611
84beb0ee
VS
76122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7615
1227c133
VS
76162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 Fix PCI iterating on functions >= 4.
7619
7620 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7621 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7622 Removed.
7623 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7624 (grub_pci_read): Fix bitmask.
7625 (grub_pci_read_word): Likewise.
7626 (grub_pci_read_byte): Likewise.
7627 (grub_pci_write): Likewise.
7628 (grub_pci_write_word): Likewise.
7629 (grub_pci_write_byte): Likewise.
7630
9594c689
VS
76312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7634 can still be specified in TARGET_CFLAGS)
7635
14a2562c
VS
76362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7639
7640 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7641 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7642 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7643 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7644 (FULOONG): Rename to ...
7645 (FULOONG2F): ... this. All users updated.
7646 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7647 (machtype_fuloong2f_str): ... this.
7648 (machtype_fuloong2e_str): New string.
7649 Check for machtype_fuloong2e_str.
7650 * grub-core/loader/mips/linux.c (loongson_machtypes)
7651 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7652 * grub-core/term/serial.c (loongson_defserial)
7653 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7654 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7655 loongson_defserial.
7656 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7657 Rename to ...
7658 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7659 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7660 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7661 to IMAGE_FULOONG2F_FLASH. All users updated.
7662 (image_targets): Rename images.
7663 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7664
b526cbb6
SJ
76652011-08-19 Szymon Janc <szymon@janc.net.pl>
7666
7667 Make enable of disk cache statistics code configurable.
7668
7669 * configure.ac: --enable-cache-stats added.
7670 * config.h.in (DISK_CACHE_STATS): New define.
7671 * grub-core/Makefile.core.def (cacheinfo): New command.
7672 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7673 * grub-core/commands/cacheinfo.c: New file.
7674 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7675 moved to cacheinfo.c.
7676 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7677 debug code.
7678 * include/grub/disk.h: Likewise.
7679
fb739ccd
SJ
76802011-08-19 Szymon Janc <szymon@janc.net.pl>
7681
7682 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7683 * grub-core/Makefile.am: Likewise.
7684
2bba8cfd
VS
76852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7688 non-zero pull.
7689
43526629
VS
76902011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7693 All users updated.
7694 (grub_jfs_lookup_symlink): Use correct starting inode.
7695
5c144cc8
VS
76962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * util/grub-setup.c (main): Add missing gcry initialisation.
7699
b1257f65
VS
77002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Don't accept text modes on EFI when booting Linux.
7703
7704 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7705 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7706
828bc390
ML
77072011-08-15 Mario Limonciello <mario_limonciello@dell.com>
77082011-08-15 Colin Watson <cjwatson@ubuntu.com>
7709
7710 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7711 use of "/path/.." as in grub-install for EFI as well as handling
7712 symlinks correctly.
7713 Fixes Debian bug #637768.
7714
5f60ccac
CW
77152011-08-15 Colin Watson <cjwatson@ubuntu.com>
7716
7717 * util/grub-probe.c: Remove duplicate #include.
7718
6dc212f9
RM
77192011-08-10 Robert Millan <rmh@gnu.org>
7720
7721 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7722
7723 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7724 function.
7725 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7726 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7727
66816d85
RM
77282011-08-03 Robert Millan <rmh@gnu.org>
7729
7730 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7731 la_array as packed.
7732 Reported by: Zachary Bedell
7733
20168fca
CW
77342011-07-26 Colin Watson <cjwatson@ubuntu.com>
7735
7736 * configure.ac: The Loongson port requires grub-mkfont due to its
7737 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7738 be built.
7739
303b6246
CW
77402011-07-26 Colin Watson <cjwatson@ubuntu.com>
7741
7742 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7743 processing arguments (otherwise help2man fails when GRUB has not yet
7744 been installed).
7745
6795300e
VS
77462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7747
41aa28ea
VS
7748 New script grub-mkstandalone.
7749
7750 * Makefile.util.def (grub-mkstandalone): New script.
7751 * docs/man/grub-mkstandalone.h2m: New file.
7752 * util/grub-mkstandalone.in: Likewise.
7753
77542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 Support ATA disks with 4K sectors.
6795300e
VS
7757
7758 * include/grub/ata.h (grub_ata): New member log_sector_size.
7759 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7760 (grub_ata_identify): Read sector size.
7761 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7762
92227597
VS
77632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * util/grub-install.in: Don't use uhci outside of x86.
7766
c77069f5
VS
77672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * util/grub-mkrescue.in: Add missing quotes.
7770
77712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7772
7773 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7774 dereference.
7775
583168a2
VS
77762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7779
6be1c01f
VS
77802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 * include/grub/video.h: add missing EXPORT_FUND on
7783 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7784
a1167439
VS
77852011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * include/grub/mips/kernel.h: Fix define conflict.
7788
bf66054f
VS
77892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7792 all four ways.
7793
8fc4fa45
CW
77942011-07-21 Colin Watson <cjwatson@ubuntu.com>
7795
7796 Preferred resolution detection for VBE.
7797
7798 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7799 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7800 the Flat Panel extension, in line with the X.org VESA driver.
7801 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7802 New function.
7803 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7804 (grub_vbe_bios_read_edid): Likewise.
7805 (grub_vbe_get_preferred_mode): Likewise.
7806 (grub_video_vbe_setup): When the mode is "auto", try to get the
7807 preferred mode from VBE, and use the largest mode that is no larger
7808 than the preferred mode (some BIOSes expose a preferred mode that is
7809 not in their mode list!). If this fails, fall back to 640x480 as a
7810 safe conservative choice.
7811 (grub_video_vbe_get_edid): New function.
7812 (grub_video_vbe_adapter): Add get_edid.
7813 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7814 (struct grub_video_adapter): Add get_edid.
7815 (grub_video_edid_checksum): Add prototype.
7816 (grub_video_edid_preferred_mode): Likewise.
7817 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7818 structure.
7819
7820 * grub-core/commands/videoinfo.c (print_edid): New function.
7821 (grub_cmd_videoinfo): Print EDID if available.
7822
7823 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7824 is more appropriate on a wider range of platforms than 640x480.
7825 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7826 documentation.
7827
ca5572a9
VS
78282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7831
e4bcf625
VS
78322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * po/POTFILES.in: Regenerate.
7835
c4edd548
VS
78362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7839 incorrect memory usage.
7840
16a2bab0
VS
78412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * util/grub-install.in: Source grub-mkconfig_lib.
7844
2e418de6
VS
78452011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Remove getroot.c from core on emu platform.
7848
7849 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7850 kern/emu/raid.c.
7851 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7852 useless.
7853 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7854 * util/getroot.c (get_win32_path): ... here.
7855 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7856 * util/getroot.c (fini_libzfs): ... here.
7857 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7858 * util/getroot.c (grub_get_libzfs_handle): ... here.
7859 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7860 Moved from here...
7861 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7862 * grub-core/kern/emu/misc.c
7863 (grub_make_system_path_relative_to_its_root): Moved from here...
7864 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7865 * grub-core/kern/emu/getroot.c: Moved from here ...
7866 * util/getroot.c: ... here. All users updated.
7867 * grub-core/kern/emu/raid.c: Moved from here ...
7868 * util/raid.c: ... here. All users updated.
7869
def9832a
VS
78702011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * po/POTFILES.in: Regenerate.
7873
cd8fe79a
VS
78742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 Fix compilation on GNU/Linux.
7877
7878 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7879 Disable geli.
7880 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7881 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7882 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7883
a251b719
VS
78842011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
78852011-07-07 Michael Gorven <michael@gorven.za.net>
78862011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7887
7888 LUKS and GELI support.
7889
7890 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7891 grub-core/disk/luks.c, grub-core/disk/geli.c,
7892 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7893 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7894 grub-core/lib/arg.c.
7895 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7896 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7897 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7898 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7899 (grub-bin2h): Add libgcry.a.
7900 (grub-mkimage): Likewise.
7901 (grub-mkrelpath): Likewise.
7902 (grub-script-check): Likewise.
7903 (grub-editenv): Likewise.
7904 (grub-mkpasswd-pbkdf2): Likewise.
7905 (grub-pe2elf): Likewise.
7906 (grub-fstest): Likewise.
7907 (grub-mkfont): Likewise.
7908 (grub-mkdevicemap): Likewise.
7909 (grub-probe): Likewise.
7910 (grub-ofpath): Likewise.
7911 (grub-mklayout): Likewise.
7912 (example_unit_test): Likewise.
7913 (grub-menulst2cfg): Likewise.
7914 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7915 * grub-core/Makefile.core.def (cryptodisk): New module.
7916 (luks): Likewise.
7917 (geli): Likewise.
7918 * grub-core/disk/AFSplitter.c: New file.
7919 * grub-core/disk/cryptodisk.c: Likewise.
7920 * grub-core/disk/geli.c: Likewise.
7921 * grub-core/disk/luks.c: Likewise.
7922 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7923 grub_util_is_lvm.
7924 (grub_util_get_dm_abstraction): New function.
7925 (grub_util_follow_gpart_up): Likewise.
7926 (grub_util_get_geom_abstraction): Likewise.
7927 (grub_util_get_dev_abstraction): Use new functions.
7928 (grub_util_pull_device): Pull GELI and LUKS.
7929 (grub_util_get_grub_dev): Handle LUKS and GELI.
7930 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7931 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7932 (follow_geom_up): Removed.
7933 (grub_util_fd_seek): New function.
7934 (open_device): Use grub_util_fd_seek.
7935 (nread): Rename to ..
7936 (grub_util_fd_read): ... this. All users updated.
7937 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7938 (grub_crypto_cbc_decrypt): Likewise.
7939 (grub_crypto_hmac_write): Likewise.
7940 (grub_crypto_hmac_buffer): Likewise.
7941 (grub_password_get): Extend to util.
7942 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7943 New member modname.
7944 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7945 * include/grub/cryptodisk.h: New file.
7946 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7947 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7948 LUKS and GELI.
7949 (grub_util_follow_gpart_up): New proto.
7950 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7951 (grub_util_fd_read): Likewise.
7952 (grub_cryptodisk_cheat_mount): Likewise.
7953 (grub_util_cryptodisk_print_uuid): Likewise.
7954 (grub_util_get_fd_sectors): Likewise.
7955 * util/grub-fstest.c (mount_crypt): New var.
7956 (fstest): Mount crypto if requested.
7957 (options): New option -C.
7958 (argp_parser): Parse -C.
7959 (main): Init and fini gcry.
7960 * util/grub-install.in: Support cryptodisk install.
7961 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7962 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7963 cryptodisk.
7964 (prepare_grub_to_access_device): Likewise.
7965 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7966 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7967 (probe_cryptodisk_uuid): New function.
7968 (probe_abstraction): Likewise.
7969 (probe): Use new functions.
7970 * util/import_gcry.py: Create Makefile.utilgcry.def.
7971 Add modname member.
7972
9bfdcbbc
VS
79732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 Lazy device scanning.
7976
7977 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7978 (grub-setup): Remove util/raid.c.
7979 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7980 * grub-core/disk/lvm.c (scan_depth): New variable.
7981 (grub_lvm_iterate): Rescan if necessary.
7982 (find_lv): New function based on grub_lvm_open.
7983 (grub_lvm_open): Use find_lv. Rescan on error.
7984 (is_node_readable): New function.
7985 (is_lv_readable): Likewise.
7986 (grub_lvm_scan_device): Skip already found disks.
7987 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7988 Stop if searched device is found and readable.
7989 * grub-core/disk/raid.c (inscnt): New variable.
7990 (scan_depth): Likewise.
7991 (scan_devices): New function based on grub_raid_register. Abort if
7992 looked for device is found.
7993 (grub_raid_iterate): Rescan if needed.
7994 (find_array): NEw function based on -grub_raid_open.
7995 (grub_raid_open): Use find_array and rescan.
7996 (insert_array): Set became_readable_at.
7997 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7998 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7999 New function.
8000 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8001 (grub_util_pull_device): New function.
8002 (grub_util_get_grub_dev): Call grub_util_pull_device.
8003 * util/raid.c: Moved to ..
8004 * grub-core/kern/emu/raid.c: ... here.
8005 (grub_util_raid_getmembers): New parameter "bootable".
8006 All users updated. Support 1.x.
8007 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8008 All users updated.
8009 * include/grub/disk.h (grub_disk_pull_t): New enum.
8010 (grub_disk_dev): Change iterate prototype.
8011 All users updated.
8012 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8013 New proto.
8014 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8015 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8016 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8017 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8018 All users updated.
8019 * include/grub/util/raid.h: Removed.
8020
1c358e59
VS
80212011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * po/POTFILES.in: Regenerate.
8024
abee94ed
VS
80252011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 Unify sparc init with other ieee1275.
8028
8029 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8030 instead of kern/sparc64/ieee1275/init.c.
8031 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8032 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8033 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8034 grub/machine/kernel.h.
8035 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8036 (grub_claim_heap) [__sparc__]: Use sparc version.
8037 (grub_machine_init): Moved args parsing to
8038 (grub_parse_cmdline): ...this.
8039 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8040 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8041 New definition.
8042 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8043
8044 Move BOOTP to separate file.
8045
8046 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8047 * grub-core/net/net.c: Move all BOOTP functions to
8048 * grub-core/net/bootp.c: ... here.
8049
8050 Use frame interface on PXE.
8051
8052 * grub-core/Makefile.core.def (pxecmd): Removed.
8053 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8054 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8055 * grub-core/i386/pc/pxe.c: Moved from here ...
8056 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8057 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8058 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8059
8060 EFI network support.
8061
8062 * grub-core/Makefile.core.def (efinet): New module.
8063 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8064 here...
8065 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8066 All users updated.
8067 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8068 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8069 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8070 * grub-core/net/drivers/efi/efinet.c: New file.
8071 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8072 (grub_efi_net_config): New extern var.
8073
8074 Various cleanups and bugfixes.
8075
8076 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8077 error.
8078 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8079 disk declared as partition.
8080 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8081 leak on failure.
8082 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8083 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8084 (grub_debug_zalloc): Likewise.
8085 (grub_debug_realloc): Likewise.
8086 (grub_debug_memalign): Likewise.
8087 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8088 Check that target is IPv4.
8089 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8090 local-mac-address as fallback.
8091 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8092 memory leak.
8093 * grub-core/net/ip.c (ipchksum): Rename to ...
8094 (grub_net_ip_chksum): ... this. All users updated.
8095 (grub_net_recv_ip_packets): Special handling for DHCP.
8096 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8097
8098 Unify prefix handling
8099
8100 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8101 (grub_machine_get_bootlocation): ... this.
8102 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8103 (grub_machine_get_bootlocation): ... this.
8104 (grub_prefix): New variable.
8105 (prefix): Removed.
8106 (root_dev): New variable.
8107 (dir): Likewise.
8108 (main): Use new variables.
8109 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8110 Revamped into ...
8111 (grub_machine_get_bootlocation): ... this.
8112 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8113 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8114 (grub_machine_get_bootlocation): ... this.
8115 (grub_machine_set_prefix): Removed.
8116 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8117 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8118 Revamped into ...
8119 (grub_machine_get_bootlocation): ... this.
8120 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8121 (grub_set_prefix_and_root): ... this. All users updated.
8122 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8123 Revamped into ...
8124 (grub_machine_get_bootlocation): ... this.
8125 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8126 (grub_machine_get_bootlocation): New proto.
8127 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8128
8129 Less intrusive and more reliable seek on network implementation.
8130
8131 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8132 (grub_file_seek): Don't call grub_file_net_seek.
8133 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8134 (grub_net_fs_read_real): .. this.
8135 (grub_net_seek_real): Use net->offset.
8136 (grub_net_fs_read): Seek if necessary.
8137
8138 Unify IEEE1275 netwotk config with the other platforms.
8139
8140 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8141 New variable.
8142 (grub_machine_get_bootlocation): Support network.
8143 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8144 Support type and device parsing.
8145 (grub_ieee1275_get_device_type): New function.
8146 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8147 into ...
8148 (grub_ieee1275_net_config_real): ... this.
8149 (grub_ofnet_probecards): Removed.
8150 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8151 * include/grub/ieee1275/ofnet.h: Removed.
8152 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8153 extern var.
8154 (grub_ieee1275_get_device_type): New function.
8155
8156 Unify network device closing across platforms and make more robust.
8157
8158 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8159 grub_grubnet_fini.
8160 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8161 already.
8162 * grub-core/net/net.c (grub_net_network_level_interface_register):
8163 Update num_ifaces.
8164 (grub_net_card_unregister): Close all interfaces.
8165 (receive_packets): Don't poll if no iterfaces are registered.
8166 Open if necessary.
8167 (grub_net_fini_hw): New function.
8168 (grub_net_restore_hw): Likewise.
8169 (fini_hnd): New variable.
8170 (GRUB_MOD_INIT): Register preboot hook.
8171 (GRUB_MOD_FINI): Run and unregister preboot hook.
8172
8173 Poll network cards when idle.
8174
8175 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8176 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8177 * grub-core/net/net.c (receive_packets): Save last poll time.
8178 (grub_net_poll_cards_idle_real): New function.
8179 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8180 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8181 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8182
8183 Rename ofnet interfaces.
8184
8185 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8186 (grub_ofnet_findcards): Use ofnet_%s names.
8187
8188 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8189
8190 Cleanup socket opening.
8191
8192 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8193 (grub_net_fs_close): Likewise.
8194 (grub_net_fs_read_real): Use eof member.
8195 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8196 (+grub_net_udp_close): New inline function.
8197
8198 * include/grub/net/tftp.h: Moved to the top of ...
8199 * grub-core/net/tftp.c: ... here.
8200 * include/grub/net/ip.h: Moved mostly to the top of ...
8201 * grub-core/net/ip.c: ... here.
8202 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8203 * grub-core/net/ethernet.c: ... here.
8204
8205 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8206
8207 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8208 FS name.
8209
8210 * include/grub/net/ip.h (ipv4_ini): Removed.
8211 (ipv4_fini): Likewise.
8212
8213 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8214 (grub_net_send_ip_packets): Likewise.
8215
cf1337aa
VS
82162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8219 grub_read_cmos prototype.
8220
93c06ff9
VS
82212011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 VGA text support in qemu-mips
8224
8225 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8226 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8227 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8228 text.
8229 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8230 * grub-core/kern/vga_init.c: ... this.
8231 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8232 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8233 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8234 Adjust.
8235 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8236 GRUB_MACHINE_PCI_IO_BASE.
8237
748ccabe
VS
82382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 MIPS qemu flash support.
8241
8242 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8243 magic.
8244 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8245 (grub_machine_init): Probe memory if its size isn't known.
8246 * util/grub-mkimage.c (image_targets): Add flash targets.
8247 (generate_image): Handle flash targets.
8248
d7345994
VS
82492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 MIPS qemu at_keyboard support.
8252
8253 * gentpl.py (videoinkernel): Add qemu-mips.
8254 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8255 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8256 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8257 modules.
8258 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8259 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8260 * grub-core/term/serial.c (grub_serial_register)
8261 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8262
a07a81b3
VS
82632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 CMOS support on sparc.
8266
8267 * gentpl.py (cmos): Add powerpc and sparc.
8268 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8269 powerpc and sparc.
8270 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8271 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8272 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8273 grub_set_datetime_cmos.
8274 * grub-core/lib/ieee1275/cmos.c: New file.
8275 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8276 (find_rtc): Set no_ieee1275_rtc on error.
8277 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8278 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8279 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8280 fail. Move value to argument. All users updated
8281 (grub_cmos_write): Likewise.
8282 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8283 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8284 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8285 grub_get_datetime_cmos and grub_set_datetime_cmos.
8286
77546584
GS
82872011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8288
8289 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8290 sourcing grub-mkconfig_lib.
8291 * util/update-grub_lib.in: Likewise.
8292 * util/grub.d/00_header.in: Likewise.
8293 * util/grub.d/10_hurd.in: Likewise.
8294 * util/grub.d/10_kfreebsd.in: Likewise.
8295 * util/grub.d/10_linux.in: Likewise.
8296 * util/grub.d/10_netbsd.in: Likewise.
8297 * util/grub.d/10_windows.in: Likewise.
8298 * util/grub.d/20_linux_xen.in: Likewise.
8299 * util/grub.d/30_os-prober.in: Likewise.
8300
54894791
CW
83012011-06-28 Colin Watson <cjwatson@ubuntu.com>
8302
8303 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8304 default_bg_color rather than black.
8305 (grub_gfxterm_fullscreen): Likewise.
8306 (grub_gfxterm_background_color_cmd): Save new background color in
8307 default_bg_color.
8308
8d5d8444
VS
83092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8312
5afeb5bd
VS
83132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8316 mismerge.
8317
ba7df45e
VS
83182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Chainloading on coreboot support.
8321
8322 * grub-core/Makefile.core.def (chain): Add coreboot.
8323 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8324
d0b526b2
VS
83252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8328 if it happens.
8329
5ff1d945
VS
83302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Implement time command.
8333
8334 * grub-core/Makefile.core.def (time): New module.
8335 * grub-core/commands/time.c: New file.
8336 * grub-core/script/parser.y: Remove "time" keyword.
8337 * grub-core/script/yylex.l: Likewise.
8338
5ebaad7e
VS
83392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8342
bdea3798
VS
83432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8346 when handling leftovers.
8347
b28c5655
VS
83482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8351 so that help2man doesn't fail.
8352
b6f945dc
VS
83532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8356 type in pointers on sparc64.
8357 (get_card_packet): Likewise.
8358
f9b75e8a
CW
83592011-06-27 Colin Watson <cjwatson@ubuntu.com>
8360
8361 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8362 with `*'.
8363 (grub_cmd_videoinfo): Fetch current video mode.
8364
1e3d9b86
VS
83652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8368 because of underlying system restrictions.
8369
efff4b1c
VS
83702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8373 necessary.
8374
9fc9ce37
VS
83752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Coreboot video support.
8378
8379 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8380 (vbe): Likewise.
8381 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8382 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8383 here ...
8384 * grub-core/kern/i386/int.S: ... here.
8385 * grub-core/video/i386/pc/vbe.c: Updated includes.
8386 * grub-core/video/i386/pc/vga.c: Likewise.
8387 * include/grub/i386/coreboot/memory.h
8388 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8389 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8390 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8391 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8392 Disable interrupts.
8393 * include/grub/i386/pc/vga.h: Removed. All users updated.
8394
41bec7fe
VS
83952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8398 definitions for dprintf.
8399 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8400
ca80309d
VS
84012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8404 prototype.
8405 (get_card_packet): Likewise.
8406
9e322ce8
YB
84072011-06-26 Yves Blusseau <blusseau@zetam.org>
8408
8409 Display the path of the file when file is not found
8410
8411 * grub-core/fs/fat.c: Display the filename when file is not found.
8412 * grub-core/fs/fshelp.c: Likewise.
8413 * grub-core/fs/hfs.c: Likewise.
8414 * grub-core/fs/jfs.c: Likewise.
8415 * grub-core/fs/minix.c: Likewise.
8416 * grub-core/fs/ufs.c: Likewise.
8417 * grub-core/fs/btrfs.c: Likewise.
8418 * grub-core/commands/i386/pc/play.c: Likewise.
8419
cbf597af
SJ
84202011-06-26 Szymon Janc <szymon@janc.net.pl>
8421
8422 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8423 pointer checks before calling grub_free().
8424 * grub-core/commands/wildcard.c (match_devices): Likewise.
8425 * grub-core/commands/wildcard.c (match_files): Likewise.
8426 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8427 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8428 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8429 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8430 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8431 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8432 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8433 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8434 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8435
6295b32f
P
84362011-06-25 Patrick <p55@mailinator.com>
8437
8438 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8439
77c0840b
VS
84402011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8443 (grub_pxe_send): Likewise.
8444 (GRUB_MOD_INIT): Fix types.
8445
40ea05de
SJ
84462011-06-24 Szymon Janc <szymon@janc.net.pl>
8447
8448 * grub-core/io/xzio.c: Fix code style issues
8449
90162423
MRA
84502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
84512011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8452
8453 Network infrastructure.
8454 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8455
8456 * include/grub/net/arp.h: New file.
90162423
MRA
8457 * include/grub/net/device.h: Likewise.
8458 * include/grub/net/ethernet.h: Likewise.
8459 * include/grub/net/ip.h: Likewise.
8460 * include/grub/net/netbuff.h: Likewise.
8461 * include/grub/net/tftp.h: Likewise.
8462 * include/grub/net/udp.h: Likewise.
8463 * include/grub/ieee1275/ofnet.h: Likewise.
8464 * include/grub/emu/export.h: Likewise.
8465 * include/grub/net.h: Likewise.
8466 * grub-core/net/arp.c: Likewise.
8467 * grub-core/net/ethernet.c: Likewise.
8468 * grub-core/net/ip.c: Likewise.
8469 * grub-core/net/udp.c: Likewise.
8470 * grub-core/net/tftp.c: Likewise.
8471 * grub-core/net/netbuff.c: Likewise.
8472 * grub-core/net/net.c: Likewise.
8473 * grub-core/net/drivers/emu/emunet.c: Likewise.
8474 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8475 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8476 export.h.
8477 * grub-core/Makefile.core.def (net): New module.
8478 (tftp): Likewise.
8479 (ofnet): Likewise.
8480 (emunet): Likewise.
8481 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8482 network protocols.
8483 * grub-core/kern/device.c (grub_net_open) : New variable.
8484 (grub_device_open): Handle network device.
8485 (grub_device_close): Likewise.
8486 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8487 (grub_grubnet_fini): Likewise.
8488 (grub_file_seek): Seek in network device.
8489 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8490 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8491 network root.
8492 (grub_machine_fini): Call grub_grubnet_fini.
8493 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8494 network.
8495 (grub_ieee1275_get_aliasdevname): New function.
8496 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8497 Add unofficial Solaris network info.
8498 (grub_multiboot_make_mbi): Likewise.
8499 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8500 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8501 * include/grub/device.h (grub_fs): Removed.
8502 * include/grub/err.h (grub_err_t): Add network-related values.
8503 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8504 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8505 (grub_ieee1275_get_aliasdevname): New proto.
8506 * include/grub/net.h: Rewritten.
423a1849 8507
031f22a0
VS
85082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8511 names.
8512
4388ca72
VS
85132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8516 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8517 it truncates the output.
8518 Reported by: Ximin Luo.
8519
98e2f506
VS
85202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8523
2a5e94d8
VS
85242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8527 partmap before abstraction.
8528
535c1910
AK
85292011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8530
8531 * util/grub-mkconfig_lib.in: Add missing quotes.
8532
bc09e1a2
VS
85332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8536 old method if mountinfo would return /dev/root and /dev/root doesn't
8537 exist.
8538
290766fb
VS
85392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 ZFS zlib support
8542
8543 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8544 (decomp_table): Add zlib entries.
8545 (zio_read): USe 8 bits for compression function rather than 3.
8546 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8547
85482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/disk/ahci.c: Add missing license statements.
8551 * grub-core/fs/romfs.c: Likewise.
8552 * grub-core/lib/ia64/setjmp.S: Likewise.
8553 * grub-core/loader/i386/pc/freedos.c: Likewise.
8554 * grub-core/loader/ia64/efi/linux.c: Likewise.
8555 * grub-core/video/colors.c: Likewise.
8556 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8557
5ab3f48a
VS
85582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 AHCI support.
8561
8562 * grub-core/Makefile.core.def (ata_pthru): Removed.
8563 (ahci): New module.
8564 (pata): Likewise.
8565 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8566 on unload.
8567 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8568 readwrite.
8569 (grub_hdparm_do_check_powermode_cmd): Likewise.
8570 (grub_hdparm_do_smart_cmd): Likewise.
8571 (grub_hdparm_set_val_cmd): Likewise.
8572 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8573 * grub-core/disk/ahci.c: New file.
8574 * grub-core/disk/ata.c: Factor out the low-level part into ...
8575 * grub-core/disk/pata.c: ... here.
8576 * grub-core/disk/ata_pthru.c: Contents moved to ...
8577 * grub-core/disk/pata.c: ... here.
8578 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8579 (grub_scsi_iterate): Use grub_scsi_names.
8580 (grub_scsi_open): Likewise.
8581 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8582 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8583 (grub_ata_regs_t): New struct.
8584 (grub_disk_ata_pass_through_parms): Likewise.
8585 (grub_ata_device): Renamed to ...
8586 (grub_ata): ... this.
8587 (grub_ata_dev): New struct.
8588 Removed all low-level inline functions.
8589 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8590 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8591 iterate hooks and open. All users updated.
8592 * util/grub-install.in: Handle AHCI disk module.
8593
c31dc5f5
SJ
85942011-06-23 Szymon Janc <szymon@janc.net.pl>
8595
8596 Add support for DRI and RSTn markers in JPEG files.
8597
8598 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8599 (JPEG_MARKER_RST0): Likewise.
8600 (JPEG_MARKER_RST1): Likewise.
8601 (JPEG_MARKER_RST2): Likewise.
8602 (JPEG_MARKER_RST3): Likewise.
8603 (JPEG_MARKER_RST4): Likewise.
8604 (JPEG_MARKER_RST5): Likewise.
8605 (JPEG_MARKER_RST6): Likewise.
8606 (JPEG_MARKER_RST7): Likewise.
8607 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8608 (grub_jpeg_decode_dri): New function.
8609 (grub_jpeg_decode_sos): Move image data related part into
8610 grub_jpeg_decode_data function.
8611 (grub_jpeg_decode_data): New function.
8612 (grub_jpeg_reset): New function.
8613 (grub_jpeg_decode_jpeg): Handle new markers.
8614
fe12fd5b
VS
86152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * util/ieee1275/ofpath.c (check_sas): Close fd.
8618 (main): Free of_path.
8619 Reported by: David Volgyes <dvolgyes>.
8620
03147f46
VS
86212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8624 Reported by: David Volgyes <dvolgyes>.
8625
cad3237f
VS
86262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8629 file after stat.
8630 Reported by: David Volgyes <dvolgyes>.
8631
13548d26
VS
86322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8635
8636 Reported by: David Volgyes <dvolgyes>.
8637
e061a1b5
VS
86382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8641 Prevent memory leak.
8642
1abe47dc
VS
86432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8646 (main): Close file.
e061a1b5 8647 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8648
fbc62666
VS
86492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8652 to continue if allocation is failed.
8653
8654 Reported by: David Volgyes <dvolgyes>.
8655
e98c83e9
DV
86562011-06-23 David Volgyes <dvolgyes>
8657
8658 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8659 dereference.
8660
a199a8cd
VS
86612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 Fix spurious warning.
8664
8665 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8666 (acorn_partition_map_find): Use .bin member.
8667
e2d1dba0
VS
86682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8671 /dev/root as a valid device.
8672
8a5d6919
JM
86732011-06-23 Jim Meyering <meyering@redhat.com>
8674
e2d1dba0
VS
8675 Avoid NULL deref in grub_device_open.
8676
8a5d6919
JM
8677 * grub-core/kern/device.c (grub_device_open): Don't dereference
8678 a NULL pointer upon failed grub_env_get.
8679
f7db6f4a
VS
86802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Support non-512B sectors and agglomerate reads.
8683
8684 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8685 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8686 (disk_io_guid): Removed.
8687 (make_devices): Locate solely by BlockIO.
8688 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8689 (grub_efidisk_read): Use read_blocks.
8690 (grub_efidisk_write): Use write_blocks.
8691 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8692 log_sector_size.
8693 (get_safe_sectors): Handle non-512B sectors.
8694 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8695 sectors.
8696 (grub_biosdisk_write): Handle non-512B sectors.
8697 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8698 (grub_scsi_read): Remove special non-512B block handling (now handled
8699 one level up).
8700 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8701 and do sanity checks.
8702 (grub_disk_adjust_range): Handle non-512B sectors.
8703 (transform_sector): New function.
8704 (grub_disk_read_small): Likewise.
8705 (grub_disk_read): Rewritten.
8706 (grub_disk_write): Handle non-512B sectors.
8707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8708 log_sector_size.
8709 (open_device): Use log_sector_size.
8710 (grub_util_biosdisk_read): Likewise.
8711 (grub_util_biosdisk_write): Likewise.
8712 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8713 non-512B sectors.
8714 (pc_partition_map_embed): Likewise.
8715 * include/grub/disk.h (grub_disk): New field log_sector_size.
8716 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8717 (GRUB_DISK_CACHE_BITS): Increased to 6.
8718 * util/grub-fstest.c (fstest): New command testload.
8719 (argp_parser): Likewise.
8720
881ac815
RM
87212011-06-16 Robert Millan <rmh@gnu.org>
8722
8723 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8724 `ata' driver on kernel of FreeBSD 9.
8725
8726 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8727 (get_ataraid_disk_name): New functions.
8728 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8729 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8730 get_ataraid_disk_name() and get_ada_disk_name().
8731
1e9aef7d
CW
87322011-06-13 Colin Watson <cjwatson@ubuntu.com>
8733
8734 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8735 input format.
8736
351c7c8a
CW
87372011-05-29 Colin Watson <cjwatson@ubuntu.com>
8738
8739 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8740 `ftp.gnu.org' for `alpha.gnu.org'.
8741
6b4e6430
CW
87422011-05-27 Colin Watson <cjwatson@ubuntu.com>
8743
8744 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8745 partitions under /dev/disk/by-id/.
8746
c64db050
CW
87472011-05-27 Colin Watson <cjwatson@ubuntu.com>
8748
8749 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8750 after ten consecutive open failures. Scanning all the way up to
8751 10000 is excessive and can cause serious performance problems in
8752 some configurations.
8753 Fixes Ubuntu bug #787461.
8754
245f4aba
VS
87552011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8758 opening new one.
8759
f767c929
VS
87602011-05-21 Colin Watson <cjwatson@ubuntu.com>
87612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 Don't stat devices unless we have to.
8764
8765 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8766 dir == /dev/mapper.
8767 (grub_guess_root_device): Use already known os_dev if possible.
8768 * grub-core/kern/emu/hostdisk.c
8769 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8770 if device is known to be a dm one.
8771
f35fa3a6
CW
87722011-05-20 Colin Watson <cjwatson@ubuntu.com>
8773
8774 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8775 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8776 Reported by: Pawel Tecza.
8777
9a79fcf2
VS
87782011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8781 (lsefisystab): Likewise.
8782 (lssal): Likewise.
8783 (lsefimmap): Likewise.
8784 (hdparm): Enable on qemu-mips.
8785 (setjmp): Add ia64 nodist.
8786 (serial): Simplify tags.
8787
63e3eea9
CW
87882011-05-18 Colin Watson <cjwatson@ubuntu.com>
8789
8790 * Makefile.util.def (grub-ofpathname): Install manual page.
8791
09728256
CW
87922011-05-18 Colin Watson <cjwatson@ubuntu.com>
8793
8794 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8795
8b63a142
CW
87962011-05-18 Colin Watson <cjwatson@ubuntu.com>
8797
8798 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8799
e775d8ed
VS
88002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8803 into dprintf.
8804
bf947d36
VS
88052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Use full 64-bit division.
8808
8809 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8810 (grub_divmod64): ... this.
8811 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8812 version.
8813
b84f26c5
CW
88142011-05-18 Colin Watson <cjwatson@ubuntu.com>
8815
8816 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8817 `source'.
8818
5626056f
CW
88192011-05-18 Colin Watson <cjwatson@ubuntu.com>
8820
8821 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8822 to avoid accidents when debugging with 'sh -x'.
8823 * grub-core/gensyminfo.sh.in: Likewise.
8824 * tests/example_scripted_test.in: Likewise.
8825 * tests/grub_cmd_regexp.in: Likewise.
8826 * tests/grub_script_blanklines.in: Likewise.
8827 * tests/grub_script_dollar.in: Likewise.
8828 * tests/grub_script_expansion.in: Likewise.
8829 * tests/grub_script_final_semicolon.in: Likewise.
8830 * tests/partmap_test.in: Likewise.
8831 * tests/util/grub-shell-tester.in: Likewise.
8832 * tests/util/grub-shell.in: Likewise.
8833
e2965f4a
CW
88342011-05-18 Colin Watson <cjwatson@ubuntu.com>
8835
8836 Move gfxmenu color handling to video, so that gfxterm can use it
8837 too.
8838
8839 * grub-core/gfxmenu/named_colors.c: Move to ...
8840 * grub-core/video/colors.c: ... here. Rename
8841 grub_gui_get_named_color to grub_video_get_named_color.
8842 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8843 * grub-core/video/colors.c (my_isxdigit): ... here.
8844 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8845 Move to ...
8846 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8847 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8848 to ...
8849 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8850
8851 * include/grub/gui.h (grub_gui_color_t): Move to ...
8852 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8853 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8854 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8855 * include/grub/gui.h (grub_gui_map_color): Move to ...
8856 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8857 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8858 to ...
8859 * include/grub/video.h (grub_video_get_named_color): ... here.
8860 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8861 * include/grub/video.h (grub_video_parse_color): ... here.
8862
8863 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8864 video/colors.c.
8865 (gfxmenu): Remove gfxmenu/named_colors.c.
8866 (video) [videomodules]: Add video/colors.c.
8867
8868 Add a background_color command.
8869
8870 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8871 function.
8872 (GRUB_MOD_INIT): Register background_color command.
8873 (GRUB_MOD_FINI): Unregister background_color command.
8874 (redraw_screen_rect): Allow blend/replace of text layer to be
8875 controlled independently from whether there is a background bitmap.
8876 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8877 changing bitmap.
8878
1e4b4390
VS
88792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8880
26618ff0
VS
8881 Patch BPB in ntldr and chainloader --bpb.
8882
1e4b4390
VS
8883 * grub-core/fs/fat.c: Include grub/fat.h.
8884 (grub_fat_bpb): Moved to ...
8885 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8886 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8887 grub/ntfs.h.
8888 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8889 Moved from here...
8890 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8891 here.
8892 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8893 New function.
8894 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8895 (GRUB_MOD_INIT): Show --bpb.
8896 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8897 * grub-core/normal/main.c (features): New variable.
8898 (GRUB_MOD_INIT): Set feature_* variables.
8899 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8900 proto.
8901 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8902
cf02731e
VS
89032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8906 for cleanness.
8907
e3a1073f
VS
89082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 FreeDOS direct loading support.
8911
8912 * docs/grub.texi (Supported OS): Add FreeDOS.
8913 * grub-core/Makefile.core.def (freedos): New module.
8914 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8915 variable.
8916 (grub_relocator16_boot): Handle %ebx.
8917 * grub-core/lib/i386/relocator16.S: Likewise.
8918 * grub-core/loader/i386/pc/freedos.c: New file.
8919
05caa461
VS
89202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 Long Linux command line support.
8923
8924 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8925 (maximal_cmdline_size): New variable.
8926 (allocate_pages): Use maximal_cmdline_size.
8927 (grub_cmd_linux): Set and use maximal_cmdline_size.
8928 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8929 (allocate_pages): Use maximal_cmdline_size.
8930 (grub_cmd_linux): Set and use maximal_cmdline_size.
8931 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8932 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8933 and cmdline_size.
8934
a2491e23
VS
89352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
89362011-05-18 Colin Watson <cjwatson@ubuntu.com>
8937
8938 Improve devmapper support
8939
8940 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8941 (grub_util_is_lvm): New function.
8942 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8943 than lvm if not dmraid.
8944 Handle mapped md nodes.
8945 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8946 (grub_util_device_is_mapped): ... this. Make always available. All users
8947 updated.
8948 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8949 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8950 dmraid nodes.
8951 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8952
6ad6223e
VS
89532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8956
8957 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8958 * grub-core/modinfo.sh.in: New file.
8959 * grub-core/Makefile.core.def (modinfo.sh): New script.
8960 * util/grub-mknetdir.in: Use modinfo.sh.
8961 * util/grub-mkrescue.in: Likewise.
8962
543a8f6e
VS
89632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8966 Fix potential usage of Elf32 instead of Elf64 when compiling on
8967 32-bit architecture. Add endianness macros while on it.
8968
4959e111
VS
89692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 Use mipsel- rather than mips- in directories involving mipsel ports to
8972 allow both endiannesses coexist.
8973
8974 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8975 mips. All conditions adjusted.
8976 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8977 variable.
8978 * util/grub-install.in: Adjust conditions to take renaming into account.
8979 * util/grub-mkimage.c (image_targets): Likewise. New target
8980 mips-qemu_mips-elf for bigendian mips.
8981
35341bbc
VS
89822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 Avoid unnecessary copying on MIPS.
8985
8986 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8987 early if src == dest.
8988 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8989 compression is none.
8990
b772baed
VS
89912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 Reduce memory footprint on SGI by putting modules before the kernel
8994 as opposed to after.
8995
8996 * grub-core/Makefile.core.def (kernel): Increase linking address.
8997 (none_decompress): Likewise.
8998 (xz_decompress): Likewise.
8999 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9000 address.
9001 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9002 layout change.
9003 (grub_arch_modules_addr): New function.
9004 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9005 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9006 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9007 here.
9008 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9009 (grub_total_modules_size): ... this. Make global.
9010 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9011 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9012 New definition.
9013 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9014 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9015 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9016 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9017 * util/grub-mkimage.c (image_target_desc): New flag
9018 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9019 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9020 (generate_image): Handle images with modules before kernel.
9021
566a1917
VS
90222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Prevent potential loss of memory map by overwrite on qemu-mips.
9025
9026 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9027 Save ram size in $s4.
9028 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9029 All users changed to grub_arch_memsize.
9030 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9031 Loongson.
9032 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9033 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9034 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9035 external variable.
9036
5d420cd9
CW
90372011-05-17 Colin Watson <cjwatson@ubuntu.com>
9038
9039 * .bzrignore: Remove grub-dumpbios.
9040
d064b830
CW
90412011-05-17 Colin Watson <cjwatson@ubuntu.com>
9042
9043 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9044 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9045 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9046 existing options which append).
9047 * docs/grub.texi (Simple configuration): Document new options.
9048 Reported by: Ian Jackson. Fixes Debian bug #617538.
9049
3ca2b466
CW
90502011-05-17 Colin Watson <cjwatson@ubuntu.com>
9051
9052 * util/grub-fstest.c (cmd_cat): New function.
9053 (fstest): Handle CMD_CAT.
9054 (options): Add cat.
9055 (argp_parser): Handle cat.
9056
24c9143a
CW
90572011-05-17 Colin Watson <cjwatson@ubuntu.com>
9058
9059 * Makefile.util.def (grub-bin2h): Don't install.
9060 * docs/man/grub-bin2h.h2m: Remove.
9061
90f7ac19
VS
90622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9065 place.
9066
8d4a5178
VS
90672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Reenable qemu-mips port.
9070
9071 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9072 Fix small arc bug while on it.
9073 * gentpl.py: Handle qemu_mips.
9074 * grub-core/Makefile.am: Likewise.
9075 * grub-core/Makefile.core.def: Likewise.
9076 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9077 inappropriate includes.
9078 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9079 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9080 * grub-core/kern/main.c (grub_modules_get_end)
9081 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9082 * grub-core/kern/mips/qemu-mips: Moved to ..
9083 * grub-core/kern/mips/qemu_mips: ... this.
9084 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9085 (grub_machine_init): Call terminfo_init and serial_init.
9086 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9087 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9088 New variable.
9089 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9090 parameter passing.
9091 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9092 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9093 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9094 * include/grub/mips/qemu_mips/cmos.h: New file.
9095 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9096 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9097 Removed.
9098 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9099 Use correct mips-style address.
9100 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9101 (GRUB_TICKS_PER_SECOND): Removed.
9102 (grub_get_rtc): Likewise.
9103 (grub_cpu_idle): Likewise.
9104 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9105 New definition.
9106 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9107 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9108 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9109 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9110 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9111 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9112 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9113 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9114
400b9371
VS
91152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 SGI ARCS port.
9118
9119 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9120 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9121 platforms.
9122 * configure.ac: New target mips-arc.
9123 * gentpl.py: Likewise.
9124 * grub-core/Makefile.am: Likewise.
9125 * grub-core/Makefile.core.def: Likewise.
9126 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9127 (none_decompress): Likewise.
9128 (lsdev): New module.
9129 (datetime): Use lib/arc/datetime.c on ARC.
9130 (part_dvh): New module.
9131 * grub-core/commands/arc/lsdev.c: New file.
9132 * grub-core/disk/arc/arcdisk.c: Likewise.
9133 * grub-core/kern/mips/arc/init.c: Likewise.
9134 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9135 aligned addresses.
9136 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9137 support.
9138 (grub_arch_dl_relocate_symbols): Likewise.
9139 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9140 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9141 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9142 platforms.
9143 * grub-core/lib/arc/datetime.c: New file.
9144 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9145 pci.h on non-loongson.
9146 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9147 (grub_linux_boot): Set unused registers to 0.
9148 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9149 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9150 * grub-core/mmap/mips/uppermem.c: ...here.
9151 * grub-core/partmap/dvh.c: New file.
9152 * grub-core/term/arc/console.c: Likewise.
9153 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9154 (grub_terminfo_set_current): Add terminal "arc".
9155 (grub_terminfo_readkey): Support ARC sequences.
9156 * include/grub/arc/arc.h: New file.
9157 * include/grub/arc/console.h: Likewise.
9158 * include/grub/disk.h (grub_disk_dev_id): Add
9159 GRUB_DISK_DEVICE_ARCDISK_ID.
9160 * include/grub/mips/arc/kernel.h: New file.
9161 * include/grub/mips/arc/memory.h: Likewise.
9162 * include/grub/mips/arc/time.h: Likewise.
9163 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9164 * include/grub/mips/kernel.h (grub_halt): ... here.
9165 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9166 here...
9167 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9168 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9169 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9170 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9171 proto.
9172 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9173 from here ...
9174 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9175 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9176 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9177 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9178 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9179 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9180 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9181 (grub_phys_addr_t): Moved from here ...
9182 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9183 (grub_vtop): Moved from here ...
9184 * include/grub/mips/memory.h (grub_vtop): ... here.
9185 (grub_map_memory): Moved from here ...
9186 * include/grub/mips/memory.h (grub_map_memory): ... here.
9187 (grub_unmap_memory): Moved from here ...
9188 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9189 (grub_machine_mmap_iterate): Moved from here ...
9190 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9191 (grub_mmap_get_lower): Moved from here ...
9192 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9193 (grub_mmap_get_upper): Moved from here ...
9194 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9195 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9196 here ...
9197 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9198 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9199 here ...
9200 * include/grub/mips/time.h (grub_get_rtc): ... here.
9201 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9202 here ...
9203 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9204 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9205 here ...
9206 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9207 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9208 definition.
9209 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9210 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9211 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9212 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9213 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9214 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9215 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9216 (GRUB_MACHINE_LINK_ADDR): Likewise.
9217 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9218 to 6.
9219 * util/grub-install.in: Run dvhtool on ARC.
9220 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9221 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9222
c8ecc840
VS
92232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9226 blocks.
9227
153a4b55
VS
92282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9231 after enabling port.
9232
ff44d107
VS
92332011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 Skip incorrect USB devices.
9236
9237 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9238 configcnt == 0.
9239 * include/grub/usb.h (grub_usb_err_t): New enum value
9240 GRUB_USB_ERR_BADDEVICE.
9241
638dbe4f
VS
92422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Fuloong video init support.
9245
9246 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9247 well.
9248 (grub_vga_read_arx): New function.
9249 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9250 definition.
9251 (framebuffer): New members io, mmioptr and mmiobase.
9252 (read_sis_cmd): New function.
9253 (write_sis_cmd): Likewise.
9254 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9255 rather than 640x400.
9256 * grub-core/video/sis315_init.c: New file.
9257
c3fc520c
VS
92582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9261 non-loongson.
9262 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9263 to grub_dl_register_symbol.
9264
67b1e5c9
VS
92652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Fix compilation errors.
9268
9269 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9270 potentially unused.
9271 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9272 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9273 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9274 to loongson machines.
9275
b756f75f
VS
92762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Several FS mtime support.
9279
9280 * grub-core/fs/affs.c (grub_affs_time): New struct.
9281 (grub_affs_file): New field mtime.
9282 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9283 type. Removed 'size'. New field 'di'. All users updated.
9284 (grub_affs_mount): Simplify checsum checking.
9285 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9286 (grub_affs_dir): Handle mtime.
9287 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9288 (grub_cpio_dir): Likewise.
9289 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9290 (grub_hfs_filerec): New field mtime.
9291 (grub_hfs_dir): Handle mtime.
9292 (grub_hfs_mtime): New function.
9293 (grub_hfs_fs): Register grub_hfs_mtime.
9294 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9295 (grub_iso9660_dir): New field mtime.
9296 (grub_fshelp_node): New field dirent.
9297 (iso9660_to_unixtime): New function.
9298 (iso9660_to_unixtime2): Likewise.
9299 (grub_iso9660_read_symlink): Use node->dirent.
9300 (grub_iso9660_iterate_dir): Likewise.
9301 (grub_iso9660_dir): Set mtime.
9302 (grub_iso9660_mtime): New function.
9303 (grub_iso9660_fs): Register grub_iso9660_mtime.
9304 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9305 (grub_jfs_inode): New fields atime, ctime and mtime.
9306 (grub_jfs_dir): Set mtime.
9307 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9308 * grub-core/fs/ntfs.c (list_file): Set mtime.
9309 (grub_ntfs_dir): Likewise.
9310 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9311 (grub_reiserfs_iterate_dir): Set mtime.
9312 (grub_reiserfs_dir): Likewise.
9313 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9314 (grub_fshelp_node): Likewise.
9315 (grub_sfs_iterate_dir): Set mtime.
9316 (grub_sfs_dir): Likewise.
9317 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9318 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9319 (grub_xfs_inode): New fields atime, mtime, ctime.
9320 (grub_xfs_dir): Set mtime.
9321 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9322 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9323 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9324
9325 Support UDF symlinks.
9326
9327 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9328 (grub_ufs_read_symlink): New function. All users updated.
9329
9330 Check amiga partmap checksum.
9331
9332 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9333 (grub_amiga_partition): Likewise.
9334 (amiga_partition_map_checksum): New function.
9335 (amiga_partition_map_iterate): Check checksum.
9336
5470225d
VS
93372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 ROMFS support.
9340
9341 * Makefile.util.def (libgrubmods.a): Add romfs.
9342 * grub-core/Makefile.core.def (romfs): New module.
9343 * grub-core/fs/romfs.c: New file.
9344
d4680a35
VS
93452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Squashfs v4 support.
9348
9349 * Makefile.util.def (libgrubmods.a): Add squash4.
9350 * grub-core/Makefile.core.def (squash4): New module.
9351 * grub-core/fs/squash4.c: New file.
9352 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9353 disk_input_start, disk_input.
9354 (get_byte): Handle disk_input.
9355 (grub_zlib_disk_read): New function.
9356 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9357
bcb18e74
FZ
93582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
93592011-05-15 Feiran Zheng <famcool@gmail.com>
9360
9361 * Makefile.util.def (libgrubmods.a): Add minix3.
9362 * grub-core/Makefile.core.def (minix3): New module.
9363 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9364 (GRUB_MINIX_BSIZE): Removed.
9365 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9366 (grub_minix_ino_t): New type.
9367 (grub_minix_le_to_cpu_ino): New macro.
9368 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9369 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9370 (grub_minix_data): New field block_size.
9371 (grub_minix_read_file): Handle 64-bit correctly.
9372 * grub-core/fs/minix3.c: New file.
9373
32297d5f
TG
93742011-05-15 Tristan Gingold <gingold@free.fr>
93752011-05-15 Robert Millan <rmh.grub@aybabtu.com>
93762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 IA64 support.
9379
9380 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9381 * configure.ac: Add ia64-efi target.
9382 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9383 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9384 * gentpl.py: Add ia64_efi platform.
9385 Rename x86_efi to efi and Add ia64-efi. All users updated.
9386 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9387 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9388 Remove kern/generic/rtc_get_time_ms.c on EFI.
9389 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9390 kern/ia64/dl_helper.c on ia64-efi.
9391 Add kern/emu/cache.c on emu.
9392 (linux): Use on loader/ia64/efi/linux.c on ia64.
9393 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9394 whether symbol is a function.
9395 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9396 (grub_symbol): New field 'isfunc'.
9397 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9398 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9399 (grub_dl_load_segments): Place all sections into the same region.
9400 [__ia64__]: Create trampolines and got.
9401 [GRUB_MACHINE_EMU]: Call mprotect.
9402 (grub_dl_resolve_symbols): Resolve symbol type as well.
9403 [__ia64__]: Create function descriptors.
9404 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9405 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9406 (grub_get_rtc): New function.
9407 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9408 * grub-core/kern/emu/cache.S: Renamed to ...
9409 * grub-core/kern/emu/cache_s.S: ... this.
9410 [__ia64__]: Add a nop.
9411 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9412 [__ia64__]: New function.
9413 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9414 * grub-core/kern/ia64/dl.c: New file.
9415 * grub-core/kern/ia64/dl_helper.c: Likewise.
9416 * grub-core/kern/ia64/efi/init.c: New file.
9417 * grub-core/kern/ia64/efi/startup.S: Likewise.
9418 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9419 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9420 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9421 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9422 * grub-core/loader/ia64/efi/linux.c: New file.
9423 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9424 (GRUB_MOD_DEP): Likewise.
9425 (grub_dl) [__ia64__]: New fields got and tramp.
9426 (grub_dl): New field 'base'.
9427 (grub_dl_register_symbol): New argument isfunc. All users updated.
9428 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9429 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9430 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9431 (grub_ia64_dl_get_tramp_got_size): New proto.
9432 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9433 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9434 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9435 * include/grub/efi/api.h: Skip call wrappers on ia64.
9436 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9437 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9438 * include/grub/elf.h (ELF_ST_INFO): New definition.
9439 * include/grub/ia64/efi/kernel.h: New file.
9440 * include/grub/ia64/efi/memory.h: Likewise.
9441 * include/grub/ia64/efi/time.h: Likewise.
9442 * include/grub/ia64/kernel.h: Likewise.
9443 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9444 * include/grub/ia64/time.h: New file.
9445 * include/grub/ia64/types.h: Likewise.
9446 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9447 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9448 New protos.
9449 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9450 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9451 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9452 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9453 All users updated.
9454 (EFI64_HEADER_SIZE): New definition. All users updated.
9455 (image_targets): Add ia64-efi.
9456 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9457 jumpers_addr. All users updated.
9458 Create function descriptors.
9459 (count_funcs): New function.
9460 (unaligned_uint32): New struct.
9461 (MASK20): New definition.
9462 (MASK19): Likewise.
9463 (MASKF21): Likewise.
9464 (add_value_to_slot_20b): New function.
9465 (add_value_to_slot_21_real): Likewise.
9466 (add_value_to_slot_21): Likewise.
9467 (ia64_kernel_trampoline): New struct.
9468 (nopm): New variable.
9469 (jump): Likewise.
9470 (make_trampoline): New function.
9471 (relocate_addresses): Handle ia64.
9472 (make_reloc_section): Likewise.
9473 (load_image): Likewise.
9474
983b414d
VS
94752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9478 warning. Move variables before code while on it.
9479
5d063cdc
VS
94802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 Fuloong support.
9483
9484 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9485 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9486 * grub-core/boot/mips/loongson/fuloong.S: New file.
9487 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9488 Explicitly init CS5536.
9489 [FULOONG]: Don't use serial until CS5536 is available.
9490 Set GPIO based on dumps.
9491 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9492 [FULOONG]: Handle GPIO and memory controller differences.
9493 Parse machine type in $a2.
9494 * grub-core/boot/mips/startup_raw.S: Determine and save the
9495 architecture.
9496 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9497 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9498 init on architecture type.
9499 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9500 SIS315E. Don't init at_keyboard on fuloong.
9501 (grub_halt): Support Fuloong.
9502 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9503 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9504 (loongson_machtypes): New array.
9505 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9506 type.
9507 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9508 config. All users updated. Handle CS5536 serial.
9509 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9510 default port on machine type. Register serial as inactive.
9511 * grub-core/video/sis315pro.c: New file.
9512 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9513 definition.
9514 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9515 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9516 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9517 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9518 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9519 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9520 to ...
9521 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9522 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9523 definition.
9524 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9525 (grub_arch_machine): New extern var.
9526 * include/grub/mips/loongson/serial.h
9527 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9528 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9529 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9530 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9531 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9532 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9533 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9534 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9535 * include/grub/term.h (grub_term_register_input_inactive): New inline
9536 function.
9537 (grub_term_register_output_inactive): Likewise.
9538 * include/grub/video.h (grub_video_driver_id): New value
9539 GRUB_VIDEO_DRIVER_SIS315PRO.
9540 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9541 New field "names". All users updated.
9542 New field value IMAGE_FULOONG_FLASH.
9543 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9544
6ada82d1
JU
95452011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9546
9547 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9548 and add some clarification.
9549
90c571a4
VS
95502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9553 platforms if kernel is compressed.
9554
de04eecf
VS
95552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9558 unused modules since currently referrence counter isn't reliable and
9559 there isn't much memory to recover there anyway.
9560
57688121
VS
95612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9564 rather than resetting it to allow modules to reference themselves
9565 in init.
9566
3d2c7e35
VS
95672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9570 counter on dependencies since grub_dl_unref already handles this.
9571
b25db218
VS
95722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9575 on error if not already done.
9576
25a45338
VS
95772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Fix few potential memory misusage.
9580
9581 * grub-core/font/font.c (load_font_index): Don't free char_index to
9582 avoid double free.
b25db218
VS
9583 (grub_font_load): Zero-fill font at alloc for safety.
9584 Close file on error.
9585 (free_font): Free bmp_idx.
25a45338 9586
0cac83df
VS
95872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * docs/grub.texi (Installation): Fix several outdated claims.
9590
2217a143
VS
95912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 Handle module_license on windows.
9594
9595 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9596 sections shifted.
9597 (insert_string): Make argument const char * instead of char *.
9598 (write_section_data): Handle long section names.
9599 Handle module_license.
9600
d4de6b01
VS
96012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9604 handle class-free menuentries.
9605 (grub_normal_add_menu_entry): Add a check to be sure.
9606
4c2a3b43
VS
96072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9610 PgUp and PgDown.
9611
85c6210f
VS
96122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * configure.ac: Bump version to 1.99.
9615
36084912
VS
96162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 Give ATA device a bit more time on first try in order to allow disks
9619 to spin up.
9620
9621 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9622 if dev->present is 1. Reset dev->present on failure.
9623 (grub_ata_device_initialize): Set dev->present to 1.
9624 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9625 (grub_ata_device): New member 'present'.
9626
bda0e219
VS
96272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * util/grub-mkimage.c (generate_image): Update hash.
9630
19e1c41b
VS
96312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 Flush caches on DMA memory.
9634
9635 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9636 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9637 (grub_dma_free): Likewise.
9638 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9639
91bbcc0c
VS
96402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9643 to avoid asm treating ld and sd as macros.
9644
60ddfad3
VS
96452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9648 decompressor.
9649
a298aa04
VS
96502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9653 grub_decompress_core since later would fail if grub_decompress_core
9654 is too far.
9655
9b44feca
VS
96562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9659 R_MIPS_JALR since it's used by newer compiler.
9660
56dbe7b4
VS
96612011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9664
52856af2
VS
96652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9668 file_path to 0 for surety.
9669 (grub_chainloader_boot): Set exit_data to NULL.
9670 Unset the loader once done.
9671 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9672
9c9bfc6d
VS
96732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9676 unknown key into a dprintf.
9677
dd94a3df
VS
96782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9681 on first non-existant partition.
9682
fa68d99c
VS
96832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9686 openning fails.
9687 Reported by: Mark Korenberg.
9688
157effb7
VS
96892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9692 overflow.
9693
ea75312f
VS
96942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9697 before closing to ensure that it will be readable by grub-setup.
9698
072b5d31
VS
96992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9702 (devpath_1): Use MAKE_PIWG_PATH.
9703 (devpath_2): Likewise.
9704 (devpath_3): Likewise.
9705 (devpath_4): Likewise.
9706 (devpath_5): Likewise.
9707 (devpath_6): Likewise.
9708
9709 The appleldr.mod was checked that to be binary identical to previous
9710 version.
9711
7fae0051
Z
97122011-05-05 Zach <mikezackles>
9713
9714 Support 2010 Macbooks.
9715
9716 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9717 (devs): Add devpath_6.
9718
7c515bee
VS
97192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9722 /dev/random. /dev/urandom is good enough for our purposes (salting).
9723
ed660bd8
VS
97242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9727
ee5614b7
VS
97282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9731 hexadecimal.
9732
664889a6
VS
97332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9736 and not 0 on failure.
9737
bd405bbc
CW
97382011-05-03 Colin Watson <cjwatson@ubuntu.com>
9739
9740 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9741 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9742 disk; otherwise grub_fs_probe will not fall back to the next
9743 filesystem.
9744 (grub_pxefs_open): Likewise, for consistency.
9745 Reported and tested by: Ezekiel Grave.
9746
4ebff753
CW
97472011-05-03 Colin Watson <cjwatson@ubuntu.com>
9748
9749 * tests/partmap_test.in: Don't hardcode path to parted.
9750 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9751
8f942553
CW
97522011-05-01 Colin Watson <cjwatson@ubuntu.com>
9753
9754 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9755 of `ls' to find out which devices are available.
9756
3c62402d
VS
97572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9760 than source address for efi mmap buffer.
9761
723f63f2
VS
97622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9765 wrong action on non-detecting the magic.
9766
68797f92
VS
97672011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9770 already supplied by another part of the module (fixes compilation on
9771 FreeBSD).
9772
6be8715d
VS
97732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9776 match the one used by mdadm.
9777
e91dba5b
CW
97782011-04-21 Colin Watson <cjwatson@ubuntu.com>
9779
9780 * po/README: Add instructions for creating po/LINGUAS.
9781
c85140b3
CW
97822011-04-21 Colin Watson <cjwatson@ubuntu.com>
9783
9784 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9785 #551428.
9786
9787 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9788 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9789 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9790 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9791 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9792 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9793 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9794 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9795 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9796 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9797 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9798 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9799 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9800 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9801 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9802 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9803 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9804 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9805 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9806 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9807 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9808 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9809
92051871
CW
98102011-04-21 Colin Watson <cjwatson@ubuntu.com>
9811
9812 * grub-core/kern/emu/getroot.c
9813 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9814 test that was incorrectly reintroduced in r3214.
9815 Reported by: Ian Dall. Fixes Savannah bug #33133.
9816
b13f79a4
CW
98172011-04-21 Colin Watson <cjwatson@ubuntu.com>
9818
9819 Fix stack pointer handling in 16-bit relocator.
9820
9821 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9822 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9823 Fixes Ubuntu bug #683904.
9824
9b710a88
VS
98252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * configure.ac: Bump version to 1.99~rc2.
9828
d97e7b59
VS
98292011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9832 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9833 * grub-core/lib/x86_64/setjmp.S: Likewise.
9834 * grub-core/lib/mips/setjmp.S: Likewise.
9835 * grub-core/lib/powerpc/setjmp.S: Likewise.
9836 * grub-core/lib/sparc64/setjmp.S: Likewise.
9837
0624551c
VS
98382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9841 * grub-core/lib/efi/datetime.c: Likewise.
9842
e8f28d4c
VS
98432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9846 New function.
9847 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9848 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9849 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9850
bba79a15
VS
98512011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9854 bitmap.
9855 (grub_gfxterm_term_init): Likewise.
9856
abc474ef
VS
98572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 Take into account the decorations the computing menu entry width.
9860
9861 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9862 (grub_gfxmenu_create_box): Register get_border_width.
9863 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9864 if available.
9865 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9866 get_border_width.
9867
e74b3947
EP
98682011-04-18 Endres Puschner <code@e7p.de>
9869
9870 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9871 Don't skip first class.
9872
34faa595
VS
98732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9876 chunks.
9877 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9878
93a777e3
VS
98792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Complete 64-bit division support.
9882
9883 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9884 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9885 * include/grub/misc.h (grub_divmod64): Rename to ...
9886 (grub_divmod64_full): ... this.
9887 (grub_divmod64): New inline function.
9888
a5102d94
VS
98892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9892
f3fb7b36
VS
98932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9896 performing the necessary test.
9897
9ac718b0
VS
98982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9901 (kfreebsd.elf): Likewise.
9902 (pc-chainloader.elf): Likewise.
9903 (ntldr.elf): Likewise.
9904
50d2cc5a
VS
99052011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 Identify RAID by its UUID rather than (guessed) name.
9908
9909 * grub-core/disk/raid.c (ascii2hex): New function.
9910 (grub_raid_open): Accept mduuid/%s specification.
9911 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9912 (get_mdadm_uuid): ... this.
9913 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9914
e03f7bea
VS
99152011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9918 to negative size.
9919
e74c3112
CW
99202011-04-13 Colin Watson <cjwatson@ubuntu.com>
9921
9922 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9923 btrfs subvolume.
9924 * util/grub.d/20_linux_xen.in: Likewise.
9925
78fa584f
CW
99262011-04-13 Colin Watson <cjwatson@ubuntu.com>
9927
9928 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9929 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9930
9931 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9932 Build a list of relevant visible mounts using the mnt_id and
9933 parent_mnt_id fields, and then scan that list at the end.
9934
9d5f8162
CW
99352011-04-12 Colin Watson <cjwatson@ubuntu.com>
9936
9937 * docs/grub.texi (normal): New section.
9938 (normal_exit): New section.
9939 (Embedded configuration): Add reference to normal.
9940 (GRUB only offers a rescue shell): Likewise.
9941 * docs/grub-dev.texi (Error Handling): Fix typo.
9942
09a9d66f
CW
99432011-04-12 Colin Watson <cjwatson@ubuntu.com>
9944
9945 * NEWS: Drop obsolete entry about probe-only btrfs support.
9946
0c676933
CW
99472011-04-12 Colin Watson <cjwatson@ubuntu.com>
9948
9949 * util/import_gcry.py: Fix typo.
9950
ec9f5e0d
VS
99512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * NEWS: Add btrfs support.
9954
fe6b2cba
VS
99552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
99562011-04-11 Colin Watson <cjwatson@ubuntu.com>
9957
9958 BtrFS support. Written by me (Vladimir) with important bugfixes and
9959 even more important testing by Colin.
9960
9961 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9962 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9963 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9964 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9965 mem_input_off and mem_input. All users updated to accept in-RAM input.
9966 (gzio_seek): New function.
9967 (test_zlib_header): Likewise.
9968 (grub_gzio_read): Likewise.
9969 (grub_zlib_decompress): Likewise.
9970 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9971 Accept partial and non-virtual mounts.
9972 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9973 avoid receiving /dev/dm-X as device.
9974 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9975 Handle bind and partial mounts.
9976 * grub-core/lib/crc.c: New file.
9977 * include/grub/deflate.h: Likewise.
9978 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9979 proto.
9980 * include/grub/lib/crc.h: New file.
9981
e745cf0c
VS
99822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Implement automatic module license checking according to new GNU
9985 guidelines.
9986
9987 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9988 (grub_dl_load_core): Use grub_dl_check_license.
9989 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9990 (GRUB_MOD_LICENSE): Likewise.
9991 (GRUB_MOD_DUAL_LICENSE): Likewise.
9992 All modules updated.
9993
2a9bc016
CW
99942011-04-11 Colin Watson <cjwatson@ubuntu.com>
9995
9996 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9997 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9998 loaders.
9999 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10000
8a3bc88e
VS
100012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10004
af869a4a
VS
100052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10008 failed.
10009
9ee8d94f
VS
100102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10013 parenthesis in the middle of the filename.
10014
b01abe3e
VS
100152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10018 rather than trying to put initrd way too high.
10019 Reported by: Ryan Lortie <desrt@desrt.ca>
10020
335bda1e
VS
100212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10024 improperly removed string.
10025
5ca1a64d
VS
100262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10029 is_disk.
10030 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10031 (open_device) Likewise.
10032 (grub_util_biosdisk_close): Likewise.
d8ce9995 10033 Reported by: Mark Korenberg.
5ca1a64d 10034
cbac5b1e
AK
100352011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10036
10037 * util/grub-mkconfig_lib.in: Add missing quotes.
10038
088cdb65
CW
100392011-04-10 Colin Watson <cjwatson@ubuntu.com>
10040
10041 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10042 is NULL.
10043
8b8a81fa
VS
100442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 Dynamically count the number of lines for the lower banner.
10047
10048 * grub-core/normal/menu_entry.c (per_term_screen): New member
10049 num_entries.
10050 (print_down): Use num_entries.
10051 (update_screen): Likewise.
10052 (grub_menu_entry_run): Set num_entries.
10053 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10054 num_entries.
10055 (grub_print_message_indented): Move real part to ...
10056 (grub_print_message_indented_real): ... here. Additional argument
10057 dry_run.
10058 (draw_border): Additional argument num_entries.
10059 (print_message): Additional argument dry_run.
10060 (print_entries): Receive menu viewer data.
10061 (grub_menu_init_page): New argment num_entries.
10062 (menu_text_set_chosen_entry): Use num_entries.
10063 (grub_menu_try_text): Likewise.
10064 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10065 All users updated.
10066 (grub_ucs4_count_lines): New function.
10067 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10068 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10069 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10070 (grub_term_border_height): Likewise.
10071 (grub_term_num_entries): Likewise.
10072
277f955b
VS
100732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10076 Remove now unused string.
10077
536ce85a
CW
100782011-04-09 Colin Watson <cjwatson@ubuntu.com>
10079
10080 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10081 build system.
10082 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10083
10084 (Comment): Fix typo.
10085 (Getting started): General copy-editing.
10086 (Typical Development Experience): Likewise.
10087 (Error Handling): Likewise.
10088 (Video API): Likewise.
10089
2cf09e32
CW
100902011-04-09 Colin Watson <cjwatson@ubuntu.com>
10091
10092 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10093 throughout.
10094
1ec652f4
VS
100952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10098 directory.
10099
2c583728
CW
101002011-04-08 Colin Watson <cjwatson@ubuntu.com>
10101
10102 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10103 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10104 "development".
10105
d7a565e9
VS
101062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10109 grub_strcpy since the lines aren't necessarily 0-terminated.
10110
7c2e4909
VS
101112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10114 root on legacy.
10115
34c09785
VS
101162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10119 (GRUB_MOD_INIT): DEVICE isn't optional.
10120
6a6f8058
VS
101212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10124 word on new line if it's too long anyway. Fixes a hang.
10125
2e335e90
VS
101262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10129 const.
10130 * util/grub-setup.c (main): Reuse md device name if available.
10131 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10132 not GRUB name as argument.
10133 Based on patch by: Florian Wagner <fwagner>.
10134
10a7a867
VS
101352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10138 Place mbi on low memory for better compatibility.
10139
7a3d6cd9
VS
101402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10143
18dd6b47
VS
101442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
101452011-04-08 Colin Watson <cjwatson@ubuntu.com>
10146
10147 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10148 * conf/Makefile.common: Likewise.
18dd6b47 10149
3c0e3f14
VS
101502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10151
f7148863
VS
10152 * grub-core/normal/menu.c: Add missing include.
10153
101542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10157
6d1fa41f
MZ
101582011-04-08 Martin Zuther <mzuther@mzuther.de>
10159
10160 * util/grub-mkconfig.in: Ignore emacsen backup.
10161
478182a8
VS
101622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10165 on open.
10166 (grub_util_biosdisk_close): Likewise.
10167
72a89a54
VS
101682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10171 const attribute and use grub_isdigit.
10172
b5ebecfa
A
101732011-04-06 Andrey <dev_null@ukr.net>
10174
10175 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10176 gcc warning.
10177
7755f66e
VS
101782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10181 useful grub_dprintf's.
10182
461121ff
VS
101832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10186
2a961775
VS
101872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10190
adf594cc
VS
101912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 Output errors if theme loading failed.
10194
10195 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10196 grub_gfxterm_fullscreen on error paths to ...
10197 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10198 theme loading error.
10199
665900a3
VS
102002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10203 space for older compilers.
10204 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10205
a562b479
VS
102062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10209 and report them as not RAID members since they are useless for GRUB.
10210 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10211
850e9373
VS
102122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 Increase LVM implementation robustness in order not to crash on
10215 configurations like pvmove. Previously code assumed that in some places
10216 only lvs or only pvs are used whereas it seems that they are used
10217 interchangeably.
10218
10219 * grub-core/disk/lvm.c (read_node): New function.
10220 (read_lv): Use read_node.
10221 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10222 Match volumes only at the end when all lvs are found. Take both
10223 pvs (first) and lvs (second) into account.
10224 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10225 mirror_* into node_*. All users updated.
10226 (grub_lvm_stripe): Merge this ...
10227 (grub_lvm_mirror): ... and this ...
10228 (grub_lvm_node): ... into this. All users updated.
10229
6f332153
VS
102302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10233 of function to allow further scanning for LVMs.
10234
829ea451
VS
102352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10238 on failed seek as it breaks open fd reusage.
10239
09ceb9a5
VS
102402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * util/grub-install.in: Add a recommendation to use --recheck before
10243 reporting bugs.
10244
67e11623
VS
102452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10248 are obtained.
10249
caee5efd
VS
102502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 GRUB developper manual based on existing Internals section and
10253 contributions by the various authors with active copyright assignment.
10254
10255 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10256 * docs/font_char_metrics.png: New file.
10257 * docs/font_char_metrics.txt: Likewise.
10258 * docs/grub-dev.texi: Likewise.
10259 * docs/grub.texi (Internals): Move from here ...
10260 * docs/grub-dev.texi: ... here.
10261
2cccc747
CW
102622011-04-01 Colin Watson <cjwatson@ubuntu.com>
10263
10264 Store the loopback device as data on loopback grub_disk structures,
10265 rather than the file it points to. This fixes use of freed memory
10266 if an existing loopback device is replaced.
10267
10268 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10269 disk->data, not dev->file.
10270 (grub_loopback_read): Adjust file assignment to match.
10271 Fixes Ubuntu bug #742967.
10272
186ae367
CW
102732011-04-01 Colin Watson <cjwatson@ubuntu.com>
10274
10275 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10276 when replacing an existing device.
10277
cfed2ad0
VS
102782011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10281 memory corruptions.
10282
10283 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10284 unsigned.
10285 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10286 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10287 (grub_jfs_read_inode): Likewise.
10288 (grub_jfs_opendir): Likewise. Remove now useless casts.
10289 (grub_jfs_getent): Likewise.
10290 Make ino a grub_uint32_t rather than int.
10291 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10292 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10293 division and module with bit operations.
10294 (grub_jfs_find_file): Make ino a grub_uint32_t.
10295 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10296
05d2ed32
CW
102972011-04-01 Colin Watson <cjwatson@ubuntu.com>
10298
10299 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10300 warning. (This was in fact always initialised before use, but GCC
10301 wasn't smart enough to prove that.)
10302 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10303
91dc6073
VS
103042011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10307 stack alignment.
10308 (efi_wrap_1): Likewise.
10309 (efi_wrap_2): Likewise.
10310 (efi_wrap_3): Likewise.
10311 (efi_wrap_4): Likewise.
10312 (efi_wrap_5): Likewise.
10313 (efi_wrap_6): Likewise.
10314 (efi_wrap_10): Likewise.
10315 Based on information by: Red Hat/Peter Jones.
10316
a8afc1d1
CW
103172011-03-31 Colin Watson <cjwatson@ubuntu.com>
10318
10319 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10320 set-but-not-used variable.
10321
a826cc7d
CW
103222011-03-31 Colin Watson <cjwatson@ubuntu.com>
10323
10324 * docs/grub.texi (Simple configuration): Be more explicit about
10325 GRUB_DEFAULT, and add an example.
10326 Reported by: Leslie Rhorer.
10327
875b67ba
CW
103282011-03-30 Colin Watson <cjwatson@ubuntu.com>
10329
10330 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10331 shell".
10332
fd7cd914
AS
103332011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10334
10335 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10336 * util/grub.d/20_linux_xen.in: Likewise.
10337
090b1b6a
VS
103382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * util/grub.d/10_linux.in: Try alternative config filenames where
10341 we parse config file.
10342 * util/grub.d/20_linux_xen.in: Likewise.
10343
baad885c
AS
103442011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10345
10346 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10347 * util/grub.d/20_linux_xen.in: Likewise.
10348
241e41f5
VS
103492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/disk/raid.c (insert_array): Add few potentially
10352 useful grub_util_info.
10353 (grub_raid_register): Likewise.
10354
56445fb2
VS
103552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10358 Preserve partition number in mdadm code path.
10359
c871b1c6
VS
103602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10363 few potentially useful grub_util_info.
10364
5e631b4f
CW
103652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10368
2d5d0333
CW
103692011-03-30 Colin Watson <cjwatson@ubuntu.com>
10370
10371 * docs/grub.texi (default): Use @example rather than nested
10372 itemized lists to avoid breaking gendocs.
10373
3d7ed04e
CW
103742011-03-30 Colin Watson <cjwatson@ubuntu.com>
10375
10376 * docs/grub.texi (Future): Update.
10377
abf04200 103782011-03-30 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * docs/grub.texi (Environment): New chapter.
10381 (Changes from GRUB Legacy): Link to "Environment block" section for
10382 details of limitations.
10383 (Simple configuration): Likewise. Link to documentation of gfxmode
10384 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10385 respectively.
10386 (Shell-like scripting): Note that normal variables are stored in the
10387 environment.
10388 (gettext): Link to documentation of lang and locale_dir.
10389 (list_env): New section.
10390 (load_env): New section.
10391 (save_env): New section.
10392
10393 (Reporting bugs): Fix typo.
10394
e1ad0edd
VS
103952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10398 the example.
10399
5d803174
VS
104002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * grub-core/term/at_keyboard.c (set_scancodes)
10403 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10404
2a2da1d0
CW
104052011-03-30 Colin Watson <cjwatson@ubuntu.com>
10406
10407 * docs/grub.texi (Menu-specific commands): Remove some semantics
10408 that were true in GRUB Legacy but not in GRUB 2.
10409 (submenu): New section.
10410 (false): New section.
10411 (read): New section.
10412 (true): New section.
10413
a7527639
CW
104142011-03-30 Colin Watson <cjwatson@ubuntu.com>
10415
10416 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10417
104182011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10419
10420 * docs/grub.texi (Simple configuration): Explain some of the
10421 current limitations of grub-mkconfig.
8a748df2 10422 Reported by: Leslie Rhorer.
e30af029 10423
fc858482
VS
104242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 Old macs search for boot.efi rather than for bootia32.efi.
10427
10428 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10429 * util/grub-mkrescue.in: Likewise.
10430 Suggested by: Peter Jones.
10431
e1eb511d
VS
104322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10435
70e75364
VS
104362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10439 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10440 (grub_lvm_mirror): New struct.
10441 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10442 (grub_lvm_iterate): Iterate only visible volumes.
10443 (grub_lvm_read): Factor out to ..
10444 (read_lv): ... this. Support mirrors.
10445 (grub_lvm_read): New wrapper function.
10446 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10447 stripped or mirrored.
10448
fc18f6a3
VS
104492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10452
5c650f4c
CW
104532011-03-29 Colin Watson <cjwatson@ubuntu.com>
10454
10455 * docs/grub.texi (loopback): New section.
10456
61d7156b
CW
104572011-03-29 Colin Watson <cjwatson@ubuntu.com>
10458
10459 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10460 removed -p option.
10461
994b8264
CW
104622011-03-29 Colin Watson <cjwatson@ubuntu.com>
10463
10464 * docs/grub.texi (BIOS installation): New section, partly based on
10465 previous text in other sections.
10466 (Installing GRUB using grub-install): Replace BIOS discussion with a
10467 cross-reference.
10468 (Images): Likewise.
10469
9e4d19e0
VS
104702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10473 [HAVE_DIOCGDINFO]: Add safety checks.
10474
a307c0b2
VS
104752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10478 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10479
b4db4f39
CW
104802011-03-29 Colin Watson <cjwatson@ubuntu.com>
10481
10482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10483 real_sb->size is zero (e.g. RAID-0), get the disk size from
10484 real_sb->data_size instead.
10485 Fixes Ubuntu bug #743136.
10486
35e5f84c
VS
104872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10490 printf clauses for printing size and start.
10491
d2e29d81
VS
104922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10495 Reported and tested by: Timothy Nikkel.
10496
ed5587af
VS
104972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10500 (dirty_region_add_real): ... this.
10501 (dirty_region_add): Don't discard margin refresh when performing
10502 scheduled repaint.
10503
a1dc717c
VS
105042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/lib/relocator.c (allocate_regstart)
10507 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10508 terminals are capabple of malloc-free operation.
10509 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10510 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10511
9f3677d3
VS
105122011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10513
10514 * util/grub-setup.c: Copy the partition table zone if floppy support
10515 is disabled, even if no partition table is found.
10516
10517 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10518 during POST if an invalid partition table is contained in the PBR
10519 of the active partition when GRUB is installed to a partition.
10520
24148725
CW
105212011-03-28 Colin Watson <cjwatson@debian.org>
10522
10523 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10524 comment.
10525
f329eda7
CW
105262011-03-28 Colin Watson <cjwatson@debian.org>
10527
10528 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10529 to be specific about what kind of RAID device we're scanning for.
10530
c482ad98
SG
105312011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10532
10533 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10534 return freed string.
10535
5ee04984
VS
105362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10539
f4727da9
VS
105402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 Use libgeom on FreeBSD to detect partitions.
10543
10544 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10545 (grub-mkrelpath): Likewise.
10546 (grub-script-check): Likewise.
10547 (grub-editenv): Likewise.
10548 (grub-mkpasswd-pbkdf2): Likewise.
10549 (grub-fstest): Likewise.
10550 (grub-mkfont): Likewise.
10551 (grub-mkdevicemap): Likewise.
10552 (grub-probe): Likewise.
10553 (grub-setup): Likewise.
10554 (grub-ofpathname): Likewise.
10555 (grub-mklayout): Likewise.
10556 (example_unit_test): Likewise.
10557 (grub-menulst2cfg): Likewise.
10558 * grub-core/Makefile.core.def (grub-emu): Likewise.
10559 (grub-emu-lite): Likewise.
10560 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10561 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10562 define HAVE_DIOCGDINFO.
10563 (follow_geom_up) [FreeBSD]: New function.
10564 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10565 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10566 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10567 unconditionally of HAVE_DIOCGDINFO.
10568
82fe6c75
VS
105692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 Fix FreeBSD compilation problem.
10572
10573 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10574 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10575
4c6c9431
CW
105762011-03-24 Colin Watson <cjwatson@ubuntu.com>
10577
10578 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10579 Switch back to page zero before loading a kernel, since some kernel
10580 drivers expect that.
10581 Thanks to: Felix Kuehling.
10582
c7064d94
VS
105832011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10586 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10587 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10588
3f71cded
VS
105892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10592 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10593
ef6de21a
VS
105942011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10597 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10598 malloc is disabled.
10599
8bc66a2c
VS
106002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10603 for modules headers when counting the needed allocation size.
10604
5657722c
VS
106052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10608 if no ASCII character is found to prevent crash.
10609
41a85f55
AK
106102011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10611
10612 * grub-core/video/bitmap.c (match_extension): Ignore case.
10613
59e1e5f1
VS
106142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10617
bd4d051a
VS
106182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/script/parser.y: Declare "time" as valid argument.
10621
bae7fcc1
PJ
106222011-03-23 Peter Jones <pjones@redhat.com>
10623
10624 Fix incorrect assert failure reporting.
10625
10626 * grub-core/tests/example_functional_test.c (example_test): Add
10627 a failure comment.
10628 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10629 (failure_start): ...this. Check that malloc succeeded.
10630 Don't call xvasprintf. Return failure struct.
10631 (failure_append_vtext): New function.
10632 (failure_append_text): Likewise.
10633 (add_failure): Likewise.
10634 (grub_test_assert_helper): Likewise.
10635 * include/grub/test.h (grub_test_assert_helper): New declaration.
10636 (grub_test_assert): Macro rewritten.
10637
537dc9be
VS
106382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10641
fa3e01bf
VS
106422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10645
b1d28404
VS
106462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10649 into GRUB-style one.
10650
2e3e2e09
VS
106512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10654 error and not grub_errno.
10655 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10656
ed57e557
VS
106572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10660 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10661
d1611f01
VS
106622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/efiemu/i386/pc/cfgtables.c
10665 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10666 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10667 (grub_xnu_unlock): Likewise.
10668 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10669
7d4e39d6
VS
106702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10673 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10674 * grub-core/commands/hashsum.c (aliases): Likewise.
10675 * grub-core/commands/setpci.c (pci_registers): Likewise.
10676 * grub-core/disk/usbms.c (attach_hook): Likewise.
10677 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10678 (zio_checksum_table): Likewise.
10679 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10680 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10681 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10682 * grub-core/lib/relocator.c (leftovers): Likewise.
10683 (extra_blocks): Likewise.
10684 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10685 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10686 (modules_last): Likewise.
10687 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10688 (devices): Likewise.
10689 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10690 (modules_last): Likewise.
10691 * grub-core/normal/auth.c (users): Likewise.
10692 * grub-core/normal/context.c (initial_menu): Likewise.
10693 (current_menu): Likewise.
10694 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10695 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10696 (grub_serial_terminfo_input_template): Likewise.
10697 (grub_serial_terminfo_output_template): Likewise.
10698 (grub_serial_terminfo_input): Likewise.
10699 (grub_serial_terminfo_output): Likewise.
10700 (registered): Likewise.
10701 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10702
40fc4659
VS
107032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10706 grub_video_mode_type_t.
10707 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10708 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10709 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10710
2da48d28
VS
107112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * util/grub-install.in: Correct the x86-64 name as x86_64.
10714
9b43bf39
CW
107152011-03-11 Colin Watson <cjwatson@ubuntu.com>
10716
10717 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10718 initial chunk read from the kernel always includes GRUB's multiboot
10719 header, which is now outside the first sector.
10720
be1a7ce0
CW
107212011-03-09 Colin Watson <cjwatson@ubuntu.com>
10722
10723 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10724 cached mmap_size, so that this works correctly when called multiple
10725 times.
10726 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10727
83a3c48d
CW
107282011-03-09 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * docs/grub.texi (Simple configuration): Tidy up formatting.
10731
57d75699
SJ
107322011-03-07 Szymon Janc <szymon@janc.net.pl>
10733
10734 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10735 Set-but-not-used variable removed.
10736
028501a0
VS
107372011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Workaround yet another IEEE1275 bug.
10740
10741 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10742 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10743 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10744 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10745 is set.
10746 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10747 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10748
d998657d
VS
107492011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10752 error.
10753
fee7cdd4
CW
107542011-02-11 Colin Watson <cjwatson@ubuntu.com>
10755
10756 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10757 empty, since in that case we can only generate either nothing or a
10758 syntactically invalid configuration file.
10759 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10760
97286eb5
CW
107612011-02-09 Colin Watson <cjwatson@ubuntu.com>
10762
10763 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10764 (Making a GRUB bootable CD-ROM): Likewise.
10765 (Invoking grub-mkrescue): New section.
10766 Reported by: Yann Dirson. Fixes Debian bug #612585.
10767
22b28eb3
CW
107682011-02-09 Colin Watson <cjwatson@ubuntu.com>
10769
10770 * util/grub-install.in: Remove unnecessary brackets from tr
10771 arguments.
10772 * util/grub.d/10_hurd.in: Likewise.
10773 * util/grub.d/10_kfreebsd.in: Likewise.
10774 * util/grub.d/10_linux.in: Likewise.
10775 * util/grub.d/20_linux_xen.in: Likewise.
10776 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10777
7e735e43
CW
107782011-02-08 Colin Watson <cjwatson@ubuntu.com>
10779
10780 * include/grub/file.h (not_easly_seekable): Rename to ...
10781 (not_easily_seekable): ... this. Update all users.
10782
800f1881
CW
107832011-01-28 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10786 grub-mkrescue.
10787
3281d3d6
VS
107882011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * util/grub-mkimage.c (generate_image): Refuse to create the images
10791 bigger than the actual flash (512K) in Loongson machines. 512K is also
10792 the biggest chip supported by them.
10793
3533413c
VS
107942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10797
73ae4f4f
VS
107982011-01-22 Anthony DeRobertis <anthony@derobert.net>
10799
10800 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10801 super_offset field.
10802
37f4f608
VS
108032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * util/grub-install.in: Ignore install device on platforms
10806 where it doesn't make sense. Always use UUIDs except on pc, efi and
10807 sparc64.
10808 Reported by: Daniel Kahn Gillmor.
10809
03a4ccb5
VS
108102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10813
ffc8f4d8
VS
108142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10817 (iterate_real): Don't rely on partition being non-NULL.
10818
80f23be7
VS
108192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10822 supported platforms. Put a compile time assert for this rather than
10823 generate a warning with 32-bit shift.
10824
5d4f4dd5
VS
108252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10828 logical expression more readable.
10829
e489601a
VS
108302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10833 even if some elements have a name.
10834 Reported by: Alexander GQ Gerasiov.
10835
96e0a6ea
CW
108362011-01-22 Colin Watson <cjwatson@ubuntu.com>
10837
10838 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10839 path unreadable if `grub-probe -t abstraction' fails, for example if
10840 memberlist fails on an LVM volume group.
10841 Reported by: Darius Jahandarie.
10842
81431e2b
CW
108432011-01-22 Colin Watson <cjwatson@ubuntu.com>
10844
10845 * docs/grub.texi (Simple configuration): Document
10846 GRUB_PRELOAD_MODULES.
10847
5e79d66a
CW
108482011-01-17 Colin Watson <cjwatson@ubuntu.com>
10849
10850 * .bzrignore: Remove nonexistent grub-pbkdf2.
10851
646ada34
VS
108522011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * configure.ac: Bump version to 1.99~rc1.
10855
04360337
VS
108562011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10859 for safety.
10860
46c9db88
VS
108612011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10864 module.
10865
108662011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10867
10868 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10869
4fbf1852
VS
108702011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10873 diskdevid.
10874
f1632d4d
VS
108752011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Fix compilation on cygwin.
10878
10879 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10880 -R .drectve on cygwin.
10881 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10882 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10883 (COND_CYGWIN): New condition.
10884 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10885 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10886 not @TARGET_OBJ2ELF@.
10887 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10888 type to determine whether aux is to be used.
10889
0b5e127b
VS
108902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10893 realpath'ed device string.
10894 Handle floppy (somewhat).
10895 Issue error in unknown case rather than garbage.
10896 Reported by: Axel Beckert.
10897
173b71e9
VS
108982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * util/grub.d/00_header.in (load_video): Handle the case when no video
10901 drivers available.
10902 Thanks to: Axel Beckert.
10903
f8f479db
VS
109042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10907 variable. Fixes problem on big endian platforms.
10908
8fc0a245
VS
109092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10912 It doesn't work well there.
10913
b8494fbe
VS
109142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10917 warning.
10918 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10919 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10920 counter.
10921
b44a558c
VS
109222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Use alias->path rather than buggy "canon".
10925
10926 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10927 (ofdisk_hash_add): New argument curcan. All users updated.
10928
51fa856c
CW
109292011-01-11 Colin Watson <cjwatson@ubuntu.com>
10930
10931 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10932
9da068a5
VS
109332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10936 loadmask before doing any calculations. Use correct type for offset.
10937 (grub_linux_load64): Likewise.
10938
86205c94
CW
109392011-01-11 Colin Watson <cjwatson@ubuntu.com>
10940
10941 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10942 with NULL.
10943 (console_grub_equivalences_unshift): Likewise.
10944 Reported by: Daniel Dehennin.
10945
4531a206
VS
109462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10949 (set_env_limn_ro): Likewise.
10950 (GRUB_MOD_INIT): Likewise.
10951 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10952 ARRAY_SIZE while on it.
10953 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10954 * grub-core/normal/context.c (grub_env_export): Move from here ...
10955 * grub-core/kern/env.c (grub_env_export): ... here.
10956 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10957 prefix.
10958 * grub-core/kern/main.c (grub_main): Export root and prefix.
10959 * include/grub/env.h (grub_env_export): Export.
10960 Reported by: Seth Goldberg.
10961
45146057
VS
109622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10965 Take into account space used by ELF sections and multiboot palette.
10966 Reported by: Grégoire Sutre.
10967
f093110b
VS
109682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * BUGS: New file.
10971
3395fe52
VS
109722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 Pass more appropriate video id to Linux.
10975
10976 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10977 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10978 fill have_vga.
10979 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10980 shift params->lfb_size.
10981 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10982
c2fa6cbb
VS
109832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10986
b3ff6ff0
VS
109872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10990 separator and pass bootpath/devid even if only one of them is available.
10991 Reported by: Seth Goldberg.
10992
ae67942e
VS
109932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10996 implementations bug on them.
10997
10998 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10999 memory.
11000 (filter_memory_map): Likewise.
11001
d570097a
VS
110022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11005 Reported by: nebuchadnezzar.
11006
a508e776
VS
110072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11010 Reported by: nebuchadnezzar.
11011
dcb883b1
VS
110122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 Submenu default support.
11015
11016 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11017 auto_boot. All users updated.
11018 Declared static.
11019 Handle chosen and default with submenus.
11020 (grub_menu_execute_with_fallback): Declared static.
11021 Don't notify failure if autobooted. Upper level does it.
11022 (menuentry_eq): New function.
11023 (get_entry_number): Use menuentry_eq.
11024 (show_menu): New parameter "autobooted". All users updated.
11025 (grub_show_menu): Likewise.
11026 * include/grub/normal.h (grub_show_menu): Likewise.
11027 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11028 (grub_menu_execute_with_fallback): Likewise.
11029
6fef99b4
VS
110302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * util/grub-mklayout.c (usage): Update help text.
11033
47a77af5
VS
110342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11037
ce6bb3ee
VS
110382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * util/grub-menulst2cfg.c (main): Trim the line.
11041
db87be2a
VS
110422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11045 (grub_machine_init): Don't check amount of low memory as reportedly
11046 INT 12h can be broken and if low memory is too low we wouldn't have
11047 gotten into grub_machine_init anyway.
11048
c49849cc
VS
110492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11052 (grub_machine_mmap_iterate): Take low memory into account
11053
b1969b30
VS
110542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11057 badfs.
11058 Reported by: TiCPU.
11059
cf0eaf13
VS
110602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11063 members errors.
11064
1f060f39
GS
110652011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11066
11067 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11068 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11069
a21e5672
GS
110702011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11071
11072 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11073 openbsd and netbsd types being in part_bsd module.
11074
c88172fa
VS
110752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11078 (_FILE_OFFSET_BITS): Likewise.
11079 Reported by: Seth Goldberg.
11080
53798c4b
GS
110812011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11082
11083 * configure.ac: Check for libdevmapper header.
11084
e7121b69
VS
110852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11088 avoid aliasing.
11089 (fzap_lookup): Likewise.
11090 (dnode_get): Likewise.
11091 (make_mdn): Likewise.
11092 (zfs_mount): Likewise.
11093 (fzap_iterate): Use temporary pointer to avoid aliasing.
11094 (grub_zfs_read): Likewise.
11095 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11096 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11097 pointers to avoid aliasing.
11098 (grub_cmd_xnu_kernel64): Likewise.
11099 (grub_xnu_load_driver): Likewise.
11100
fc836af9
VS
111012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11104 aliasing warning.
11105 (grub_cmd_terminal_output): Likewise.
11106 Reported and tested by: Grégoire Sutre.
11107
f9f37648
VS
111082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11111 warning.
11112 Reported and tested by: Grégoire Sutre.
11113
ec1dfd63
VS
111142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * configure.ac: Do CPU substitution even if it's specified explicitly.
11117 Reported and tested by: Alain Greppin.
11118
9462775a
VS
111192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11122 Reported and tested by: Alain Greppin.
11123
0fd48e35
VS
111242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Satisfy some bison versions need for inttypes.h.
11127
11128 * grub-core/lib/posix_wrap/inttypes.h: New file.
11129 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11130 (int16_t): Likewise.
11131 (int32_t): Likewise.
11132 (int64_t): Likewise.
11133 Reported and tested by: Alain Greppin.
11134
43f1bc83
VS
111352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11138 Silence spurious warning.
11139 Reported and tested by: Alain Greppin.
11140
64d1f041
SJ
111412011-01-07 Szymon Janc <szymon@janc.net.pl>
11142
11143 * docs/grub.texi (Support automatic decompression): Update with xz
11144 decompression support.
11145
25953e10
SJ
111462011-01-07 Szymon Janc <szymon@janc.net.pl>
11147
11148 Improve loaders' kernel command line handling.
11149
11150 * grub-core/lib/cmdline.c: New file.
11151 * include/grub/lib/cmdline.h: Likewise.
11152 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11153 grub_create_loader_cmdline to create kernel command line.
11154 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11155 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11156 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11157 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11158 (linux): Add lib/cmdline.c on common.
11159
e72d259f
VS
111602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11163 inopos might be unaligned.
11164
c0cf26da
VS
111652011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11168 endian transformations.
11169 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11170 Based on report by: Doug Nazar.
11171
0ca09e6c
DN
111722011-01-07 Doug Nazar <nazard.michi@gmail.com>
11173
11174 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11175 array->members[i].start_sector.
11176 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11177
014b6806
VS
111782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11181 Reported and tested by: Grégoire Sutre.
11182
415502c2
CW
111832011-01-06 Colin Watson <cjwatson@ubuntu.com>
11184
11185 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11186 avoid causing test failures by clearing the screen.
11187
71b6a2b7
CW
111882011-01-06 Colin Watson <cjwatson@ubuntu.com>
11189
11190 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11191 Fix prefix check to handle the case where dir ends with a slash
11192 (most significantly, "/" itself).
11193 Reported by: Michael Vogt.
11194
b3f8d28a
VS
111952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 Run terminfo_cls on initing terminfo output to clear the screen and
11198 move the cursor to (0,0).
11199
11200 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11201 Call grub_terminfo_output_init.
11202 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11203 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11204 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11205
4c3e4f37
VS
112062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11209 only when needed.
11210
488f71f1
VS
112112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11214 CTRL.
11215
18a38098
VS
112162011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 The E820 type 5 is BADRAM, not EXEC_CODE.
11219
11220 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11221 (GRUB_E820_BADRAM): New define.
11222 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11223 into reserved. Propagate BADRAM.
11224 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11225 (GRUB_E820_BADRAM): New define.
11226
9eae2084
VS
112272011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11230 Ignore the memory post-4G.
11231 (grub_relocator_firmware_alloc_region): Additional debug statement.
11232
ebc71d28
VS
112332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11236 names.
11237 Reported by: David Pravec.
11238
446fa400
VS
112392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11242 BIOSes.
11243
a0159f37
VS
112442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11247 Prevent overflow.
11248 (grub_reed_solomon_recover): Likewise.
11249
e5146ca1
VS
112502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11253
112542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11255
11256 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11257 variable.
11258
5b1bdf12
CW
112592011-01-04 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11262 descriptions of extract_legacy_entries_source and
11263 extract_legacy_entries_configfile.
11264 Reported by: Seung Soo, Ha.
11265
99d925aa
CW
112662011-01-03 Colin Watson <cjwatson@ubuntu.com>
11267
11268 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11269 on devices that do not implement function 0.
11270
4af0504b
DV
112712011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11272
11273 * grub-core/fs/hfsplus.c: Make parent unsigned.
11274 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11275 overflows.
11276 (grub_hfsplus_cmp_extkey): Likewise
11277
469ee10a
VS
112782011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * util/grub-install.in: Correctly use bootloader_id and not
11281 GRUB_DISTRIBUTOR on efibootmgr line.
11282
323a8e9c
VS
112832011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11286
1b394975
IC
112872010-12-31 Ian Campbell <ijc@hellion.org.uk>
11288
11289 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11290 Xen and reorder menu item wording to make it clearer that this entry
11291 will launch Xen. Print separate messages when loading Xen and
11292 Linux.
11293
275bff5f
VS
112942010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11297 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11298 loop in case of incorrect amiga partmap.
11299
307806cb
VS
113002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11303 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11304 Reported by:EHeM.
11305
b12b923e
VS
113062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11309 spurious warning.
11310 Reported by: crocket
11311
14b48a19
VS
113122010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11315 Preload EFIemu.
11316 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11317
693db2df
VS
113182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11321 is loaded
11322 (grub_cmd_xnu_kextdir): Likewise.
11323 (grub_cmd_xnu_splash): Likewise.
11324
c7638645
VS
113252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 Avoid using Reed-Solomon with 0 redundancy.
11328
11329 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11330 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11331 or 0 redundancy.
11332 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11333 (grub_reed_solomon_recover): Likewise.
11334
25dd4780
VS
113352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Don't use disk subsystem in freebsd_boot.
11338
11339 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11340 (freebsd_biosdev): Likewise.
11341 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11342 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11343
0b2db943
VS
113442010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 Handling of files of unknown size is currently limited. They can't be
11347 used e.g. for initrd or modules. Moreover gzip handling of not
11348 easily seekable files is buggy. Disable unknown file size for now. May
11349 be inefficient but works.
11350
11351 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11352 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11353
5c408d0f
MP
113542010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11355
11356 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11357 floppy probe.
11358
190a011a
JD
113592010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11360
11361 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11362
022d01b8
SL
113632010-12-25 Shea Levy <shlevy>
11364
11365 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11366
c4855fdc
VS
113672010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11370 Windows Server 2008.
11371 Reported by: Devin Giddings.
11372
0354b867
VS
113732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11376 writing an error message because of async power management.
11377 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11378 (grub_reboot): Likewise.
11379
ab66c69f
JU
113802010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11381
11382 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11383 keep unit tests from failing when they shouldn't.
11384
1426ef35
CW
113852010-12-21 Colin Watson <cjwatson@ubuntu.com>
11386
11387 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11388 previous patch increased the size of the RS code by 20 bytes (at
11389 least with gcc-4.4), so increase this by 20 bytes to match.
11390 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11391
20641b6b
CW
113922010-12-21 Colin Watson <cjwatson@ubuntu.com>
11393
11394 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11395 scratch area. Make sure to initialise chosen in standalone mode as
11396 well as non-standalone.
11397 Reported by: Robert Hooker and Andy Whitcroft.
11398 Tested by: Andy Whitcroft.
11399
d060ad60
CW
114002010-12-21 Colin Watson <cjwatson@ubuntu.com>
11401
11402 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11403 constructing a new unescaped string and passing it to grub_xputs in
11404 one go, rather than passing characters to grub_printf one at a time.
11405
b889cfad
CW
114062010-12-21 Colin Watson <cjwatson@ubuntu.com>
11407
11408 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11409 initialising utf16.
11410
4e01b6c8
CW
114112010-12-21 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11414 comment. Add an extra layer of quotation, requiring the output of
11415 this function to be used in a printf format string.
11416 (gettext_printf): New function.
11417 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11418 Extract translatable strings from here-documents and use a temporary
11419 variable instead, so that xgettext can find them.
11420 * util/grub.d/10_kfreebsd.in: Likewise.
11421 * util/grub.d/10_linux.in: Likewise.
11422 * util/grub.d/20_linux_xen.in: Likewise.
11423
11424 * po/grub.d.sed: New file.
11425 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11426 arguments. Set c-format flags on all strings extracted from
11427 util/grub.d/ (xgettext refuses to include these itself for strings
11428 it extracted from a shell file, but these really are c-format).
11429
5318fe98
VS
114302010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11433 Avoid next pointing to nowhere.
11434
6c85b743
VS
114352010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11438 rather than assuming than rootblock is exactly in the middle.
11439 (grub_affs_label): Likewise.
11440
a2a08a35
VS
114412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11444 reserved_first_sector to 0.
11445 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11446 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11447 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11448
7059d1ec
VS
114492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 Fix handling of UTF-16 UDF labels.
11452
11453 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11454 (read_string): .. here.
11455 (grub_udf_label): Use read_string.
11456
30aff4cb
BC
114572010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11458
11459 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11460 editor under argument scope.
11461 Reported by: Jordan Uggla
11462
5cf86f4b
VS
114632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11466
32570200
CW
114672010-12-18 Colin Watson <cjwatson@ubuntu.com>
11468
11469 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11470 line, and other keys scroll an entire page (previous handling was
11471 for \r and \n to scroll a page and other keys to scroll two lines).
11472
e1dffcf2
VS
114732010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11476 Set ptrdest to correct get_physical_target_address rather than
11477 incorrect get_virtual_current_address.
11478
b04298cf 114792010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11480
11481 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11482 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11483
5367ecd3
CW
114842010-12-10 Colin Watson <cjwatson@ubuntu.com>
11485
11486 * .bzrignore: Ignore grub-core/rs_decoder.S.
11487
1fb430f8
CW
114882010-12-10 Colin Watson <cjwatson@ubuntu.com>
11489
11490 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11491 .mo/.mo.gz opening sequence to ...
11492 (grub_mofile_open_lang): ... here.
11493 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11494 * util/grub.d/00_header.in (grub_lang): Include country part of
11495 locale.
11496 Reported by: Mario Limonciello.
11497
a94a6671
RM
114982010-12-09 Robert Millan <rmh@gnu.org>
11499
11500 * NEWS: Document addition of ZFS support.
11501
24b7938b
CW
115022010-12-04 Colin Watson <cjwatson@ubuntu.com>
11503
11504 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11505 rather than `/ 2', as the latter requires -Wa,--divide which would
11506 require bumping our minimum binutils version.
11507
bddc3ef6
BC
115082010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11509
11510 * util/grub-script-check.c (main): Print script line number on
11511 error.
11512
bf78d5b2
RM
115132010-12-01 Robert Millan <rmh@gnu.org>
11514
11515 * grub-core/fs/zfs/zfs.c: New file.
11516 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11517 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11518 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11519 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11520
11521 * include/grub/zfs/dmu.h: Likewise.
11522 * include/grub/zfs/dmu_objset.h: Likewise.
11523 * include/grub/zfs/dnode.h: Likewise.
11524 * include/grub/zfs/dsl_dataset.h: Likewise.
11525 * include/grub/zfs/dsl_dir.h: Likewise.
11526 * include/grub/zfs/sa_impl.h: Likewise.
11527 * include/grub/zfs/spa.h: Likewise.
11528 * include/grub/zfs/uberblock_impl.h: Likewise.
11529 * include/grub/zfs/vdev_impl.h: Likewise.
11530 * include/grub/zfs/zap_impl.h: Likewise.
11531 * include/grub/zfs/zap_leaf.h: Likewise.
11532 * include/grub/zfs/zfs.h: Likewise.
11533 * include/grub/zfs/zfs_acl.h: Likewise.
11534 * include/grub/zfs/zfs_znode.h: Likewise.
11535 * include/grub/zfs/zil.h: Likewise.
11536 * include/grub/zfs/zio.h: Likewise.
11537 * include/grub/zfs/zio_checksum.h: Likewise.
11538
11539 * Makefile.util.def: Build ZFS into libgrubmods.
11540 * grub-core/Makefile.core.def: Build zfs.mod.
11541
3f0f3831
SJ
115422010-11-30 Szymon Janc <szymon@janc.net.pl>
11543
11544 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11545 variable.
11546 * grub-core/commands/wildcard.c (match_files): Likewise.
11547
3a4253b2
RM
115482010-11-30 Robert Millan <rmh@gnu.org>
11549
11550 * grub-core/loader/i386/bsd.c
11551 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11552 whether kernel is loaded using grub_loader_is_loaded(), rather
11553 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11554 certain error conditions.
11555
8c317b27
RM
115562010-11-30 Robert Millan <rmh@gnu.org>
11557
c5c9cd3e
RM
11558 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11559 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11560
49d3ab46
VS
115612010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 Avoid using tricks for initialising endian variables.
11564
11565 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11566 Make const.
11567 (GRUB_MOD_INIT): Don't byte-swap.
11568 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11569 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11570 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11571 (grub_swap_bytes32_compile_time): Likewise.
11572 (grub_cpu_to_le32_compile_time): Likewise.
11573 (grub_cpu_to_le16_compile_time): Likewise.
11574
f420a804
VS
115752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * util/grub-setup.c (setup): Stop recommending --force. People who
11578 understand the dangers of blocklists are able to find this option
11579 anyway and the ones who don't shouldn't use it anyway.
11580
4e7db17b
RM
115812010-11-26 Robert Millan <rmh@gnu.org>
11582
11583 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11584 Update all users.
11585
9be57a0d
CW
115862010-11-26 Colin Watson <cjwatson@ubuntu.com>
11587
11588 Fix LVM-on-RAID probing.
11589
11590 * util/grub-probe.c (probe): Remember which disk was detected as
11591 RAID (perhaps an LVM physical volume). Use that disk's raidname
11592 rather than that of the top-level disk.
11593
2c7859b3 115942010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11595
d7647bb6
BC
11596 Fix cmdline argument quotes for setparams command of menuentry
11597 definitions.
7e623b0d
BC
11598
11599 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11600 quotes for arguments.
f866fe80 11601 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11602 grub_strchrsub function instead.
f866fe80 11603
7955bea0 11604 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11605
74f72a64
CW
116062010-11-24 Colin Watson <cjwatson@ubuntu.com>
11607
11608 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11609 effort by skipping "." and ".." entries up-front.
11610 Suggested by: Michael Lazarev.
11611
5a407278
CW
116122010-11-24 Colin Watson <cjwatson@ubuntu.com>
11613
11614 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11615 ldflags to ldadd, to fix link line ordering.
11616 (none_decompress): Likewise.
11617
3030d8ec
CW
116182010-11-24 Colin Watson <cjwatson@ubuntu.com>
11619
11620 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11621 platforms.
11622 (grub-emu-lite): Remove kern/emu/cache.S.
11623
b7fbac12
CW
116242010-11-23 Colin Watson <cjwatson@ubuntu.com>
11625
11626 * util/deviceiter.c (compare_devices): If the by-id link for a
11627 device couldn't be resolved, fall back to sorting by the by-id link
11628 rather than segfaulting.
11629 Reported and tested by: Daniel Mierswa.
11630
5225f328
CW
116312010-11-23 Colin Watson <cjwatson@ubuntu.com>
11632
11633 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11634 ldflags, to fix link line ordering.
11635
038b3ce8
CW
116362010-11-23 Colin Watson <cjwatson@ubuntu.com>
11637
11638 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11639 linkers are picky about this.
11640
bf16e98e
CW
116412010-11-23 Colin Watson <cjwatson@ubuntu.com>
11642
11643 * grub-core/Makefile.am (command.lst): Adjust sed expression
11644 ordering so that extended and priority commands aren't treated as
11645 ordinary commands.
11646
7242bab6
CW
116472010-11-23 Colin Watson <cjwatson@ubuntu.com>
11648
11649 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11650 Remove byte-swapping function calls, which are not valid in
11651 structure initialisers.
11652 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11653 non-const.
11654 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11655 grub_gpt_partition_type_bios_boot.
11656
14e8b279
CW
116572010-11-22 Colin Watson <cjwatson@ubuntu.com>
11658
11659 Fix test program build on GNU/kFreeBSD.
11660
11661 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11662 $(LIBNVPAIR)' library dependencies.
11663
e6f63338 116642010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11665
11666 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11667
cf8ffc38
CW
116682010-11-22 Colin Watson <cjwatson@ubuntu.com>
11669
11670 * util/grub-install.in: Remove excessive quoting that broke
11671 installations to RAID devices.
11672
7f8b0fd7
VS
116732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11676 bootloader version instead of 0.
11677
dfd240b1
VS
116782010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11681 warning.
11682
7b61e609
VS
116832010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11686 retrieve the metadat sector if size isn't known.
11687 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11688
9dfe92d0
RM
116892010-11-18 Robert Millan <rmh@gnu.org>
11690
11691 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11692 with grub_memcmp().
11693
41cc919e
VS
116942010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11697 arrow.
11698 Reported by: Jordan Uggla.
11699
1afcc914
VS
117002010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 Make better UTF compliant.
11703
11704 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11705 sequences as incorrect.
11706 (grub_is_valid_utf8): Likewise.
11707 (grub_utf8_to_ucs4): Likewise.
11708 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11709 (grub_ucs4_to_utf8_alloc): Likewise.
11710 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11711
f1808884
VS
117122010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 Make legacy_source behave like source.
11715
11716 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11717 grub_show_menu.
11718 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11719
24ec575b
CW
117202010-11-16 Colin Watson <cjwatson@debian.org>
11721
11722 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11723 (-Wunused implies -Wunused-parameter, but not vice versa).
11724
72b7c7aa
CW
117252010-11-16 Colin Watson <cjwatson@ubuntu.com>
11726
11727 * configure.ac: Make error messages less confusing by testing for
11728 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11729 accepted, but produces a diagnostic if something else is wrong).
11730
e98937aa
VS
117312010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11734 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11735 (now unused).
11736 (grub_keyboard_controller_init)
11737 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11738 read the initial state since controller isn't inited yet.
11739
f6bbabc3
VS
117402010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11743 allocate_regbeg may need to create new chunk header.
11744
22e7dbb2
VS
117452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Fix quoting in legacy parser.
11748
11749 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11750 single quotes.
11751 (grub_legacy_parse): Likewise.
11752 Reported by: Jordan Uggla.
11753 Tested by: Jordan Uggla.
11754
03f80960
VS
117552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 Don't add -lgcc on i386 and x86_64.
11758
11759 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11760 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11761 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11762
779dc15b
VS
117632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * configure.ac: Add -Wno-trampolines when supported.
11766
d20a3b37
MV
117672010-11-14 Modestas Vainius <modax@debian.org>
11768
11769 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11770 fakeraid.
11771
e5360933
GC
117722010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11773
11774 Add generic logical block size support for UDF.
11775
11776 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11777 (GRUB_UDF_BLKSZ): Removed.
11778 (struct grub_udf_data): New field "lbshift" to hold the logical block
11779 size of the file system in log2 format. All users updated.
11780 (sblocklist): Change type to unsigned.
11781 (grub_udf_mount): Change type of "sblklist" to unsigned.
11782 Move AVDP search before VRS recognition, because the latter requires
11783 knowledge of the logical block size, which is detected during the
11784 former.
11785 Detect and validate logical block size during AVDP search, adding
11786 support for block sizes 512, 1024 and 4096.
11787 Make VRS recognition independent of block size.
11788
cb0229c5
GC
117892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11790
11791 Properly handle deleted files on UDF.
11792
11793 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11794 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11795 set.
11796
406858a8
GC
117972010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11798
11799 Support reading files larger than 2 GiB.
11800
11801 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11802 "offset" to grub_off_t.
11803 (grub_udf_read_file): Likewise for parameter "pos".
11804
130da6a7
VS
118052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11808 unavailable.
11809 (Simple configuration): Refer to Changes from GRUB Legacy about
11810 save_env availability.
11811
65e93f6b
VS
118122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * util/grub-install.in: Ignore empty partition table detection
11815 instead of trying to include part_ module.
11816
1fd08bf1
VS
118172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11820 LVM on RAID support.
11821
de1a024f
VS
118222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 Properly define WORDS_BIGENDIAN in wrapped environments.
11825
11826 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11827 definition.
11828 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11829
11830 Reported by: Manoel Rebelo Abranches.
11831 Tested by: Manoel Rebelo Abranches.
11832
bc5dd0b9
VS
118332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * util/grub-mkconfig.in: Fix quoting.
11836
58c184be
VS
118372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 Support big ext2 files.
11840
11841 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11842 (grub_ext2_read_block): Support triple indirect blocks.
11843 (grub_ext2_read_file): Use 64-bit types and read size_high.
11844 (grub_ext2_open): Read size_high.
11845 Reported by: Ximin Luo.
11846 Tested by: Manoel Rebelo Abranches.
11847
5f0c02b3
VS
118482010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * util/grub-install.in: Handle filenames containing spaces.
11851 Reported by: Jordan Uggla.
11852 Tested by: Jordan Uggla.
11853
4417aae6
VS
118542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * util/grub-mkconfig.in (grub_script_check): New variable.
11857 Use grub_script_check instead of grub-script-check.
11858 Reported by: Barry Jackson.
11859
7625a68e
VS
118602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * docs/grub.texi (menu): Correct the order.
11863 Reported by: D. Hugh Redelmeier.
11864
10001ac5
VS
118652010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11868 jump.
11869
9c4cf53b
MRA
118702010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11871
10001ac5
VS
11872 * include/grub/elfload.h (grub_elf32_size): New parameter.
11873 All users updated.
9c4cf53b
MRA
11874 Return maximum segments alignment.
11875 (grub_elf64_size): Likewise.
11876 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11877 Return maximum segments alignment.
11878 (grub_elf64_size): Likewise.
11879 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11880 (grub_linux_claimmap_iterate): New function. Uses the
11881 "available" property in the "memory" node for memory allocation
11882 for kernel in the PowerPC loader.
9c4cf53b
MRA
11883 (grub_linux_load32): Correctly find linux entry point offset.
11884 (grub_linux_load64): Likewise.
11885
d2bf06bf
RM
118862010-11-07 Robert Millan <rmh@gnu.org>
11887
11888 On mips-yeeloong, build with -march=loongson2f when this flag is
11889 available (GCC >= 4.4).
11890 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11891 `-march=mips3'.
11892 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11893 or otherwise add -march=mips3.
11894
898c99a2
BC
118952010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11896
87220a68
BC
11897 Suppress shell expansion on echo '*' and echo "*" like cases.
11898 Reported by: Jordan Uggla.
898c99a2
BC
11899
11900 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11901 string arguments before shell expansion.
11902 * tests/grub_cmd_echo.in: New testcases.
11903
4f9b406a
RM
119042010-11-07 Robert Millan <rmh@gnu.org>
11905
11906 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11907 transition.
11908
80c6d25e
VS
119092010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/kern/emu/hostdisk.c
11912 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11913
4a1a0153
VS
119142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11917 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11918 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11919
34706ddc
VS
119202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11923
6972dea9
VS
119242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * util/grub-install.in: Replace useless recomendation to pass
11927 --modules with a recomendation to report a bug.
11928
9c693bd6
VS
119292010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Properly register serial terminfo.
11932 Reported by: Jordan Uggla
11933
11934 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11935 const.
11936 (grub_serial_terminfo_output_template): Likewise.
11937 (grub_cmd_serial): Register "serial" with terminfo.
11938 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11939 grub_serial_terminfo_output.
11940
6c9e4c0c
RM
119412010-11-05 Robert Millan <rmh@gnu.org>
11942
11943 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11944 needed).
11945
b9b3839f
RM
119462010-11-05 Robert Millan <rmh@gnu.org>
11947
11948 On Yeeloong, pass machine type information to Linux.
11949
11950 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11951 (LOONGSON_MACHTYPE): New macro, set to
11952 "machtype=lemote-yeeloong-2f-8.9inches".
11953 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11954 additional argument to Linux.
11955
1a3aaff4
RM
119562010-11-04 Robert Millan <rmh@gnu.org>
11957
11958 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11959 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11960 (its SATA disks are detected as slaveless IDE master drives on
11961 kFreeBSD).
11962 Reported by Carsten Aulbert.
11963
a75f4f62
CW
119642010-11-02 Colin Watson <cjwatson@ubuntu.com>
11965
11966 * util/bin2h.c (main): Fix spelling error in generated output.
11967
33b4b0c6
GS
119682010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11969
11970 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11971
2b36fbf4
VS
119722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11975 vga= option is supplied.
11976
74aaf558
VS
119772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11980 * util/grub.d/10_kfreebsd.in: Likewise.
11981 * util/grub.d/10_linux.in: Likewise.
11982 * util/grub.d/20_linux_xen.in: Likewise.
11983
6428dec3
VS
119842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11987 argument as an argument to no-argument option.
11988
f8729d98
VS
119892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * util/grub.d/10_linux.in: Add missing load_video with explicit
11992 GRUB_GFXPAYLOAD_LINUX.
11993
89d68fa6
VS
119942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11997
3a1197cd
VS
119982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12001 elements with invlid index.
12002 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12003 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12004 members.
12005 * include/grub/raid.h (grub_raid_member): New struct.
12006 (grub_raid_array): Transform devices and start_sector into usage of
12007 grub_raid_member. All users updated
12008 (allocated_devs): New member.
12009
71574288
VS
120102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12013 is modified
12014
8d40ec65
BC
120152010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12016
12017 NetBSD build fix for getline function conflict from gnulib.
12018
12019 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12020 components that depend on gnulib headers.
12021 (libgrubmods.a): Renamed from earlier libgrub.a.
12022 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12023
95b9257e
VS
120242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12027 install rather than creating a broken install.
12028
26c53dc6
VS
120292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * util/grub-setup.c (argp): Remove misleading example of installing to
12032 a partition.
12033
4171b3c5
VS
120342010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * util/grub-setup.c (setup): Clarify the error message.
12037
18568d18
VS
120382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12041
4f6a2e21
VS
120422010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/kern/emu/misc.c
12045 (grub_make_system_path_relative_to_its_root)
12046 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12047
120482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12049
12050 * grub-core/kern/emu/misc.c
12051 (grub_make_system_path_relative_to_its_root): Revert r2882.
12052
e138c458
VS
120532010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12056 useless field head. All users updated.
12057 (free_subchunk): Correct handling of IN_REGION subchunk.
12058
0cbcdf0e
CW
120592010-10-22 Colin Watson <cjwatson@ubuntu.com>
12060
12061 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12062 (Supported kernels): Likewise.
12063
b65ea155
GS
120642010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12065
12066 Make mktemp invocations portable.
12067
12068 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12069 exit if mktemp fails.
12070 * tests/grub_script_blockarg.in: Likewise.
12071 * tests/partmap_test.in: Likewise.
12072 * tests/util/grub-shell-tester.in: Likewise.
12073 * tests/util/grub-shell.in: Likewise.
12074 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12075 * Makefile.am: Likewise, and chain shell commands with `&&'
12076 instead of ';'.
12077 * util/grub-mkrescue.in: Use the same explicit template as above, and
12078 exit if mktemp fails.
12079
05f43cdd
BC
120802010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12081
12082 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12083 Linux kernel, reported by Dennis Schridde.
12084
800e6a9b
SJ
120852010-10-17 Szymon Janc <szymon@janc.net.pl>
12086
12087 * grub-core/normal/auth.c (grub_auth_check_authentication):
12088 Set-but-not-used variable removed.
12089
d82df574
VS
120902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12093 32-bit linux protocol.
12094
7bced458
VS
120952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12098 cursor shape for sanity.
12099
5b027690
VS
121002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * docs/grub.texi (Installation): Document buggy BIOS install.
12103
ba5f65cf
VS
121042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * docs/grub.texi (Installation): Indent.
12107
fdf2ec9c
VS
121082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * util/grub-setup.c (setup): New parameter allow_floppy.
12111 (arguments): New member allow_floppy.
12112 (argp_parser): Handle --allow-floppy.
12113 (main): Pass allow_floppy.
12114 * util/grub-install.in: New option --allow-floppy passed though to
12115 grub-setup.
12116
861dfd4c
VS
121172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * util/grub-install.in: Handle partitionless disks.
12120
f77a8c24
VS
121212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * util/grub-setup.c (setup): Don't clean blocklists before readability
12124 verfification.
12125
27d9ee32
VS
121262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * docs/grub.texi (Installation): Document embedding zone. Remove
12129 obsolete grub-install example.
12130
6bdda8f8
SJ
121312010-10-16 Szymon Janc <szymon@janc.net.pl>
12132
12133 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12134 Set-but-not-used variable ifdef'ed.
12135 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12136 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12137 variable removed.
12138 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12139 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12140 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12141 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12142 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12143 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12144 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12145 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12146 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12147 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12148 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12149 Likewise.
12150
e19b016b
VS
121512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12154 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12155 enum value.
12156
6c8d3002
VS
121572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12160 synonym to _S5_. Needed for some DSDTs.
12161
c32b51c9
VS
121622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 Userspace ACPI parser debugging.
12165
12166 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12167 headers and add relevant defines. Don't include standard headers.
12168 (main) [GRUB_DSDT_TEST]: New function.
12169 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12170 Don't declare functions.
12171
fbfbeb39
VS
121722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 Remove dead grub_efi_mm_fini.
12175
12176 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12177 (ALLOCATED_PAGES_SIZE): Likewise.
12178 (MAX_ALLOCATED_PAGES): Likewise.
12179 (allocated_pages): Likewise.
12180 (grub_efi_allocate_pages): Don't record allocated pages.
12181 (grub_efi_free_pages): Likewise.
12182 (grub_efi_mm_init): Likewise.
12183 (grub_efi_mm_fini): Removed.
12184
65f7ed7c
VS
121852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12188 (grub_efi_mm_init): Take into account the memory map size increase.
12189
24977b44
VS
121902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12193 (serial_hw_put): Wait based on real time rather than port reads. Don't
12194 roken ports.
12195 * include/grub/serial.h (grub_serial_port): New field broken.
12196
1eb01cd2
RM
121972010-10-16 Robert Millan <rmh@gnu.org>
12198
12199 * grub-core/kern/emu/misc.c
12200 (grub_make_system_path_relative_to_its_root): Fix premature return
12201 when processing non-root ZFS filesystems.
5f8b440b 12202 Reported by Sergio Talens-Oliag.
1eb01cd2 12203
2d5fed60
RM
122042010-10-15 Robert Millan <rmh@gnu.org>
12205
12206 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12207 guarantee compressed ones are processed first.
12208
d0f4c1ea
VS
122092010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12212 grub_efiemu_autocore.
12213
d87c681f
VS
122142010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12217 rather than 0x1b.
12218 (grub_console_getkey): Use correct jae opcode rather than ja.
12219
219b3564
RM
122202010-10-12 Robert Millan <rmh@gnu.org>
12221
12222 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12223 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12224 variable. All references updated.
12225
12226 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12227
20c6bb7e
VS
122282010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 Correctly distinguish mdraid flavours.
12231
12232 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12233 (insert_array): New argument raid.
12234 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12235 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12236 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12237
74baff84
VS
122382010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12241 handling of special keys.
12242
3ef068df 122432010-10-02 Aleš Nesrsta <starous@volny.cz>
12244
c7980ad9
VS
12245 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12246 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12247
a9455194 122482010-10-02 Aleš Nesrsta <starous@volny.cz>
12249
c7980ad9
VS
12250 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12251 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12252 users updated.
a9455194 12253 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12254 Use right endpoint when querying descriptor.
a9455194 12255
441cfe65
VS
122562010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 Clear out 0x80 color bit on EFI.
12259 Tested by: decoder
12260 Reported by: decoder and meta tech.
12261
12262 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12263 (grub_console_setcolorstate): Clear out 0x80 bit.
12264 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12265 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12266 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12267
bf26bcc4
VS
122682010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12271 Set to "auto".
12272
6e3c515d
VS
122732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12276 mo_file after freeing.
12277
e6d983ba
VS
122782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12281
74ccb5b5
VS
122822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12285 flags.
12286
17821956
VS
122872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12290 usage.
12291
ee74fa48
VS
122922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12295
12296 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12297 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12298 and terminfo.h when needed.
12299 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12300 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12301 (terminfo): Enable only on terminfokernel.
12302 (extcmd): Likewise.
12303 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12304 * include/grub/lib/arg.h: Likewise.
12305 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12306 incorrect usage of ->.
12307
aa438e68
VS
123082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12311 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12312
57994012
VS
123132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 Fix coreboot compilation.
12316
12317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12318 Take VBE info into account even if only text is supported.
12319 (fill_vbe_info): Take into account the case when only VGA text
12320 is supported.
12321 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12322 on coreboot, multiboot and qemu.
12323
2a406611
VS
123242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12327 debug messages.
12328 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12329
d33613fc
VS
123302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12333 parameters.
12334
44a1b432
VS
123352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12338 if they were BSD-style.
12339
edde54e6
VS
123402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/boot/i386/pc/lnxboot.S: Replace
12343 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12344 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12345
b65830fa
VS
123462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 Write embedding zone using Reed-Solomon.
12349
12350 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12351 * grub-core/Makefile.am (rs_decoder.S): New target.
12352 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12353 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12354 (multiboot): Move to RS part.
12355 (post_reed_solomon): New label.
12356 (grub_boot_drive): Move to non-RS part since it's modified in memory
12357 on boot.
12358 Include rs_decoder.S.
12359 * grub-core/lib/reed_solomon.c: New file.
12360 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12361 New definition.
12362 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12363 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12364 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12365 * include/grub/partition.h (grub_partition_map): Change prototype of
12366 embed to allow returning additional sectors.
12367 * include/grub/reed_solomon.h: New file.
12368 * util/grub-setup.c (setup): Handle Reed-Solomon.
12369
0b4b227f
CW
123702010-09-28 Colin Watson <cjwatson@ubuntu.com>
12371
12372 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12373 i386 and x86-64 definedness tests.
12374
f772623b
YB
123752010-09-27 Yves Blusseau <blusseau@zetam.org>
12376
12377 Fix generation of kernel_syms.lst
12378
12379 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12380 ASM_PREFIX
12381
8e57a6ca
RM
123822010-09-26 Robert Millan <rmh@gnu.org>
12383
12384 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12385
12386 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12387 the pool is an array of devices, iterate through it and return the
12388 first device that passes a stat() test (instead of blindly returning
12389 the first one).
12390
f9130836
RM
123912010-09-26 Robert Millan <rmh@gnu.org>
12392
12393 Build fixes for GNU/kFreeBSD.
12394
12395 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12396 to programs that require ZFS conversion.
12397 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12398 kernels that don't have FLOPPY_MAJOR.
12399
96510faf
BC
124002010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12401
12402 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12403
449333eb
BC
124042010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12405
12406 Fix grub-emu build.
12407
12408 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12409 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12410 mdraid09 and mdraid1x.
12411
e1fd1939
CW
124122010-09-24 Colin Watson <cjwatson@ubuntu.com>
12413
12414 Re-enable grub-extras.
12415
12416 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12417 avoid confusing Automake. Run autogen only twice, once for the top
12418 level and once for grub-core. Add Makefile.util.def and
12419 Makefile.core.def from extra modules to the appropriate autogen
12420 invocations. If Makefile.common exists in an extra module, include
12421 it in both Makefile.util.am and grub-core/Makefile.core.am;
12422 similarly, include any Makefile.util.common file in Makefile.util.am
12423 and any Makefile.core.common file in grub-core/Makefile.core.am.
12424 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12425 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12426 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12427 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12428
12429 * gentpl.py (gvar_add): Turn GVARS into a set.
12430 (global_variable_initializers): Sort global variables on output.
12431 (vars_init): New function.
12432 (first_time): Likewise.
12433 (library): Ensure that non-global variable initialisations are
12434 emitted before the first time we emit code for a library block.
12435 Append to variables rather than setting them. Only emit
12436 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12437 each conditional path.
12438 (program): installdir() emits an Autogen macro, so must be passed to
12439 var_add rather than gvar_add.
12440 (data): Likewise.
12441 (script): Likewise.
12442 (rules): New function, centralising handling for different target
12443 types. Set up Guile association lists for first_time and vars_init,
12444 and send most output to a diversion so that variable initialisations
12445 can be emitted first.
12446 (module_rules): Use new rules function.
12447 (kernel_rules): Likewise.
12448 (image_rules): Likewise.
12449 (library_rules): Likewise.
12450 (program_rules): Likewise.
12451 (script_rules): Likewise.
12452 (data_rules): Likewise.
12453
12454 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12455
12456 * .bzrignore: Add contrib and grub-core/contrib. Remove
12457 grub-core/Makefile.gcry.am.
12458
1d12cf29
YB
124592010-09-24 Yves Blusseau <blusseau@zetam.org>
12460
12461 * grub-core/lib/LzFind.c: Add missing include.
12462 * grub-core/lib/LzmaEnc.c: Likewise.
12463 * grub-core/script/lexer.c: Likewise.
12464 * grub-core/script/yylex.l: Likewise.
12465 * util/grub-macho2img.c: Likewise.
12466 * util/grub-menulst2cfg.c: Likewise.
12467 * util/grub-mklayout.c: Likewise.
12468 * util/grub-mkpasswd-pbkdf2.c
12469 * util/grub-mkrelpath.c: Likewise.
12470 * util/resolve.c: Likewise.
12471
dd363028
BC
124722010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12473
12474 * Makefile.util.def (example_unit_test): Add
12475 grub-core/gnulib/libgnu.a.
12476
f5a109e2
GS
124772010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12478
12479 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12480
6d0fa83c
VS
124812010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 Support xz compression on yeeloong.
12484
12485 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12486 * configure.ac: Check for LZMA.
12487 * grub-core/Makefile.core.def (xz_decompress): New target.
12488 (none_decompress): Likewise.
12489 * grub-core/boot/decompressor/minilib.c: New file.
12490 * grub-core/boot/decompressor/none.c: Likewise.
12491 * grub-core/boot/decompressor/xz.c: Likewise.
12492 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12493 * grub-core/kern/mips/cache_flush.S: Likewise.
12494 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12495 * grub-core/kern/mips/startup.S: Move first stage to ...
12496 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12497 nomacro.
12498 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12499 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12500 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12501 Allocate statically.
12502 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12503 Allocate statically or use scratch. Don't check CRC32.
12504 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12505 Allocate statically. Don't check CRC32.
12506 * include/grub/decompressor.h: New file.
12507 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12508 Removed.
12509 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12510 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12511 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12512 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12513 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12514 * util/grub-mkimage.c (grub_compression_t): New type.
12515 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12516 (image_target_desc): New field default_compression.
12517 (image_targets): Adjust yeeloong targets.
12518 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12519 (compress_kernel): New parameter comp.
12520 (generate_image): Likewise. Handle new compression case.
12521 (options): New option --compression
12522 (help): Likewise.
12523 (main): Handle new option.
12524
1b655af6
GS
125252010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12526
12527 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12528
8f03f0b5
CW
125292010-09-22 Colin Watson <cjwatson@ubuntu.com>
12530
12531 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12532 typo in __i386__ conditional.
12533
7835dfd3
VS
125342010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12537 include.
12538
e255597e
VS
125392010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12540
6d0fa83c 12541 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12542
12543 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12544 new tags as supported.
12545 (acpiv2_size): New function.
12546 (grub_multiboot_get_mbi_size): Take new tags into account.
12547 (grub_multiboot_make_mbi): Add new tags.
12548 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12549
6cc14051 125502010-09-21 Aleš Nesrsta <starous@volny.cz>
12551
12552 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12553 Added missing configuration of USB device.
12554
df7769d8
CW
125552010-09-21 Colin Watson <cjwatson@ubuntu.com>
12556
12557 * grub-core/normal/menu_entry.c (run): Make sure we always return
12558 a value.
12559
b031012d
CW
125602010-09-21 Colin Watson <cjwatson@ubuntu.com>
12561
12562 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12563 NumberOfPages is UINT64 according to the UEFI specification, not
12564 UINTN. Fix printf format.
12565
174de8f3
CW
125662010-09-21 Colin Watson <cjwatson@ubuntu.com>
12567
12568 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12569 `err' to grub_usb_err_t.
12570 Reported and tested by: KESHAV P.R.
12571
d7dbe923
CW
125722010-09-21 Colin Watson <cjwatson@ubuntu.com>
12573
12574 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12575 tpart non-const, so that we can assign to it. (Since this is a
12576 typedef, the constness refers to the pointer rather than what it
12577 points to.)
12578
8d5e2af3
CW
125792010-09-21 Colin Watson <cjwatson@ubuntu.com>
12580
12581 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12582 $(top_srcdir)/grub-core/gnulib as well as
12583 $(top_builddir)/grub-core/gnulib.
12584 Reported by: KESHAV P.R.
12585
5c527783
CW
125862010-09-21 Colin Watson <cjwatson@ubuntu.com>
12587
12588 * util/grub-install.in: Fix the bootloader ID option to be
12589 consistently --bootloader-id, not --bootloader_id.
12590 Reported by: KESHAV P.R.
12591
d309a16e
CW
125922010-09-21 Colin Watson <cjwatson@ubuntu.com>
12593
12594 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12595 check hash checksum." consistently translatable.
12596
b830cd16
YB
125972010-09-21 Yves Blusseau <blusseau@zetam.org>
12598
12599 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12600 $(top_builddir).
12601
c4fe27a8
CW
126022010-09-21 Colin Watson <cjwatson@ubuntu.com>
12603
12604 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12605 (GRUB_MOD_INIT): Register sha1sum command.
12606 (GRUB_MOD_FINI): Unregister sha1sum command.
12607
a4c1d277
YB
126082010-09-21 Yves Blusseau <blusseau@zetam.org>
12609
12610 Keep boot and grub directory names in sync with utils scripts
12611
12612 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12613 * config.h.in: Add previous macros.
12614 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12615 * util/grub-install.in: Use $bootdir and $grubdir variables.
12616
4eff79d2
CW
126172010-09-21 Colin Watson <cjwatson@ubuntu.com>
12618
12619 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12620 convert partition names to disk names if the new `convert' parameter
12621 is set.
12622 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12623 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12624 disk in its own right. This can happen with Xen disk images.
12625
934d7e44
YB
126262010-09-21 Yves Blusseau <blusseau@zetam.org>
12627
12628 * util/grub-editenv.c: Update strings to avoid warnings when generating
12629 grub.pot file.
12630 * util/grub-setup.c: Likewise.
934d7e44 12631
df3367cc
VS
126322010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * configure.ac: Change version to 1.99~beta0.
12635
77a94e98
VS
126362010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12639 Add BADRAM.
12640 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12641 Likewise.
12642 * include/multiboot.h: Resynced with specification.
12643 * include/multiboot2.h: Likewise.
12644
269004c1
CW
126452010-09-21 Colin Watson <cjwatson@ubuntu.com>
12646
12647 Fix po directory handling.
12648
12649 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12650 * grub-core/gnulib/Makefile.am: Import gettext module.
12651 * m4/gnulib-cache.m4: Likewise.
12652 * m4/gnulib-comp.m4: Likewise.
12653 * m4/gettext.m4: New file, from gnulib.
12654 * m4/glibc2.m4: Likewise.
12655 * m4/iconv.m4: Likewise.
12656 * m4/intdiv0.m4: Likewise.
12657 * m4/intl.m4: Likewise.
12658 * m4/intldir.m4: Likewise.
12659 * m4/intlmacosx.m4: Likewise.
12660 * m4/intmax.m4: Likewise.
12661 * m4/inttypes-pri.m4: Likewise.
12662 * m4/lcmessage.m4: Likewise.
12663 * m4/lib-ld.m4: Likewise.
12664 * m4/lib-link.m4: Likewise.
12665 * m4/lib-prefix.m4: Likewise.
12666 * m4/lock.m4: Likewise.
12667 * m4/nls.m4: Likewise.
12668 * m4/po.m4: Likewise.
12669 * m4/printf-posix.m4: Likewise.
12670 * m4/progtest.m4: Likewise.
12671 * m4/threadlib.m4: Likewise.
12672 * m4/uintmax_t.m4: Likewise.
12673 * m4/visibility.m4: Likewise.
12674 * po/Makefile.am: Remove.
12675 * po/Makefile.in.in: New file, from gettext.
12676 ($(DOMAIN).pot-update): Support POTFILES-shell.
12677 * po/Makevars: New file.
12678 * po/POTFILES-shell: Rename to ...
12679 * po/POTFILES-shell.in: ... this. Update.
12680 * po/POTFILES: Rename to ...
12681 * po/POTFILES.in: ... this. Update.
12682 * po/Rules-quot: New file, from gettext.
12683 * po/boldquot.sed: Likewise.
12684 * po/en@boldquot.header: Likewise.
12685 * po/en@quot.header: Likewise.
12686 * po/insert-header.sin: Likewise.
12687 * po/quot.sed: Likewise.
12688 * po/remove-potcdate.sin: Likewise.
12689
3e0fa5d0
VS
126902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12693
ade9bd66
VS
126942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * util/grub.d/20_linux_xen.in: Use submenus.
12697
fc55cc4c
VS
126982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 Support submenus.
12701
12702 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12703 parameter submenu. All users updated.
12704 * grub-core/normal/main.c (free_menu): Rename to ...
12705 (grub_normal_free_menu): ... this. Made global.
12706 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12707 if requested.
12708 * grub-core/normal/menu_entry.c (screen): New field submenu.
12709 (make_screen): Set submenu.
12710 (run): Open new context if requested.
12711 * include/grub/menu.h (grub_menu_entry): New field submenu.
12712 * include/grub/normal.h (grub_normal_free_menu): New proto.
12713
600cedf7
VS
127142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Menu entries extractor.
12717
12718 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12719 variants.
12720 (GRUB_MOD_INIT): Register new variants.
12721 (GRUB_MOD_FINI): Unregister new variants.
12722 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12723 into grub_cmd_legacy_source.
12724 (grub_cmd_legacy_source): Implement extractor variants.
12725 (GRUB_MOD_INIT): Register new variants.
12726 (GRUB_MOD_FINI): Unregister new variants.
12727 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12728 as an extractor.
12729 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12730 search as an extractor.
12731 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12732 test as an extractor.
12733 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12734 as an extractor.
12735 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12736 (grub_env_new_context): New function.
12737 (grub_env_context_open): Likewise.
12738 (grub_env_extractor_open): Likewise.
12739 (grub_env_extractor_close): Likewise.
12740 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12741 grub_extractor_level.
12742 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12743 * include/grub/env.h (grub_env_extractor_open): New proto.
12744 (grub_env_extractor_close): Likewise.
12745 * include/grub/normal.h (grub_extractor_level): New external variable.
12746
7bda3a87
VS
127472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 Make cutmem accept a region specification.
12750 Suggested by: Samuel Thibault
12751
12752 * grub-core/mmap/mmap.c (parsemem): New function.
12753 (grub_cmd_cutmem): Handle new arguments.
12754
2ea57f88
VS
127552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 New command cutmem.
12758
12759 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12760 (GRUB_MOD_INIT): Register new command.
12761 (GRUB_MOD_FINI): Unregister new command.
12762
74342e31
VS
127632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 Support some annoying BSD and Minix subpartitions.
12766
12767 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12768 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12769 Properly handle concatenation.
12770 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12771 * grub-core/normal/completion.c (iterate_partition): Likewise.
12772 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12773 contain partition. All users updated.
12774 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12775 struct.
12776 (grub_openbsdlabel_partition_map): Likewise.
12777 (bsdlabel_partition_map_iterate): Rename to ..
12778 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12779 (bsdlabel_partition_map_iterate): New function.
12780 (netopenbsdlabel_partition_map_iterate): Likewise.
12781 (netbsdlabel_partition_map_iterate): Likewise.
12782 (openbsdlabel_partition_map_iterate): Likewise.
12783 (GRUB_MOD_INIT): Register new partmaps.
12784 (GRUB_MOD_FINI): Unregister new partmaps.
12785 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12786 (grub_partition_msdos_iterate): ... this. All users updated.
12787 Don't support embedding other than in a minix partition.
12788 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12789 proto.
12790 * include/grub/partition.h (grub_partition): New field msdostype.
12791 * util/grub-install.in: Handle openbsd and netbsd types being in
12792 part_bsd module.
12793
1e8d555b
VS
127942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12797
12798 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12799 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12800 (mdraid09): ... this.
12801 (mdraid1x): New module.
12802 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12803 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12804
899d8af4
VS
128052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12808 vsprintf.
12809
40901acd
CW
128102010-09-20 Colin Watson <cjwatson@ubuntu.com>
12811
12812 * grub-core/commands/efi/lsefimmap.c: Correct header.
12813 * NEWS: Update.
12814
dfe3b247
CW
128152010-09-20 Colin Watson <cjwatson@ubuntu.com>
12816
12817 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12818 as printf format strings; the translations might contain '%' which
12819 could cause a crash.
12820 (main): Likewise.
12821 * util/grub-fstest.c (argp_parser): Likewise.
12822 * util/grub-setup.c (argp_parser): Likewise.
12823 (main): Likewise.
12824
3286a4b4
VS
128252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 Use argp in grub-fstest.
12828
12829 * util/grub-fstest.c: Don't include getopt.h.
12830 Include argp.h.
12831 (root): New variable.
12832 (args_count): Likewise.
12833 (nparm): Likewise.
12834 (num_disks): Likewise.
12835 (images): Likewise.
12836 (cmd): Likewise.
12837 (debug_str): Likewise.
12838 (args): Likewise.
12839 (options): Transformed to argp.
12840 (usage): Removed.
12841 (main): Split argument parsing into ...
12842 (argp_parser): ... this. Changed to argp format.
12843 (argp): New variable.
12844 (main): Use argp_parse.
12845
3dccbe4b
TG
128462010-09-20 Tristan Gingold <gingold@free.fr>
128472010-09-20 Robert Millan <rmh.grub@aybabtu.com>
128482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/commands/efi/lsefimmap.c: New file.
12851 * grub-core/Makefile.core.def (lsefimmap): New module.
12852 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12853
38c259a7
VS
128542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 Pause the execution (10s max) if any errors are displayed so the user
12857 has a chance to see them.
12858
12859 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12860 (grub_print_error): Increment grub_err_printed_errors.
12861 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12862 execution if any errors were displayed.
12863 (show_menu): Remove old code for pause.
12864 * grub-core/normal/menu_entry.c (run): Likewise.
12865 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12866 users updated.
12867 (grub_normal_get_char_counter): Likewise.
12868 * include/grub/err.h (grub_err_printed_errors): New external variable.
12869 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12870
f218b09c
VS
128712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 Support multiboot VBE info.
12874
12875 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12876 Take VBE info into account.
12877 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12878 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12879 Call fill_vbe_info when appropriate.
12880 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12881 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12882 as supported.
12883 (grub_multiboot_get_mbi_size): Take new tags into account.
12884 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12885 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12886 Call fill_vbe_tag when appropriate.
12887 (grub_multiboot_make_mbi): Properly align tags.
12888 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12889 function.
12890 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12891 proto.
12892 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12893
a9cc5438
VS
128942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 Suport manual terminal geometry specification.
12897
12898 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12899 Save state in grub_ofconsole_terminfo_output.
12900 (grub_ofconsole_term): Use grub_terminfo_getwh.
12901 (grub_ofconsole_getwh): Removed.
12902 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12903 (grub_serial_term): Use grub_terminfo_getwh.
12904 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12905 (options): New struct.
12906 (OPTION_*): New enum.
12907 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12908 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12909 width and height.
12910 (grub_terminfo_getwh): New proto.
12911 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12912
1a8fed20
VS
129132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Handle legacy "terminal" command.
12916
12917 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12918 and FLAG_TERMINAL.
12919 (legacy_commands): Add terminal and title.
12920 (grub_legacy_parse): Handle terminal. Simplify title handling.
12921
41e9c57d
VS
129222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12925 parameters overflow.
12926
61c874c5
CW
129272010-09-20 Colin Watson <cjwatson@ubuntu.com>
12928
12929 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12930 widthspec.h.
12931
12932 * docs/grub.texi (Shell-like scripting): Document `!'.
12933 (Network): Simplify using new i386-pc-pxe format. Mention
12934 grub-mknetdir.
12935
12936 * NEWS: Update.
12937
943682b4
CW
129382010-09-20 Colin Watson <cjwatson@ubuntu.com>
12939
12940 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12941 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12942 when needed.
12943
6d3d698d
CW
129442010-09-20 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * grub-core/commands/efi/lsefisystab.c: Correct header.
12947 * grub-core/commands/efi/lssal.c: Likewise.
12948 * grub-core/commands/testload.c: Likewise.
12949
c982589f
CW
129502010-09-20 Colin Watson <cjwatson@ubuntu.com>
12951
12952 * util/grub-mkrescue.in: Add explicit root argument to --set to
12953 prevent the UUID being interpreted as an argument to --set (matches
12954 previous change to prepare_grub_to_access_device).
12955
a63c31b6
CW
129562010-09-20 Colin Watson <cjwatson@ubuntu.com>
12957
12958 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12959 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12960 the verbosity of later #ifs.
12961 (find_partition_start): Define this function on FreeBSD too.
12962 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12963 function.
12964 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12965 on FreeBSD.
12966
6439b8ee
YB
129672010-09-20 Yves Blusseau <blusseau@zetam.org>
12968
12969 * util/grub-editenv.c: Use argp instead of getopt.
12970
c5930ec8
YB
129712010-09-20 Yves Blusseau <blusseau@zetam.org>
12972
12973 * util/grub-setup.c: Use argp instead of getopt.
12974
15c69261
YB
129752010-09-20 Yves Blusseau <blusseau@zetam.org>
12976
12977 Use gnulib-tool to create gnulib source files.
12978
12979 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12980 grub-core/gnulib directories
12981 * .bzignore: Add **/.deps and autogenerated gnulib files
12982 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12983 of gnulib macros, add grub-core/gnulib/Makefile
12984 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12985 include m4 directory to aclocal.
12986 * Makefile.util.def: Remove direct compilation of gnulib source files
12987 and use the new grub-core/gnulib/libgnu.a.
12988 * build-aux/config.rpath: move config.rpath from top directory to
12989 build-aux
12990 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12991 in gnulib headers
12992 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12993 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12994 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12995 header.
12996 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12997 string.
12998
e511c9f5
YB
129992010-09-20 Yves Blusseau <blusseau@zetam.org>
13000
13001 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13002 grub-core/genmod.sh and grub-core/gensyminfo.sh
13003
c2dede05
BC
130042010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13005
13006 Add a test for echo command options.
13007
13008 * tests/grub_cmd_echo.in: New test.
13009 * Makefile.util.def: Rules for new test.
13010
c55f5018
SJ
130112010-09-20 Szymon Janc <szymon@janc.net.pl>
13012
13013 Remove crc.mod and move crc command to hashsum.mod.
13014 Remove lib/crc.c - users updated to use gcrypt implementation.
13015
13016 * grub-core/commands/crc.c: Removed.
13017 * grub-core/Makefile.core.def (crc): Module removed.
13018 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13019 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13020 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13021 * grub-core/lib/crc.c: Removed.
13022 * include/grub/lib/crc.h: Removed.
13023 * Makefile.util.def (crc): Remove lib/crc.c
13024 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13025 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13026 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13027 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13028 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13029 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13030
e0337366
VS
130312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13034
742f9232
VS
130352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 Split config.h for util and core.
13038
13039 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13040 (ADDR32): Likewise.
13041 (DATA32): Likewise.
13042 (BSS_START_SYMBOL): Likewise.
13043 (END_SYMBOL): Likewise.
13044 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13045 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13046 * config.h.in: New file.
13047 * configure.ac: Use config-util.h as config define file.
13048 Rename MACHINE into GRUB_MACHINE. All users updated.
13049 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13050 updated.
13051 (NESTED_FUNC_ATTR): Likewise.
13052 Substitue new variables.
13053 (COND_HAVE_ASM_USCORE): New conditional.
13054 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13055 (kernel_syms.lst): Use ASM_PREFIX.
13056 * grub-core/kern/emu/console.c: Include config-util.h.
13057 * grub-core/kern/emu/misc.c: Likewise.
13058 * grub-core/kern/emu/mm.c: Likewise.
13059 * include/grub/emu/misc.h: Likewise.
13060 * include/grub/libgcc.h: Likewise.
13061
39feb0e8
VS
130622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13065 constants usage.
13066 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13067 Fix GRUB_TERM_KEY_* constants usage.
13068 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13069
9af6dac3
VS
130702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13073 print pointer.
13074 * grub-core/bus/usb/uhci.c: Remove empty define.
13075 (grub_uhci_check_transfer): Add missing cast.
13076 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13077 print pointer.
13078 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13079 PRIuGRUB_SIZE.
13080 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13081
d6d94820
VS
130822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/Makefile.core.def (legacycfg): Add
13085 lib/i386/pc/vesa_modes_table.c on emu.
13086
3572f2b6
BC
130872010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13088
13089 Reduce number of temporary files generated by build system.
13090
13091 * grub-core/gencmdlist.sh: Removed.
13092 * grub-core/genfslist.sh: Removed.
13093 * grub-core/genhandlerlist.sh: Removed.
13094 * grub-core/genmodsrc.sh: Removed.
13095 * grub-core/genpartmaplist.sh: Removed.
13096 * grub-core/genparttoollist.sh: Removed.
13097 * grub-core/gentermiinallist.sh: Removed.
13098 * grub-core/genvideolist.sh: Removed.
13099
13100 * grub-core/genmod.sh.in: New file.
13101 * grub-core/gensyminfo.sh.in: New file.
13102
13103 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13104 * conf/Makefile.extra-dist: Update with new files.
13105 * gentpl.py: Remove rules related to unnecessary temporary files.
13106 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13107 and und-* files.
13108 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13109 genmod.sh scripts.
13110 * grub-core/bus/usb/uhci.c: Remove empty #define.
13111 * grub-core/genmoddep.awk: Updated with new syminfo format.
13112 * util/bash-completion.d/Makefile.am: Add config.log to
13113 CLEANFILES.
13114
c836b030
YB
131152010-09-19 Yves Blusseau <blusseau@zetam.org>
13116
13117 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13118
2f4e8053
BC
131192010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13120
13121 * util/grub-mkconfig.in: Check the config script for syntax errors
13122 before saving.
13123
75831c34
CW
131242010-09-19 Colin Watson <cjwatson@ubuntu.com>
131252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13128 platforms.
13129 * util/grub-install.in: Add EFI and IEEE1275 support.
13130 * util/i386/efi/grub-install.in: Removed.
13131 * util/ieee1275/grub-install.in: Likewise.
13132
eaf41b25
VS
131332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13136 (grub_cmd_cmosclean): Likewise.
13137 (GRUB_MOD_INIT): Register command cmosclean.
13138 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13139 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13140
1a9130dd
CPE
131412010-09-18 Carles Pina i Estany <carles@pina.cat>
131422010-09-18 Aleš Nesrsta <starous@volny.cz>
131432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 Add keyboard layouts support.
13146
13147 * Makefile.util.def (grub-mklayout): New file.
13148 (grub-kbdcomp): New script.
13149 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13150 Add keyboard_layouts.h.
13151 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13152 commands/boot.c on yeeloong.
13153 (keylayouts): New module.
13154 * grub-core/bus/usb/ohci.c
13155 * grub-core/bus/usb/uhci.c
13156 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13157 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13158 (attach_root_port): Likewise.
13159 (poll_nonroot_hub): Likewise.
13160 (grub_usb_poll_devices): Likewise.
13161 (detach_device): Close transfer.
13162 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13163 function.
13164 (grub_usb_bulk_setup_readwrite): Likewise.
13165 (grub_usb_bulk_finish_readwrite): Likewise.
13166 * grub-core/commands/keylayouts.c: New file.
13167 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13168 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13169 aliases.
13170 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13171 support scancode 2.
13172 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13173 * include/grub/keyboard_layouts.h: New file.
13174 * util/grub-mklayout.c: New file.
13175 * util/grub-kbdcomp.in: Likewise.
13176
a1d84a5e
VS
131772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 Unify memory types.
13180
13181 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13182 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13183 types.
13184 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13185 (grub_upper_mem): Likewise.
13186 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13187 * include/grub/memory.h (grub_memory_type_t): New enum.
13188 All users updated.
13189
9696382e
VS
131902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 * grub-core/Makefile.core.def (lsapm): New module.
13193 * grub-core/commands/i386/pc/lsapm.c: New file.
13194 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13195 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13196 Likewise.
13197 * include/grub/i386/pc/apm.h: New file.
13198 * include/multiboot.h (multiboot_apm_info): New struct.
13199
132002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 GRUB-legacy configuration file support.
13203
13204 * Makefile.util.def (grub-menulst2cfg): New util.
13205 * docs/man/grub-menulst2cfg.h2m: New file.
13206 * grub-core/Makefile.core.def (legacycfg): New module.
13207 * grub-core/commands/legacycfg.c: New file.
13208 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13209 (grub_normal_add_menu_entry): ... this.
13210 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13211 (grub_normal_set_password): ...this.
13212 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13213 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13214 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13215 * grub-core/lib/legacy_parse.c: New file.
13216 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13217 * include/grub/i386/pc/vesa_modes_table.h: New file.
13218 * include/grub/legacy_parse.h: Likewise.
13219 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13220 * util/grub-menulst2cfg.c: New file.
13221
bf8d1338
CW
132222010-09-17 Colin Watson <cjwatson@ubuntu.com>
13223
13224 * grub-core/kern/emu/hostdisk.c
13225 (convert_system_partition_to_system_disk): Initialise node.
13226
9c0bad2e
CW
132272010-09-17 Colin Watson <cjwatson@ubuntu.com>
13228
13229 * grub-core/kern/emu/hostdisk.c
13230 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13231 leak.
13232 Reported and based on patch by: Modestas Vainius.
13233
a939d135
CW
132342010-09-17 Colin Watson <cjwatson@ubuntu.com>
13235
13236 Fix DM-RAID probing with recent versions of device-mapper udev
13237 rules.
13238
13239 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13240 canonicalise device paths under /dev/mapper/.
13241 (convert_system_partition_to_system_disk): Compare the
13242 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13243 path, since device nodes under /dev/mapper/ are often symlinks.
13244
0f7ee3c9
YB
132452010-09-17 Yves Blusseau <blusseau@zetam.org>
13246
13247 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13248
10854d0d
YB
132492010-09-16 Yves Blusseau <blusseau@zetam.org>
13250
13251 * configure.ac: Avoid some annoying error messages if freetype-config
13252 program is not found.
13253
108538d8
CW
132542010-09-16 Colin Watson <cjwatson@ubuntu.com>
13255
13256 Support RAID on virtio devices, and others.
13257
13258 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13259 Rename to ...
13260 [__MINGW32__] (grub_find_device): ... this.
13261 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13262 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13263 reasonable default if dir is NULL.
13264 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13265 ...
13266 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13267 (grub_guess_root_device): Update callers.
13268 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13269
13270 * util/raid.c (grub_util_getdiskname): Remove.
13271 (grub_util_raid_getmembers): Use grub_find_device rather than
13272 grub_util_getdiskname.
13273
e5bfc130
CW
132742010-09-16 Colin Watson <cjwatson@ubuntu.com>
13275
13276 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13277 needing to be compiled with serial support.
13278 (ls): Indicate that multiple files are accepted.
13279 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13280 indicate that multiple files are accepted.
13281
be458ae2
CW
132822010-09-16 Colin Watson <cjwatson@ubuntu.com>
13283
13284 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13285 libgrub_a_init.c, and util/bash-completion.d/grub.
13286
cb731b5e
VS
132872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * util/grub-setup.c (setup): Fix incorrect container semantics.
13290
35139e8a
VS
132912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13294 misusage.
13295 Reported by: J. Nick Terry
13296
e50fca4a
VS
132972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 Move embedding routines to partmap sources files.
13300
13301 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13302 [GRUB_UTIL]: New variable.
13303 (gpt_partition_map_iterate): Set part.parent.
13304 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13305 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13306 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13307 New function.
13308 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13309 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13310 (grub_partition_map) [GRUB_UTIL]: New field embed.
13311 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13312 (setup): Use ->embed.
13313
f00478b7
VS
133142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13317 function.
13318 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13319 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13320
2b94e3ff
YB
133212010-09-15 Yves Blusseau <blusseau@zetam.org>
13322
13323 Add function to get completions from usage.
13324
13325 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13326 completions from usage. Use LC_ALL=C to get options properly.
13327
2e04a006
VS
133282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/gnulib/basename-lgpl.c: Imported.
13331 * grub-core/gnulib/basename.c: Likewise.
13332 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13333 * grub-core/gnulib/dirname.c: Likewise.
13334 * grub-core/gnulib/dirname.h: Likewise.
13335 * grub-core/gnulib/stripslash.c: Likewise.
13336
5dcdf93a
VS
133372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/gnulib/error.c: Resynced.
13340 * grub-core/gnulib/getopt.c: Likewise.
13341 * grub-core/gnulib/getopt_int.h: Likewise.
13342 * grub-core/gnulib/regex.h: Likewise.
13343 * grub-core/gnulib/regex_internal.c: Likewise.
13344 * grub-core/gnulib/regex_internal.h: Likewise.
13345
014f47b7
SJ
133462010-09-15 Szymon Janc <szymon@janc.net.pl>
13347
13348 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13349 CRC calculations and validity checks.
13350 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13351 calculations.
13352
dd521a4a
SJ
133532010-09-15 Szymon Janc <szymon@janc.net.pl>
13354
13355 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13356
79c4eeb9
VS
133572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 Fix incorrect echo options handling.
13360 Reported by: Yves Blusseau.
13361
13362 * include/grub/command.h (grub_command_flags_t): New flags
13363 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13364 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13365 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13366
ed80f7d5
VS
133672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13370 users updated.
13371 (GRUB_COMMAND_FLAG_MENU): Likewise.
13372 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13373 (GRUB_COMMAND_FLAG_TITLE): Removed.
13374 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13375 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13376 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13377 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13378 (grub_command_flags_t): New enum. All users updated.
13379
5fe7620a
SG
133802010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13381
13382 Fix solaris compilation.
13383
13384 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13385 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13386 (grub-emu-list): Likewise.
13387
545b752f
VS
133882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 Remove deprecated root command.
13391
13392 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13393 updated.
13394
6c1a338c
VS
133952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * util/i386/pc/grub-setup.c: Merge this ...
13398 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13399 * util/grub-setup.c: ... into this.
13400 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13401 New struct.
13402
134032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13406 possible.
13407
d2ea4551
VS
134082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13411 allocate p.
13412
3c3b5040
VS
134132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13416 explicit root argument to set to prevent UUID to be interpreted as
13417 argument to set.
13418
b71c3fae
VS
134192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13422
275433e6
VS
134232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 Don't export grub_gate_a20.
13426
13427 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13428 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13429 to ...
13430 (grub_gate_a20): ... this. All users updated.
13431 * include/grub/i386/pc/init.h: Removed. All users updated.
13432
a5dbb1f1
VS
134332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 Create euro.pf2 which supports most European languages.
13436
13437 * Makefile.am (grubdata_DATA): Add euro.pf2.
13438 (euro.pf2): New target.
13439 (CLEANFILES): Add euro.pf2.
13440
62a747cb
VS
134412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * configure.ac: Disable emu-usb by default to prevent inadvertent
13444 device takeover.
13445
608e43b1
VS
134462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Disable usbserial on grub-emu since our libusb code isn't good enough
13449 yet.
13450
13451 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13452 (usbserial_pl2303): Likewise.
13453 (usbserial_ftdi): Likewise.
13454
94564f81
VS
134552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 * include/grub/disk.h (grub_disk): Remove has_partitions.
13458 All users updated.
13459 * disk/loopback.c (grub_loopback): Remove has_partitions.
13460 All users updated.
13461 (options): Remove partitions. All users updated.
13462 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13463 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13464 actual partition table is found.
13465
3352800b
VS
134662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 Remove readability checks (too many false negatives).
13469
13470 * util/grub-install.in: Remove readability checks.
13471 * util/grub-mkconfig.in: Likewise.
13472 * util/grub.d/10_hurd.in: Likewise.
13473 * util/grub.d/10_kfreebsd.in: Likewise.
13474 * util/grub.d/10_linux.in: Likewise.
13475 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13476 way.
13477
2419f17a
VS
134782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 Enable acpi shutdown on all ACPI platforms.
13481
13482 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13483 on coreboo, multiboot and EFI.
13484 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13485 (grub_acpi_halt): Likewise.
13486 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13487 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13488 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13489 * grub-core/lib/i386/halt.c (grub_halt)
13490 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13491
0575c7c3
VS
134922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13495 context.
13496
54ac3cd1
VS
134972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13500 * grub-core/video/efi_uga.c: Likewise.
13501
b2a30ac5
VS
135022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Filter devaliases and never open same device twice.
13505
13506 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13507 (last_ihandle): Likewise.
13508 (ofdisk_hash_ent): New member shortest.
13509 (ofdisk_hash_add): Add canonical path too.
13510 (scan): New function.
13511 (grub_ofdisk_iterate): Iterate over hashed entries.
13512 (compute_dev_path): Don't add :0.
13513 (grub_ofdisk_open): Don't really open the disk.
13514 (grub_ofdisk_close): Avoid closing unrelated disk.
13515 (grub_ofdisk_read): Implement reopen logic.
13516 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13517 New function.
13518 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13519 New proto.
13520
fb53b340
VS
135212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Fix sparc64.
13524
13525 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13526 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13527 right address. Add sparc64_ieee1275_ldflags.
13528 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13529 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13530 to grub_host_to_target_addr
13531 (load_image): Likewise.
13532
f452b040
VS
135332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * grub-core/normal/completion.c (complete_file): Handle device
13536 containing slash.
13537 Fix based on patch by Doug Nazar.
13538
9b5b2541
VS
135392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 grub-mknetdir script.
13542
13543 * Makefile.util.def (grub-mknetdir): New module.
13544 * tests/util/grub-shell.in: Support boot=net
13545 * util/grub-mknetdir.in: New file.
13546
9d2be652
VS
135472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 videoinfo on non-vbe.
13550
13551 * grub-core/Makefile.core.def (vbeinfo): Removed.
13552 (vbetest): Removed.
13553 (videoinfo): New module.
13554 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13555 * grub-core/commands/i386/pc/vbetest.c: Removed.
13556 * grub-core/commands/videoinfo.c: New file.
13557 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13558 specification.
13559 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13560 as vbetest.
13561 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13562 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13563 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13564 mode_number. New parameter mode. All users updated.
13565 (grub_video_gop_iterate): New function.
13566 (grub_video_efi_gop): New member iterate.
13567 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13568 (grub_vbe_set_video_mode): Remove setting useless fields.
13569 (vbe2videoinfo): New function.
13570 (grub_video_vbe_iterate): Likewise.
13571 (grub_video_vbe_setup): Use vbe2videoinfo.
13572 (grub_video_vbe_print_adapter_specific_info): New function.
13573 (grub_video_vbe_adapter): New fields iterate and
13574 print_adapter_specific_info.
13575 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13576 All users updated.
13577 (grub_video_mode_info): New field mode_number.
13578 (grub_video_adapter): New fields iterate and
13579 print_adapter_specific_info.
13580
179503f5
TG
135812010-09-13 Tristan Gingold <gingold@free.fr>
135822010-09-13 Robert Millan <rmh.grub@aybabtu.com>
135832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/commands/efi/lsefisystab.c: New file.
13586 * grub-core/commands/efi/lssal.c: Likewise.
13587 * grub-core/Makefile.core.def (lsacpi): New module.
13588 (lsefisystab): Likewise.
13589 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13590 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13591 (grub_efi_sal_system_table): New struct.
13592 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13593 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13594 (grub_efi_sal_system_table_platform_features): Likewise.
13595 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13596 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13597 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13598 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13599
cf9827de
VS
136002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 Support explicit user claim that a device is BIOS-visible.
13603
13604 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13605 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13606 * grub-core/kern/emu/hostdisk.c
13607 (convert_system_partition_to_system_disk): Support mdX.
13608 (find_system_device): New parameter add. All users updated.
13609 (grub_util_biosdisk_is_present): New function.
13610 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13611 proto.
13612
53f0eb1f
VS
136132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Search hints support.
13616
13617 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13618 All users updated.
13619
b23ffd70
YB
136202010-09-13 Yves Blusseau <blusseau@zetam.org>
13621
13622 Bash completion script for util commands
13623
13624 * Makefile.am: Add util/bash-completion.d directory
13625 * configure.ac: Likewise.
13626 * util/bash-completion.d/Makefile.am: New file.
13627 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13628
d547dc28
VS
136292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13632 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13633 Reported by: Yves Blusseau.
13634
2fc8ccb9
VS
136352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13638 partition size and offset.
13639
d8a84076
VS
136402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13643
84fb3b3d
VS
136442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13647
768ec2e2
VS
136482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13651 (grub_xvasprintf): Likewise.
13652
4870900f
VS
136532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13656
faca6bec
VS
136572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13660 args ending with NULL.
13661
136622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13663
13664 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13665 pointer.
13666
3c70f225
SJ
136672010-09-11 Szymon Janc <szymon@janc.net.pl>
13668
13669 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13670
4df7996d
VS
136712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 Shutdown using ACPI.
13674
13675 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13676 * grub-core/commands/acpihalt.c: New file.
13677 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13678 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13679 (grub_acpi_halt): New proto.
13680 (GRUB_ACPI_SLP_EN): New const.
13681 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13682 (GRUB_ACPI_OPCODE_*): New enum.
13683 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13684
126b4c32
TG
136852010-09-11 Tristan Gingold <gingold@free.fr>
136862010-09-11 Robert Millan <rmh.grub@aybabtu.com>
136872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * commands/lsacpi.c: New file.
13690 * grub-core/Makefile.core.def (lsacpi): New module.
13691 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13692 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13693 (grub_acpi_madt_entry_header): New struct.
13694 (grub_acpi_madt): Likewise.
13695 (grub_acpi_madt_entry_interrupt_override): Likewise.
13696 (grub_acpi_madt_entry_sapic): Likewise.
13697 (grub_acpi_madt_entry_lsapic): Likewise.
13698 (grub_acpi_madt_entry_platform_int_source): Likewise.
13699 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13700 (PRIuGRUB_UINT32_T): Likewise.
13701 (PRIxGRUB_UINT64_T): Likewise.
13702
1aa4fe88
VS
137032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 Implement loading palette on ieee1275_fb.
13706
13707 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13708 (have_setcolors): Likewise.
13709 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13710 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13711 (grub_video_ieee1275_set_palette): Implement.
13712
25761e13
VS
137132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
137142010-09-11 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * util/grub-install.in (grub_partition): New variable.
13717 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13718 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13719 Fixes a bug reported by Yves Blusseau.
13720
050abaea
VS
137212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Fix emu on mipsel.
13724
13725 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13726 =grub_cpu_flush_cache on all mips and not only yeeloong.
13727 * configure.ac (COND_mips): New conditional.
13728 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13729 platforms.
13730 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13731 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13732 [GRUB_LINKER_HAVE_INIT]: New function.
13733 (grub_emu_post_init): Likewise.
13734 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13735 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13736 * include/grub/cache.h (_mips): Include mips/cache.h.
13737 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13738 LVM and RAID prototypes.
13739 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13740 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13741 function.
13742
5ed7d816
CW
137432010-09-10 Colin Watson <cjwatson@ubuntu.com>
13744
13745 * util/grub-install.in: Don't try to verify core.img until after
13746 running grub-mkimage to create it.
13747
90367e04
RM
137482010-09-10 Robert Millan <rmh@gnu.org>
13749
13750 * util/grub.d/10_hurd.in: Add misc readability checks.
13751 * util/grub.d/10_kfreebsd.in: Likewise.
13752 * util/grub.d/10_linux.in: Likewise.
13753
c452fa66
CW
137542010-09-10 Colin Watson <cjwatson@ubuntu.com>
13755
13756 * util/grub-install.in: ${imgext} won't be defined here until the
13757 install branch is merged. For the meantime, only verify core.img on
13758 i386-pc and sparc64-ieee1275 platforms.
13759
c38fe9f4
RM
137602010-09-10 Robert Millan <rmh@gnu.org>
13761
13762 Solaris support in grub_find_zpool_from_dir(). Thanks
13763 Seth Goldberg for referring to getextmntent() facility.
13764
13765 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13766 `sys/mkdev.h'.
13767 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13768 `<sys/mnttab.h>'.
13769 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13770 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13771 method for finding zpool name.
13772
905f7773
CW
137732010-09-10 Colin Watson <cjwatson@ubuntu.com>
13774
13775 grub-fstest needs the host and hostfs modules while other utilities
13776 actively require those modules to be absent, so grub-fstest needs
13777 its own initialisation and finalisation code.
13778
13779 * Makefile.am (grub_fstest.pp): New target.
13780 (grub_fstest_init.lst): Likewise.
13781 (grub_fstest_init.c): Likewise.
13782 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13783
fb90b546
RM
137842010-09-10 Robert Millan <rmh@gnu.org>
13785
13786 * configure.ac: Check for `struct statfs.f_fstypename' and
13787 `struct statfs.f_mntfromname'.
13788
13789 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13790 kFreeBSD-specific code.
13791
66d4bea5
RM
137922010-09-10 Robert Millan <rmh@gnu.org>
13793
13794 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13795 on ZFS. Now non-main filesystems are supported as / too.
13796
b6a690ee
CW
137972010-09-09 Colin Watson <cjwatson@ubuntu.com>
13798
13799 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13800 and grub-core/disk/host.c to ...
13801 (grub-fstest): ... here. Having the host disk implementation
13802 present confuses grub-probe and other utility programs.
13803
13804 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13805 when writing to a file, not when writing to stdout.
13806
8901b00c 138072010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13808
13809 * tests/partmap_test.in: New test for partitions.
13810 * Makefile.util.def: Rules for new test.
13811
7bf45fdd
RM
138122010-09-09 Robert Millan <rmh@gnu.org>
13813
13814 * util/grub-probe.c (probe): Fix a pair of unhandled error
13815 conditions.
13816
4dfbc574
RM
138172010-09-09 Robert Millan <rmh@gnu.org>
13818
13819 Basic Btrfs support (detection and UUID).
13820
13821 * grub-core/fs/btrfs.c: New file.
13822 * Makefile.util.def (library): Register btrfs.c.
13823 * grub-core/Makefile.core.def: Likewise.
13824
6b8e78ae
RM
138252010-09-08 Robert Millan <rmh@gnu.org>
13826
13827 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13828 with (optional) parameters to specify device and relative path.
13829 * util/grub-install.in: Use is_path_readable_by_grub() to
13830 verify readability of a few critical files.
13831 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13832 verify readability of grub.cfg.new.
13833
27f21a8b
VS
138342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 Split minix.mod into minix.mod and minix2.mod.
13837
13838 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13839 * grub-core/Makefile.core.def (minix2): New module.
13840 * grub-core/fs/minix.c: Use definitions instead of runtime version
13841 checking.
13842 * grub-core/fs/minix2.c: New file.
13843
c0e53ea5
YB
138442010-09-08 Yves Blusseau <blusseau@zetam.org>
13845
13846 Add new --boot-directory option to replace --root-directory
13847
13848 * util/grub-install.in: Add new --boot-directory option
13849 * util/grub-reboot.in: Likewise.
13850 * util/grub-set-default.in: Likewise.
13851
b9fe6ea2
YB
138522010-09-08 Yves Blusseau <blusseau@zetam.org>
13853
13854 * util/grub-mkconfig.in: Use new variable.
13855
d87aedff
YB
138562010-09-08 Yves Blusseau <blusseau@zetam.org>
13857
13858 * configure.ac: Define some useful variables.
13859
e55e8495
VS
138602010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13863 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13864 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13865 Use terminfo and don't use cursor-on/cursor-off unless it's known
13866 to work.
13867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13868 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13869
6fa6d675
CW
138702010-09-08 Colin Watson <cjwatson@ubuntu.com>
13871
13872 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13873 starts with "(,", fill the drive containing the loaded image in
13874 between those two characters, but expect that a full partition
13875 specification including partition map names will follow.
13876
92f2aef0
RM
138772010-09-08 Robert Millan <rmh@gnu.org>
13878
13879 * configure.ac: Remove `--enable-grub-fstest' option.
13880 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13881
13882 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13883 `grub-fstest' instead of `grub-probe' for readability verification.
13884 * util/grub-probe.c (probe): Remove readability verification kludge.
13885
99fd620d
RM
138862010-09-08 Robert Millan <rmh@gnu.org>
13887
13888 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13889 initializing `GRUB_FS'.
13890
058e30ac 138912010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13892
13893 Not command (!) support to GRUB script.
13894
13895 * tests/grub_script_not.in: New test.
13896 * Makefile.util.def: Rules for new test.
13897
13898 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13899 ! command as a special case.
13900 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13901
b61d05ed 139022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13903
058e30ac 13904 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13905 grub_free.
b61d05ed 13906
4d69c786 139072010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13908
13909 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13910
aa3119c4 139112010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13912
13913 * docs/grub.texi (Shell-like scripting): Documentation for break,
13914 continue, shift and return commands.
13915
db0f7e3d
VS
139162010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 Rename CD-ROM to cd on BIOS.
13919
13920 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13921 "cd".
13922 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13923
88b87c93
VS
139242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13927 * util/grub-probe.c (main): Likewise.
13928 * util/i386/pc/grub-setup.c (main): Likewise.
13929 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13930 Reported and debugged by: alexxy
13931
294f324d
VS
139322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13935 diagnostic info.
13936
d7ee3441
JS
139372010-09-05 Jo Shields <directhex@apebox.org>
13938
13939 * util/grub.d/30_os-prober.in: Add missing classes.
13940
d7e06c1f
VS
139412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * docs/grub.texi (Theme file format): Document new position format.
13944
fc157e53
VS
139452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13948 a table. Use @code instead of @verbatim.
13949
506e9a1c
CB
139502010-09-05 Colin D Bennett <colin@gibibit.com>
13951
13952 Gfxmenu documentation.
13953
13954 * docs/grub.texi (Theme file format): New chapter.
13955
f0aff67c
SJ
139562010-09-05 Szymon Janc <szymon@janc.net.pl>
13957
13958 * grub-core/Makefile.core.def (xzio): New module.
13959 * grub-core/io/xzio.c: New file.
13960 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13961 * grub-core/lib/xzembed/xz_config.h: Likewise.
13962 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13963 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13964 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13965 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13966 * grub-core/lib/xzembed/xz_private.h: Likewise.
13967 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13968 * include/grub/file.h (grub_file_filter_id): New compression filter
13969 GRUB_FILE_FILTER_XZIO.
13970
82a85062
VS
139712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13974 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13975 size.
13976
3579415d
VS
139772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13980 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13981
5124ae6d
VS
139822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 Uncompressed checksum support.
13985
13986 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13987 (check_list): New parameter uncompress.
13988 (grub_cmd_hashsum): Handle --uncompress.
13989
9aadb3d1
VS
139902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 Reintroduce testload.
13993
13994 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13995 from here ...
13996 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13997 (GRUB_MOD_INIT): New function.
13998 (GRUB_MOD_FINI): Likewise.
13999 * grub-core/Makefile.core.def (testload): New module.
14000
a17792c3
SJ
140012010-09-05 Szymon Janc <szymon@janc.net.pl>
14002
14003 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14004 (uint8_t): New type.
14005 (uint16_t): Likewise.
14006 (uint32_t): Likewise.
14007 (uint64_t): Likewise.
14008
b81e40a3
SJ
140092010-09-05 Szymon Janc <szymon@janc.net.pl>
14010
14011 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14012
fc2ef117
VS
140132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14016 Made static.
14017 (grub_gzfile_open): Removed. All users updated.
14018 (GRUB_MOD_INIT): New function.
14019 (GRUB_MOD_FINI): Likewise.
14020 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14021 (grub_file_filters_enabled): Likewise.
14022 (grub_file_open): Handle filters.
14023 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14024 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14025 * include/grub/file.h (grub_file_filter_id_t): New type.
14026 (grub_file_filter_t): Likewise.
14027 (grub_file_filters_all): New extern variable.
14028 (grub_file_filters_enabled): Likewise.
14029 (grub_file_filter_register): New inline function.
14030 (grub_file_filter_unregister): Likewise.
14031 (grub_file_filter_disable): Likewise.
14032 (grub_file_filter_disable_compression): Likewise.
14033 * include/grub/gzio.h: Removed.
14034
35ee15e0
BC
140352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14036
14037 Filename expansion support for wildcards in GRUB script.
14038
14039 * tests/grub_script_expansion.in: New test.
14040 * Makefile.util.def: Rule for new test.
14041
14042 * grub-core/commands/wildcard.c: New file, implements filename
14043 expansion support for GRUB script.
14044 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14045 * grub-core/script/argv.c: Cosmetic changes.
14046 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14047 Refactored to perform wildcard expansion on arguments.
14048 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14049 struct.
14050
14051 * tests/util/grub-shell.in: Fix quoting for read input.
14052
5f0c4aca
BC
140532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14054
14055 Support for updating environment variables with matched substrings
14056 of regexp.
14057
14058 * tests/grub_cmd_regexp.in: New test.
14059 * Makefile.util.def: Rule for new test.
14060
14061 * grub-core/commands/regexp.c: New option -s to update environment
14062 variables with regexp matches.
14063
3759a35f
SJ
140642010-09-04 Szymon Janc <szymon@janc.net.pl>
14065
14066 * include/grub/file.h (grub_file): New member not_easly_seekable.
14067 (grub_file_seekable): New inline function.
14068 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14069 easily seekable.
14070 (grub_gzio_open): Set not_easly_seekable.
14071 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14072 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14073
ed8c6dec
BC
140742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14075
14076 Support for options to appear multiple times on cmdline.
14077
14078 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14079 * grub-core/commands/extcmd.c: Support for repeatable option.
14080 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14081 repeatable option support.
14082
14083 Refactor menuentry into a regular command.
14084
14085 * grub-core/commands/menuentry.c: New file, menuentry command
14086 implementation.
14087 * grub-core/Makefile.core.def: Rule update for normal.mod.
14088 * grub-core/normal/main.c: Moved menuentry creation to
14089 grub-core/commands/menuentry.c.
14090 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14091 (grub_menu_execute_entry_real): Removed.
14092 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14093 function.
14094 (grub_script_execute_menuentry): Removed.
14095 * grub-core/script/parser.y (menuentry): Removed.
14096 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14097 * grub-core/script/yylex.l (menuentry): Removed.
14098 * include/grub/menu.h (grub_menu_init): New prototype.
14099 (grub_menu_fini): New prototype.
14100 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14101 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14102 (grub_script_execute_sourcecode): New prototype.
14103
dacd0cf0
BC
141042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14105
14106 "return" command for GRUB script functions.
14107
14108 * tests/grub_script_return.in: New test.
14109 * Makefile.util.def: Rules for new test.
14110
14111 * grub-core/script/execute.c (grub_script_return): New function.
14112 * grub-core/script/main.c: Register/unregister return commaond.
14113 * include/grub/script_sh.h (grub_script_return): New prototype.
14114
52e72f9d
BC
141152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14116
14117 "setparams" command to update positional parameters.
14118
14119 * tests/grub_script_setparams.in: New test.
14120 * Makefile.util.def: Rules for new test.
14121
14122 * grub-core/script/argv.c (grub_script_argv_make): New function.
14123 * grub-core/script/execute.c (replace_scope): New function.
14124 (grub_script_setparams): New function.
14125 * grub-core/script/lexer.c: Remove unused variables.
14126 * grub-core/script/main.c: Register/unregister setparams command.
14127 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14128 (grub_script_setparams): New prototype.
14129
25b60c91
BC
141302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14131
14132 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14133 grub_free order.
14134
37e7bf68
BC
141352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14136
14137 Support for passing block of commands as an argument to extcmds.
14138
14139 * Makefile.util.def: Rules for new test.
14140 * tests/grub_script_blockarg.in: New test.
14141 * grub-core/tests/test_blockarg.c: New file, block argument
14142 command used in the test.
14143
14144 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14145 (grub_register_extcmd_prio): New function prototype.
14146 (grub_extcmd_dispatcher): New function prototype.
14147 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14148 type.
14149 * include/grub/script_sh.h (struct grub_script): New members
14150 `children', `next_siblings' and `refcnt' for block arguments and
14151 reference counting.
14152 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14153 (grub_script_arg): New member `script' for block argument.
14154 (grub_script_argv): New member `script' for block argument.
14155 (grub_parser_param): New member `scripts' for block argument.
14156 (grub_script_mem_free): New extern function prototype.
14157 (grub_script_ref): New function prototype.
14158 (grub_script_unref): New function prototype.
14159
14160 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14161 extcmd form to support block arguments.
14162 * grub-core/script/argv.c: Block arguments support.
14163 * grub-core/script/execute.c: Likewise.
14164 * grub-core/script/lexer.c: Likewise.
14165 * grub-core/script/main.c: Likewise.
14166 * grub-core/script/script.c: Likewise.
14167 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14168 non-terminals.
14169
14170 * grub-core/commands/acpi.c: Update extcmd implementations with
14171 grub_extcmd_context_t.
14172 * grub-core/commands/cat.c: Likewise.
14173 * grub-core/commands/echo.c: Likewise.
14174 * grub-core/commands/extcmd.c: Likewise.
14175 * grub-core/commands/hashsum.c: Likewise.
14176 * grub-core/commands/hdparm.c: Likewise.
14177 * grub-core/commands/help.c: Likewise.
14178 * grub-core/commands/hexdump.c: Likewise.
14179 * grub-core/commands/i386/cpuid.c: Likewise.
14180 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14181 * grub-core/commands/i386/pc/halt.c: Likewise.
14182 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14183 * grub-core/commands/iorw.c: Likewise.
14184 * grub-core/commands/keystatus.c: Likewise.
14185 * grub-core/commands/loadenv.c: Likewise.
14186 * grub-core/commands/ls.c: Likewise.
14187 * grub-core/commands/lspci.c: Likewise.
14188 * grub-core/commands/memrw.c: Likewise.
14189 * grub-core/commands/probe.c: Likewise.
14190 * grub-core/commands/search_wrap.c: Likewise.
14191 * grub-core/commands/setpci.c: Likewise.
14192 * grub-core/commands/sleep.c: Likewise.
14193 * grub-core/disk/loopback.c: Likewise.
14194 * grub-core/hello/hello.c: Likewise.
14195 * grub-core/loader/i386/bsd.c: Likewise.
14196 * grub-core/loader/xnu.c: Likewise.
14197 * grub-core/term/gfxterm.c: Likewise.
14198 * grub-core/term/serial.c: Likewise.
14199 * grub-core/tests/lib/functional_test.c: Likewise.
14200
888d1500
BC
142012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14202
14203 Multi-line quoted strings support.
14204
14205 * grub-core/script/lexer.c (append_newline): Removed.
14206 (grub_script_lexer_yywrap): Refactored.
14207 (grub_script_lexer_init): Refactored.
14208 * grub-core/script/yylex.l (yywrap): New function.
14209 (grub_lexer_resplit): New function.
14210 (grub_lexer_unput): New function.
14211 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14212 and resplit.
14213 * tests/grub_script_echo1.in: Added few more testcases.
14214
dda060dd
VS
142152010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/kern/misc.c: Don't add abort alias in utils.
14218 Reported by: echoline.
14219
6556eba9
BC
142202010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14221
14222 Add missing files into "make dist" tarball for other platforms.
14223
14224 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14225 * conf/Makefile.common (dist_noinst_DATA): New variable.
14226 * conf/Makefile.extra-dist: Added missing make dist files.
14227 * grub-core/Makefile.core.def: Likewise.
14228
c8e7bf5f
VS
142292010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 Compress grub_prefix.
14232
14233 * grub-core/boot/i386/pc/lnxboot.S: Use
14234 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14235 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14236 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14237 GRUB_MACHINE_PREFIX_END. All users updated.
14238 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14239 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14240 + 0x40.
14241 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14242 * util/grub-mkimage.c (image_target_desc): Change data_end to
14243 prefix_end. All users updated.
14244
a7c00cdb
VS
142452010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14248 value.
14249 (grub_openbsd_boot): Likewise.
14250 (grub_netbsd_boot): Likewise.
14251 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14252 (grub_xnu_boot): Likewise.
14253
9f915872
VS
142542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * configure.ac: Clean LIBS variable after tests.
14257
efa1bee7
CW
142582010-09-02 Colin Watson <cjwatson@ubuntu.com>
14259
14260 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14261
61d720e5
VS
142622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14265 echo if libdevmapper will be used.
14266
ef8e0ec8
IT
142672010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14268
14269 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14270 constant for the same file.
14271
03e261d8
VS
142722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14275
c2a4eba6
CW
142762010-09-02 Colin Watson <cjwatson@ubuntu.com>
14277
14278 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14279 grub-core/*.pp.
14280
9056cbf3
CW
142812010-09-02 Colin Watson <cjwatson@ubuntu.com>
14282
14283 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14284 required by the boot protocol.
14285
14286 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14287 ebp and edi members.
14288 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14289 state.ebp and state.edi.
14290 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14291 %ebp and %edi according to grub_relocator32_ebp and
14292 grub_relocator32_edi respectively.
14293 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14294 and state.edi.
14295
529cc99a
VS
142962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 Add i386-pc-pxe image target.
14299
14300 * util/grub-mkimage.c (image_target_desc): New enum value
14301 IMAGE_I386_PC_PXE.
14302 (image_targets): New target i386-pc-pxe.
14303 (generate_image): Handle i386-pc-pxe image.
14304
9a093920
VS
143052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 Fix grub_pxe_scan.
14308
14309 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14310 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14311 All users updated.
14312 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14313 (grub_pxe_pxenv): Correct type.
14314
f9cefc4e
CW
143152010-09-01 Colin Watson <cjwatson@ubuntu.com>
14316
14317 * NEWS: Document most of the important changes since 1.98.
14318
4066f57f
CW
143192010-09-01 Colin Watson <cjwatson@ubuntu.com>
14320
14321 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14322 generated manual page) a little.
14323
da2891f9
CW
143242010-09-01 Colin Watson <cjwatson@ubuntu.com>
14325
14326 * docs/grub.texi: Add myself as an author.
14327
ad717fae
VS
143282010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * Makefile.util.def (libgrub.a): Add missing sunpc.
14331 Reported by: Seth Goldberg.
14332
eefe8abd
VS
143332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 Interrupt wrapping and code simplifications.
14336
9494ef9a
VS
14337 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14338 x86_noieee1275 which are functionaly equivalent in this case.
14339 (grub-install): Make source on each platform explicit. Enable on
14340 all noemu.
14341 * gentpl.py (x86_efi_pc): Removed group.
14342 (x86_noefi): Likewise.
14343 (i386_noefi): Likewise.
14344 (x86_noieee1275): Likewise.
14345 (i386_noieee1275): Likewise.
14346 (i386_noefi_noieee1275): Likewise.
14347 (i386_pc_qemu_coreboot): Likewise.
14348 (i386_coreboot_multiboot): Likewise.
14349 (i386_pc_coreboot_multiboot_qemu): Likewise.
14350 (x86_noefi_mips): Likewise.
14351 (noieee1275): Likewise.
14352 (ieee1275_mips): Likewise.
14353 (noemu_noieee1275): Likewise.
14354 (cmos): New group.
14355 (usb): Likewise.
14356 (videoinkernel): Likewise.
14357 (videomodules): Likewise.
eefe8abd 14358 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14359 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14360 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14361 include/grub/loader.h, include/grub/msdos_partition.h,
14362 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14363 include/grub/machine/console.h, include/grub/machine/vga.h,
14364 include/grub/machine/vbe.h, include/grub/machine/init.h,
14365 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14366 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14367 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14368 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14369 * grub-core/Makefile.core.def (kernel): Explicit the source for
14370 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14371 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14372 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14373 Use videoinkernel tag.
14374 (usb): Enable on all usb.
14375 (usbserial_common): Likewise.
14376 (usbserial_pl2303): Likewise.
14377 (usbserial_ftdi): Likewise.
14378 (uhci): Enable on all x86.
14379 (ohci): Enable on all pci.
14380 (cmostest): Enable on all CMOS.
14381 (acpi): Include commands/acpi.c on all platforms.
14382 (halt): Add relevant lib/*/halt.c.
14383 (hdparm): Enable on all pci.
14384 (lspci): Likewise.
14385 (usbtest): Enable on all usb.
14386 (ata): Enable on all pci.
14387 (ata_pthru): Likewise.
14388 (usbms): Enable on all usb.
14389 (usb_keyboard): Likewise.
14390 (font): Use tag videomodules.
14391 (bufio): Likewise.
14392 (datetime): Use tag cmos. Enable on all noemu.
14393 (mmap): Use tags common and x86.
14394 (gfxterm): Use tag videomodules.
14395 (bitmap): Likewise.
14396 (bitmap_scale): Likewise.
14397 (video_fb): Likewise.
14398 (video): Likewise.
14399 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14400 adjust padding accordingly. All users updated.
14401 (grub_ohci_transaction): Fix bad format specification.
14402 (GRUB_MOD_INIT): Add asserts for struct size.
14403 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14404 (grub_alloc_td): Likewise.
14405 (grub_free_queue): Likewise.
14406 (grub_uhci_transfer): Likewise.
14407 (grub_uhci_transaction): Fix bad format specification.
14408 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14409 (grub_usb_bulk_readwrite): Likewise.
14410 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14411 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14412 Made static.
14413 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14414 Made static.
14415 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14416 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14417 Transformed into C.
14418 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14419 Moved from here ...
14420 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14421 ... here. Transformed into C. Made static.
14422 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14423 Moved from here ...
14424 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14425 ... here. Transformed into C. Made static.
14426 * grub-core/kern/i386/pc/startup.S
14427 (grub_biosdisk_check_int13_extensions): Moved from here ...
14428 * grub-core/disk/i386/pc/biosdisk.c
14429 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14430 Made static.
14431 * grub-core/kern/i386/pc/startup.S
14432 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14433 * grub-core/disk/i386/pc/biosdisk.c
14434 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14435 Transformed into C. Made static.
14436 * grub-core/kern/i386/pc/startup.S
14437 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14438 * grub-core/disk/i386/pc/biosdisk.c
14439 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14440 Transformed into C. Made static.
14441 * grub-core/kern/i386/pc/startup.S
14442 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14443 * grub-core/disk/i386/pc/biosdisk.c
14444 (grub_biosdisk_get_diskinfo_standard): ... here.
14445 Transformed into C. Made static.
14446 * grub-core/kern/i386/pc/startup.S
14447 (grub_biosdisk_get_num_floppies): Moved from here ...
14448 * grub-core/disk/i386/pc/biosdisk.c
14449 (grub_biosdisk_get_num_floppies): ... here.
14450 Transformed into C. Made static.
14451 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14452 New function.
14453 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14454 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14455 Transformed into C. Made static.
14456 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14457 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14458 Transformed into C. Made static.
14459 * grub-core/kern/i386/ieee1275/init.c: Removed.
14460 * grub-core/kern/i386/misc.S: Likewise.
14461 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14462 Splitted from here ...
14463 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14464 Transformed into C. Made static. All users updated.
14465 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14466 Transformed into C. Made static. All users updated.
14467 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14468 Moved from here...
14469 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14470 Transformed into C. Made static. All users updated.
14471 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14472 Moved from here...
14473 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14474 Transformed into C. Made static. All users updated.
14475 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14476 Removed (replaced by C version).
14477 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14478 Moved from here...
14479 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14480 Transformed into C. Made static.
14481 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14482 Moved from here...
14483 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14484 ... here. Transformed into C.
14485 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14486 Moved from here...
14487 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14488 ... here. Transformed into C.
14489 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14490 Moved from here...
14491 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14492 ... here. Transformed into C. Made static.
14493 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14494 Moved from here...
14495 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14496 ... here. Transformed into C.
21ed554b
VS
14497 * grub-core/kern/i386/pc/startup.S
14498 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14499 * grub-core/video/i386/pc/vbe.c
14500 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14501 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14502 Moved from here...
14503 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14504 ... here. Transformed into C.
14505 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14506 Moved from here...
14507 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14508 ... here. Transformed into C.
14509 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14510 Moved from here...
14511 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14512 ... here. Transformed into C.
14513 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14514 Moved from here...
14515 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14516 ... here. Transformed into C.
14517 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14518 Moved from here...
14519 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14520 ... here. Transformed into C. Made static.
14521 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14522 Moved from here...
14523 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14524 ... here. Transformed into C. Made static.
14525 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14526 Moved from here...
14527 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14528 ... here. Transformed into C. Made static.
14529 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14530 pxe_rm_entry as third argument.
14531 (grub_bios_interrupt): New function.
14532 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14533 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14534 of calling grub_stop.
14535 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14536 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14537 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14538 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14539 * grub-core/lib/i386/halt.c: Moved from here ...
14540 * grub-core/lib/i386/halt.c: ... here.
14541 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14542 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14543 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14544 grub_stop_floppy.
14545 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14546 * include/grub/i386/coreboot/init.h: Removed.
14547 * include/grub/i386/multiboot/init.h: Likewise.
14548 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14549 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14550 * include/grub/i386/pc/int.h: New file.
14551 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14552 (grub_pxe_scan): Removed.
14553 (grub_pxe_call): Update prototype.
14554 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14555 prototypes.
14556 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14557 * include/grub/i386/qemu/init.h: Removed.
14558 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14559 noreturn.
14560 (grub_halt): Likewise.
14561 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14562 (grub_reboot): Likewise.
14563 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14564 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14565 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14566
215dd471
RM
145672010-08-30 Robert Millan <rmh@gnu.org>
14568
14569 * NEWS: Document addition of ZFS support in `grub-install' and
14570 `grub-mkconfig'.
14571
ebd65b82
BC
145722010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14573
14574 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14575 dprintf output.
14576
11721d19
VS
145772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 Remove leftover embedding of font objects.
14580
14581 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14582 * util/grub-install.in (font): Removed.
14583 * util/grub-mkimage.c (generate_image): Remove font support. All users
14584 updated.
14585
37837d4e
VS
145862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 Remove leftover embedding of font objects.
14589
14590 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14591 * util/grub-install.in (font): Removed.
14592 * util/grub-mkimage.c (generate_image): Remove font support. All users
14593 updated.
14594
b4c1aae0
VS
145952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14598 Reported by: Ian Turner
b4c1aae0 14599
8920a08d
VS
146002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14603 timeout to avoid indefinite boot stalling.
14604
f21db033
VS
146052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14608 (grub_env_write_color_highlight): Likewise.
14609
9a9de209
VS
146102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * grub-core/normal/term.c (print_more): Return to normal and not
14613 to standard state after printing "---MORE---".
14614
3dca01d7
VS
146152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14618 Mask out the bit 0x80 since it has other meaning that specifiing color.
14619
0b986c40
VS
146202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 New relocator. Allows for more kernel support and more straightforward
14623 loader writing.
14624
14625 * Makefile.am (BOOTTARGET): New variable.
14626 (QEMU32): Likewise.
14627 (linux.init.x86_64): New target.
14628 (linux.init.i386): Likewise.
14629 (multiboot.elf): Likewise.
14630 (kfreebsd.elf): Likewise.
14631 (kfreebsd.aout): Likewise.
14632 (pc-chainloader.elf): Likewise.
14633 (pc-chainloader.bin): Likewise.
14634 (ntldr.elf): Likewise.
14635 (ntldr.bin): Likewise.
14636 (multiboot2.elf): Likewise.
14637 (kfreebsd.init.x86_64): Likewise.
14638 (kfreebsd.init.i386): Likewise.
14639 (knetbsd.init.i386): Likewise.
14640 (kopenbsd.init.i386): Likewise.
14641 (knetbsd.init.x86_64): Likewise.
14642 (kopenbsd.init.x86_64): Likewise.
14643 (linux-initramfs.i386): Likewise.
14644 (linux-initramfs.x86_64): Likewise.
14645 (kfreebsd-mfsroot.i386.img): Likewise.
14646 (knetbsd.image.i386): Likewise.
14647 (kopenbsd.image.i386): Likewise.
14648 (kopenbsd.image.x86_64): Likewise.
14649 (knetbsd.miniroot-image.i386.img): Likewise.
14650 (kfreebsd-mfsroot.x86_64.img): Likewise.
14651 (knetbsd.image.x86_64): Likewise.
14652 (knetbsd.miniroot-image.x86_64.img): Likewise.
14653 (kfreebsd-mfsroot.i386.gz): Likewise.
14654 (bootcheck-kfreebsd-i386): Likewise.
14655 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14656 (bootcheck-kfreebsd-x86_64): Likewise.
14657 (knetbsd.miniroot-image.i386.gz): Likewise.
14658 (bootcheck-knetbsd-i386): Likewise.
14659 (bootcheck-kopenbsd-i386): Likewise.
14660 (bootcheck-kopenbsd-x86_64): Likewise.
14661 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14662 (bootcheck-knetbsd-x86_64): Likewise.
14663 (bootcheck-linux-i386): Likewise.
14664 (bootcheck-linux-x86_64): Likewise.
14665 (bootcheck-linux16-i386): Likewise.
14666 (bootcheck-linux16-x86_64): Likewise.
14667 (bootcheck-multiboot): Likewise.
14668 (bootcheck-multiboot2): Likewise.
14669 (bootcheck-kfreebsd-aout): Likewise.
14670 (bootcheck-pc-chainloader): Likewise.
14671 (bootcheck-ntldr): Likewise.
14672 (CLEANFILES): Add new targets.
14673 (BOOTCHECKS): New variable.
14674 (.PHONY): Add bootchecks.
14675 (SUCCESSFUL_BOOT_STRING): New variable.
14676 (BOOTCHECK_TIMEOUT): Likewise.
14677 (bootcheck): New target
14678 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14679 * configure.ac: Correct efiemu excuse.
14680 * docs/grub.texi (Supported kernels): New chapter.
14681 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14682 include/grub/mm_private.h. Simplify inclusion of
14683 include/grub/boot.h, include/grub/loader.h
14684 and include/grub/msdos_partition.h
14685 (KERNEL_HEADER_FILES) [i386_coreboot]:
14686 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14687 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14688 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14689 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14690 include/grub/machine/loader.h.
14691 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14692 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14693 extra_dist.
14694 (pci.mod): Enable on i386-multiboot.
14695 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14696 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14697 i386-qemu.
14698 (relocator.mod): Rewritten.
14699 (aout.mod): Enable on all x86.
14700 (bsd.mod): Likewise.
14701 (ntldr.mod): New module.
14702 (linux.mod): Use loader/i386/linux.c on all x86.
14703 (xnu.mod): Enable on all x86.
14704 (vga_text.mod): disable on EFI and QEMU.
14705 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14706 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14707 * grub-core/efiemu/loadcore.c: Likewise.
14708 * grub-core/efiemu/main.c: Likewise.
14709 (grub_efiemu_exit_boot_services): Removed.
14710 (grub_efiemu_finish_boot_services): Likewise.
14711 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14712 function.
14713 * grub-core/efiemu/i386/nocfgtables.c: New file.
14714 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14715 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14716 (grub_efi_finish_boot_services): Moved from here ...
14717 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14718 Fille finish memory map and related data.
14719 (finish_mmap_buf): New variable.
14720 (grub_efi_uintn_t finish_mmap_size): Likewise.
14721 (grub_efi_uintn_t finish_key): Likewise.
14722 (grub_efi_uintn_t finish_desc_size): Likewise.
14723 (grub_efi_uint32_t finish_desc_version): Likewise.
14724 (grub_efi_is_finished): Likewise.
14725 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14726 finished.
14727 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14728 (grub_elf64_phdr_iterate): Likewise.
14729 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14730 (grub_os_area_size): Likewise.
14731 (grub_machine_init): Don't reserve os area.
14732 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14733 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14734 * grub-core/kern/i386/loader.S: Removed.
14735 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14736 (grub_os_area_size): Likewise.
14737 (grub_machine_init): Don't reserve os area.
14738 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14739 Don't call grub_dl_unload_all.
14740 Don't include loader.S.
14741 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14742 Declare the memory after _end as available.
14743 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14744 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14745 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14746 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14747 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14748 * include/grub/mm_private.h (grub_mm_header): ... here.
14749 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14750 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14751 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14752 (grub_mm_region): ..here. Removed addr. Added pre_size.
14753 All users updated.
14754 * grub-core/kern/mm.c (base): Renamed to ...
14755 (grub_mm_base): ... this. Made global.
14756 (grub_real_malloc): Alloc from end of region.
14757 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14758 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14759 * grub-core/kern/powerpc/cache_flush.S: ... here.
14760 * grub-core/lib/efi/relocator.c: New file.
14761 * grub-core/lib/i386/relocator.c: Rewritten.
14762 * grub-core/lib/i386/relocator16.S: New file.
14763 * grub-core/lib/i386/relocator32.S: Likewise.
14764 * grub-core/lib/i386/relocator64.S: Likewise.
14765 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14766 * grub-core/lib/i386/relocator_common.S: New file.
14767 * grub-core/lib/ieee1275/relocator.c: Likewise.
14768 * grub-core/lib/mips/relocator.c: Rewritten.
14769 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14770 stylistic adjustments.
14771 * grub-core/lib/powerpc/relocator.c: New file.
14772 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14773 * grub-core/lib/relocator.c: Rewritten.
14774 * grub-core/lib/x86_64/relocator_asm.S: New file.
14775 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14776 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14777 (bsd_tag): New struct.
14778 (tags): New variable.
14779 (tags_last): Likewise.
14780 (netbsd_module): New struct.
14781 (netbsd_mods): New variable.
14782 (netbsd_mods_last): Likewise.
14783 (openbsd_opts): New parameter "serial".
14784 (OPENBSD_SERIAL_ARG): New definition.
14785 (netbsd_opts): New parameter "serial".
14786 (NETBSD_SERIAL_ARG): New definition.
14787 (grub_freebsd_add_meta): Reorganised into ...
14788 (grub_bsd_add_meta): ...this. All users updated.
14789 (grub_freebsd_add_mmap): Reorganised into ...
14790 (generate_e820_mmap): ...this...
14791 (grub_bsd_add_mmap): ...and this. All users updated.
14792 (grub_freebsd_list_modules): Use tags.
14793 (grub_netbsd_add_meta_module): New function.
14794 (grub_netbsd_list_modules): Likewise.
14795 (grub_freebsd_boot): Use relocator and finish EFI.
14796 (grub_openbsd_boot): Likewise.
14797 (grub_netbsd_setup_video): New function.
14798 (grub_netbsd_add_modules): Likewise.
14799 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14800 and finish EFI.
14801 (grub_bsd_unload): Unload tags.
14802 (grub_bsd_load_aout): Use relocator.
14803 (grub_bsd_elf32_size_hook): New function.
14804 (grub_bsd_elf32_hook): Use relocator.
14805 (grub_bsd_elf64_size_hook): New function.
14806 (grub_bsd_elf64_hook): Use relocator.
14807 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14808 (grub_bsd_load): Zero-out openbsd_ramdisk.
14809 (grub_bsd_load): Use relocator.
14810 (grub_cmd_openbsd): Support serial.
14811 (grub_cmd_netbsd): Support modules.
14812 (grub_cmd_freebsd_module): Use relocator.
14813 (grub_netbsd_module_load): New function.
14814 (grub_cmd_netbsd_module): Likewise.
14815 (grub_cmd_openbsd_ramdisk): Likewise.
14816 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14817 kopenbsd_ramdisk.
14818 (GRUB_MOD_FINI): Unregister new commands.
14819 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14820 (grub_freebsd_load_elfmodule_obj): Use relocator.
14821 (grub_freebsd_load_elfmodule): Likewise.
14822 (grub_freebsd_load_elf_meta): Likewise.
14823 (grub_netbsd_load_elf_meta): New function.
14824 (grub_openbsd_find_ramdisk): Likewise.
14825 * grub-core/loader/i386/bsd_helper.S: Removed.
14826 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14827 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14828 * grub-core/loader/i386/efi/linux.c: Likewise.
14829 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14830 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14831 (DEFAULT_VIDEO_MODE): Likewise.
14832 (real_mode_target): New variable.
14833 (prot_mode_target): Likewise.
14834 (initrd_mem_target): Likewise.
14835 (relocator): Likewise.
14836 (efi_mmap_buf): Likewise.
14837 (efi_mmap_size): Likewise.
14838 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14839 (free_pages): Use relocator.
14840 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14841 (grub_linux_setup_video): Return error.
14842 (grub_linux_trampoline_start): Removed.
14843 (grub_linux_trampoline_end): Likewise.
14844 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14845 andd video parameters depending on firmware.
14846 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14847 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14848 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14849 (grub_cmd_initrd): Use relocator.
14850 * grub-core/loader/i386/linux_trampoline.S: Removed.
14851 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14852 (elf_sec_entsize): Likewise.
14853 (elf_sec_shstrndx): Likewise.
14854 (elf_sections): Likewise.
14855 (grub_multiboot_load): Use relocator.
14856 (grub_multiboot_get_mbi_size): Account for sections.
14857 (grub_multiboot_make_mbi): Use relocator and support sections.
14858 (grub_multiboot_add_elfsyms): New function.
14859 (grub_multiboot_free_mbi): Free sections.
14860 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14861 (grub_linux_real_target): Likewise.
14862 (grub_linux_real_chunk): Likewise.
14863 (grub_linux16_prot_size): Likewise.
14864 (grub_linux16_boot): Use relocator.
14865 (grub_linux_unload): Unload relocator.
14866 (grub_cmd_linux): Use relocator.
14867 (grub_cmd_initrd): Likewise.
14868 * grub-core/loader/i386/pc/ntldr.c: New file.
14869 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14870 Don't try to guess CPU frequency.
14871 (grub_xnu_set_video): Stretch bitmap.
14872 (grub_xnu_boot): Use relocator.
14873 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14874 (grub_linux_unload): Free relocator.
14875 (grub_linux_load32): Use relocator.
14876 (grub_linux_load64): Likewise.
14877 (grub_cmd_initrd): Likewise.
14878 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14879 (grub_multiboot_unload): Unload relocator.
14880 (grub_cmd_multiboot): Use relocator.
14881 (grub_cmd_module): Likewise.
14882 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14883 Use relocator and support sections.
14884 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14885 (elf_sec_entsize): Likewise.
14886 (elf_sec_shstrndx): Likewise.
14887 (elf_sections): Likewise.
14888 (grub_multiboot_load): Use relocator.
14889 (grub_multiboot_get_mbi_size): Account for sections.
14890 (grub_multiboot_make_mbi): Use relocator and support sections.
14891 (grub_multiboot_add_elfsyms): New function.
14892 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14893 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14894 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14895 Prototype changed. All users updated.
14896 (grub_xnu_align_heap): Simplified.
14897 (grub_xnu_writetree_toheap): Likewise.
14898 (grub_xnu_unload): Unload relocator.
14899 (grub_cmd_xnu_kernel): Use relocator.
14900 (grub_cmd_xnu_kernel64): Likewise.
14901 (grub_xnu_register_memory): Simplified.
14902 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14903 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14904 EFI is finished.
14905 (grub_console_checkkey): Likewise.
14906 (grub_console_getkey): Likewise.
14907 (grub_console_getwh): Likewise.
14908 (grub_console_getxy): Likewise.
14909 (grub_console_gotoxy): Likewise.
14910 (grub_console_cls): Likewise.
14911 (grub_console_setcolorstate): Likewise.
14912 (grub_console_setcursor): Likewise.
14913 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14914 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14915 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14916 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14917 * grub-core/tests/boot/kernel-8086.S: Likewise.
14918 * grub-core/tests/boot/kernel-i386.S: Likewise.
14919 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14920 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14921 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14922 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14923 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14924 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14925 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14926 * grub-core/tests/boot/linux.cfg: Likewise.
14927 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14928 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14929 * grub-core/tests/boot/linux16.cfg: Likewise.
14930 * grub-core/tests/boot/multiboot.cfg: Likewise.
14931 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14932 * grub-core/tests/boot/ntldr.cfg: Likewise.
14933 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14934 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14935 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14936 New definition.
14937 * include/grub/dl.h (grub_dl_unload_all): Removed.
14938 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14939 (grub_efi_finish_boot_services): Change prototype.
14940 (grub_efi_is_finished): New variable.
14941 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14942 Changed prototype.
14943 (grub_efiemu_finish_boot_services): Removed.
14944 (grub_machine_efiemu_init_tables): New prototype.
14945 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14946 (grub_elf64_phdr_iterate): Likewise.
14947 * include/grub/i386/bsd.h: Include relocator.h.
14948 (freebsd_tag_header): New struct.
14949 (grub_openbsd_bios_mmap): Removed.
14950 (grub_unix_real_boot): Removed.
14951 (grub_freebsd_load_elfmodule32): Changed prototype.
14952 (grub_freebsd_load_elfmodule_obj64): Likewise.
14953 (grub_freebsd_load_elf_meta32): Likewise.
14954 (grub_freebsd_load_elf_meta64): Likewise.
14955 (grub_freebsd_add_meta): Removed.
14956 (grub_netbsd_load_elf_meta32): New prototype.
14957 (grub_netbsd_load_elf_meta64): Likewise.
14958 (grub_bsd_add_meta): Likewise.
14959 (grub_openbsd_ramdisk_descriptor): New struct.
14960 (grub_openbsd_find_ramdisk32): New prototype.
14961 (grub_openbsd_find_ramdisk64): Likewise.
14962 * include/grub/i386/coreboot/loader.h: Removed.
14963 * include/grub/i386/efi/loader.h: Likewise.
14964 * include/grub/i386/ieee1275/loader.h: Likewise.
14965 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14966 to grub_uint32_t.
14967 * include/grub/i386/loader.h: Removed.
14968 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14969 value.
14970 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14971 (grub_phys_addr_t): New type.
14972 (grub_vtop): New inline function.
14973 (grub_map_memory): Likewise.
14974 (grub_unmap_memory): Likewise.
14975 * include/grub/i386/multiboot/loader.h: Removed.
14976 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14977 (NETBSD_BTINFO_CONSOLE): New definition.
14978 (NETBSD_BTINFO_SYMTAB): Likewise.
14979 (NETBSD_BTINFO_MODULES): Likewise.
14980 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14981 (grub_netbsd_bootinfo): New struct.
14982 (grub_netbsd_btinfo_common): Use explicit bitsize.
14983 (grub_netbsd_btinfo_mmap_entry): Removed.
14984 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14985 (grub_netbsd_btinfo_bootdisk): New struct.
14986 (grub_netbsd_btinfo_symtab): Likewise.
14987 (grub_netbsd_btinfo_serial): Likewise.
14988 (grub_netbsd_btinfo_modules): Likewise.
14989 (grub_netbsd_btinfo_framebuf): Likewise.
14990 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14991 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14992 Likewise.
14993 (grub_openbsd_bootargs): Use explicit bitsize.
14994 (grub_openbsd_bootarg_console): New struct.
14995 (GRUB_OPENBSD_COM_MAJOR): New definition.
14996 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14997 * include/grub/i386/pc/efiemu.h: Removed.
14998 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14999 * include/grub/i386/qemu/loader.h: Removed.
15000 * include/grub/i386/relocator.h: Rewritten.
15001 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15002 * include/grub/mips/memory.h: New file.
15003 * include/grub/mips/multiboot.h: Rewritten.
15004 * include/grub/mips/relocator.h: Rewritten.
15005 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15006 (grub_vtop): New function.
15007 (grub_map_memory): Likewise.
15008 (grub_unmap_memory): Likewise.
15009 * include/grub/misc.h (ALIGN_DOWN): New definition.
15010 * include/grub/mm.h (grub_mm_check_real): New proto.
15011 (GRUB_MM_CHECK): New definition.
15012 * include/grub/mm_private.h: New file.
15013 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15014 (grub_multiboot_get_mbi_size): Removed.
15015 (grub_multiboot_make_mbi): Change prottype.
15016 (grub_multiboot_set_accepts_video): New proto.
15017 (grub_multiboot_add_elfsyms): Likewise.
15018 (grub_multiboot_payload_eip): New variable.
15019 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15020 New prototype.
15021 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15022 New definition.
15023 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15024 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15025 * include/grub/powerpc/ieee1275/loader.h: Removed.
15026 * include/grub/powerpc/memory.h: New file.
15027 * include/grub/powerpc/relocator.h: Likewise.
15028 * include/grub/relocator.h: Likewise.
15029 * include/grub/relocator_private.h: Likewise.
15030 * include/grub/sparc64/ieee1275/loader.h: Removed.
15031 * include/grub/x86_64/memory.h: New file.
15032 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15033 (grub_xnu_heap_malloc): Likewise.
15034 (grub_xnu_heap_real_start): Removed.
15035 (grub_xnu_heap_start): Likewise.
15036 (grub_xnu_relocator): New variable.
15037 (grub_xnu_heap_target_start): Likewise.
15038 * tests/util/grub-shell.in: Support non-pc.
15039 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15040
5303b85d
VS
150412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15044 on malloc error.
15045 (grub_bidi_logical_to_visual): Check that malloc succeded.
15046 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15047 puts.
15048 (grub_xputs_normal): Likewise.
15049
d768d159
VS
150502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15053 extra_dist.
15054
150552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15058
5bf84df4
VS
150592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15062
3626810e
VS
150632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15066 dprintf.
15067
a7363f53
BC
150682010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15069
15070 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15071
902f75f6
VS
150722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/normal/term.c (print_more): Fix a memory leak.
15075 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15076 (grub_xputs_normal): Likewise.
15077
3c707967
VS
150782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15081 the begining of the string
15082
2053cc07
VS
150832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/script/script.c (grub_script_parse): Free parsed on
15086 failure.
15087
46422ebf
VS
150882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15091 on failure.
15092
9e0fa3f6
VS
150932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15096 return.
15097
3393cf16
VS
150982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15101 (scroll_up): Fix a memory leak.
15102
b17540cb
VS
151032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15106 errors.
15107
67140446
VS
151082010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 Handle USB pendrives exposed as floppies.
15111
15112 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15113 floppy.
15114 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15115 Check for partitions on all devices.
15116
e35e46fc
VS
151172010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15120 (readkey): Likewise.
15121
d24c6190
BC
151222010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15123
15124 Multiple variable names support to "export" command.
15125
15126 * normal/context.c (grub_cmd_export): "export" command supports
15127 multiple variable names.
15128
04ddcc6a
ST
151292010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15130
15131 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15132 --target=drive output to Mach device name.
15133
0c8b61d8
BC
151342010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15135
15136 New Automake based build system for GRUB.
15137
15138 * ABOUT-NLS: New file.
15139 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15140 in Makefile.util.def file.
15141 * Makefile.util.def: New file. Autogen build definitions file for
15142 GRUB host utils.
15143 * conf/Makefile.common: New file. Common variables for GRUB host
15144 utils and target modules.
15145 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15146 * docs/Makefile.am: New file. Automake file for docs.
15147 * gentpl.py: New file. Python script to generate Autogen
15148 template.
15149 * grub-core/Makefile.am: New file. GRUB target modules' rules
15150 that doesn't fit in Makefile.core.def file.
15151 * grub-core/Makefile.core.def: New file. Autogen build
15152 definitions file for GRUB target modules.
15153 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15154 specific setjmp.S file.
15155 * po/Makefile.am: New file.
15156
15157 * .bzrignore: New ignores.
15158 * INSTALL: New requirements, without Ruby.
15159 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15160 * autogen.sh: Updated to invoke autogen as necessary.
15161 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15162 and defines for Automake conditionals.
15163 * geninit.sh: Refactoring.
15164
15165 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15166 necessary.
15167 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15168 New prototype.
15169
15170 * include/grub/test.h: Fix functional test modules' naming.
15171 * grub-core/tests/example_functional_test.c: Fix test module name.
15172
15173 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15174 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15175 * util/grub-editenv.c: Likewise.
15176 * util/grub-fstest.c: Likewise.
15177 * util/grub-mkdevicemap.c: Likewise.
15178 * util/grub-mkfont.c: Likewise.
15179 * util/grub-mkimage.c: Likewise.
15180 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15181 * util/grub-probe.c: Likewise.
15182 * util/grub-script-check.c: Likewise.
15183 * util/i386/pc/grub-setup.c: Likewise.
15184 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15185
15186 * tests/util/grub-shell.in: Fix override directory path.
15187 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15188 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15189
15190 * util/lvm.c: Update #includes.
15191 * util/raid.c: Likewise.
15192 * util/resolve.c: Likewise.
15193 * grub-core/bus/emu/pci.c: Likewise.
15194 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15195 * grub-core/lib/posix_wrap/string.h: Likewise.
15196 * grub-core/kern/emu/main.c: Likewise.
15197
15198 * grub-core/gensymlist.sh: New file. Script for generating kernel
15199 symbols file.
15200 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15201
15202 * grub-core/gentrigtables.c: Fix unused variable warnings.
15203
15204 * Makefile.in: Removed.
15205 * conf/any-emu.rmk: Removed.
15206 * conf/common.rmk: Removed.
15207 * conf/i386-coreboot.rmk: Removed.
15208 * conf/i386-efi.rmk: Removed.
15209 * conf/i386-ieee1275.rmk: Removed.
15210 * conf/i386-multiboot.rmk: Removed.
15211 * conf/i386-pc.rmk: Removed.
15212 * conf/i386-qemu.rmk: Removed.
15213 * conf/i386.rmk: Removed.
15214 * conf/mips-yeeloong.rmk: Removed.
15215 * conf/mips.rmk: Removed.
15216 * conf/powerpc-ieee1275.rmk: Removed.
15217 * conf/sparc64-ieee1275.rmk: Removed.
15218 * conf/tests.rmk: Removed.
15219 * conf/x86-efi.rmk: Removed.
15220 * conf/x86_64-efi.rmk: Removed.
15221 * gendistlist.sh: Removed.
15222 * geninitheader.sh: Removed.
15223 * genkernsyms.sh.in: Removed.
15224 * genmk.rb: Removed.
15225 * gensymlist.sh.in: Removed.
15226 * mkinstalldirs: Removed.
15227 * boot: Moved ...
15228 * grub-core/boot: ... to here.
15229 * bus: Moved ...
15230 * grub-core/bus: ... to here.
15231 * commands: Moved ...
15232 * grub-core/commands: ... to here.
15233 * disk: Moved ...
15234 * grub-core/disk: ... to here.
15235 * efiemu: Moved ...
15236 * grub-core/efiemu: ... to here.
15237 * font: Moved ...
15238 * grub-core/font: ... to here.
15239 * fs: Moved ...
15240 * grub-core/fs: ... to here.
15241 * gencmdlist.sh: Moved ...
15242 * grub-core/gencmdlist.sh: ... to here.
15243 * genemuinit.sh: Moved ...
15244 * grub-core/genemuinit.sh: ... to here.
15245 * genemuinitheader.sh: Moved ...
15246 * grub-core/genemuinitheader.sh: ... to here.
15247 * genfslist.sh: Moved ...
15248 * grub-core/genfslist.sh: ... to here.
15249 * genhandlerlist.sh: Moved ...
15250 * grub-core/genhandlerlist.sh: ... to here.
15251 * genmoddep.awk: Moved ...
15252 * grub-core/genmoddep.awk: ... to here.
15253 * genmodsrc.sh: Moved ...
15254 * grub-core/genmodsrc.sh: ... to here.
15255 * genpartmaplist.sh: Moved ...
15256 * grub-core/genpartmaplist.sh: ... to here.
15257 * genparttoollist.sh: Moved ...
15258 * grub-core/genparttoollist.sh: ... to here.
15259 * genterminallist.sh: Moved ...
15260 * grub-core/genterminallist.sh: ... to here.
15261 * gentrigtables.c: Moved ...
15262 * grub-core/gentrigtables.c: ... to here.
15263 * genvideolist.sh: Moved ...
15264 * grub-core/genvideolist.sh: ... to here.
15265 * gettext: Moved ...
15266 * grub-core/gettext: ... to here.
15267 * gfxmenu: Moved ...
15268 * grub-core/gfxmenu: ... to here.
15269 * gnulib: Moved ...
15270 * grub-core/gnulib: ... to here.
15271 * hello: Moved ...
15272 * grub-core/hello: ... to here.
15273 * hook: Moved ...
15274 * grub-core/hook: ... to here.
15275 * io: Moved ...
15276 * grub-core/io: ... to here.
15277 * kern: Moved ...
15278 * grub-core/kern: ... to here.
15279 * lib: Moved ...
15280 * grub-core/lib: ... to here.
15281 * loader: Moved ...
15282 * grub-core/loader: ... to here.
15283 * mmap: Moved ...
15284 * grub-core/mmap: ... to here.
15285 * normal: Moved ...
15286 * grub-core/normal: ... to here.
15287 * partmap: Moved ...
15288 * grub-core/partmap: ... to here.
15289 * parttool: Moved ...
15290 * grub-core/parttool: ... to here.
15291 * script: Moved ...
15292 * grub-core/script: ... to here.
15293 * term: Moved ...
15294 * grub-core/term: ... to here
15295 * tests/example_functional_test.c: Moved ...
15296 * grub-core/tests/example_functional_test.c: ... to here.
15297 * tests/lib/functional_test.c: Moved ...
15298 * grub-core/tests/lib/functional_test.c: ... to here.
15299 * tests/lib/test.c: Moved ...
15300 * grub-core/tests/lib/test.c: ... to here.
15301 * video: Moved ...
15302 * grub-core/video: ... to here.
15303
645586e6
BC
153042010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15305
15306 Replace --enable-grub-emu-modules with grub-emu-lite.
15307
15308 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15309 cache.S.
15310
15311 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15312 * kern/emu/full.c: New file. For grub-emu specific initialization.
15313 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15314 * kern/emu/main.c: Call initialization function grub_emu_init.
15315
15316 * Makefile.in: Include grub-emu-lite in install.
15317 * commands/parttool.c: Use grub_no_autoload to differentiate
15318 between grub-emu and grub-emu-lite.
15319 * include/grub/misc.h: New variable grub_no_autoload.
15320
15321 * conf/any-emu.rmk: New rules for grub-emu-lite.
15322 * configure.ac: Remove --enable-grub-emu-modules.
15323 * genmk.rb: Cleanup unnecessary rules.
15324 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15325
15326 * normal/main.c: Don't load list files on grub-emu-lite.
15327 * util/misc.c (grub_arch_sync_caches): Removed.
15328
f86a4030
CW
153292010-08-23 Colin Watson <cjwatson@ubuntu.com>
15330
15331 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15332 grub-mkimage rather than grub-mkelfimage.
15333 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15334
06776944
VS
153352010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15338 a key after CapsLock or NumLock. It's just a qemu bug.
15339
df262419
VS
153402010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15343 needed by libusb wrapper.
15344
b40ea81b
ST
153452010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15346
15347 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15348
dee50575
VS
153492010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15352 --nounzip is passed.
15353
fb1d7b79
VS
153542010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 USB hotunplugging and USB serial support.
15357
15358 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15359 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15360 (grub_uhci_transfer): Respect timeout and set *actual.
15361 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15362 non-standard length.
15363 (grub_usb_device_attach): Autoload modules.
15364 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15365 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15366 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15367 users updated.
15368 (grub_usb_add_hub): Fill nports and children.
15369 (attach_root_port): Receive hub instead of controller.
15370 All users updated. Fill hub->devices.
15371 (grub_usb_root_hub): Allocate hub->devices.
15372 (detach_device): New function.
15373 (poll_nonroot_hub): Fill children and detach devices.
15374 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15375 actual arguments. All users updated.
15376 (grub_usb_bulk_read_extended): New function.
15377 * bus/usb/serial/common.c: New file.
15378 * bus/usb/serial/ftdi.c: Likewise.
15379 * bus/usb/serial/pl2303.c: Likewise.
15380 * commands/terminal.c (handle_command): Support wildcard.
15381 * commands/usbtest.c: Output "Unknown" instead of empty string.
15382 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15383 (usbserial_common_mod_SOURCES): New variable.
15384 (usbserial_common_mod_CFLAGS): Likewise.
15385 (usbserial_common_mod_LDFLAGS): Likewise.
15386 (pkglib_MODULES): Add usbserial_pl2303.mod.
15387 (usbserial_pl2303_mod_SOURCES): New variable.
15388 (usbserial_pl2303_mod_CFLAGS): Likewise.
15389 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15390 (pkglib_MODULES): Add usbserial_ftdi.mod.
15391 (usbserial_ftdi_mod_SOURCES): New variable.
15392 (usbserial_ftdi_mod_CFLAGS): Likewise.
15393 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15394 (pkglib_MODULES): Add serial.mod.
15395 (serial_mod_SOURCES): New variable.
15396 (serial_mod_CFLAGS): Likewise.
15397 (serial_mod_LDFLAGS): Likewise.
15398 * conf/i386-pc.rmk: Likewise.
15399 * conf/mips-yeeloong.rmk: Likewise.
15400 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15401 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15402 * disk/usbms.c (first_available_slot): New variable.
15403 (grub_usbms_attach): Don't reuse free slots due to potential cache
15404 problems.
15405 * include/grub/serial.h: Moved to ..
15406 * include/grub/ns8250.h: ...this.
15407 * include/grub/serial.h: New file.
15408 * include/grub/term.h (grub_term_poll_usb): New variable.
15409 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15410 readkey. All users updated.
15411 (grub_terminfo_output_state): Pass term to put.
15412 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15413 (grub_usb_controller_dev): Add timeout and actual arguments to
15414 transfer. All users updated.
15415 (grub_usb_interface): New field detach_data.
15416 (grub_usb_device): New fields children and nports.
15417 (grub_usb_ep_type_t): New type.
15418 (grub_usb_get_ep_type): New function.
15419 (grub_usb_bulk_read_extended): Likewise.
15420 * include/grub/usbdesc.h (grub_usb_desc): New type.
15421 * include/grub/usbserial.h: New file.
15422 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15423 * kern/term.c (grub_term_poll_usb): New variable.
15424 (grub_getkey): Call grub_term_poll_usb if set.
15425 (grub_checkkey): Likewise.
15426 (grub_getkeystatus): Likewise.
15427 * term/serial.c: Moved controller-specific parts to ...
15428 * term/ns8250.c: ... here.
15429 * term/serial.c: Mostly rewritten.
15430 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15431 according to spec.
15432
21a313de
RM
154332010-08-20 Robert Millan <rmh@gnu.org>
15434
15435 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15436 a separate module and maybe other interesting combinations.
15437
15438 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15439 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15440 (kfreebsd_entry): Add generic filesystem module load routine.
15441 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15442
63c734a6
CW
154432010-08-20 Colin Watson <cjwatson@ubuntu.com>
15444
15445 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15446 "numcenter" (I misunderstood the purpose of this entry).
15447 * docs/grub.texi (sendkey): Likewise.
15448
c4d16542
CW
154492010-08-20 Colin Watson <cjwatson@ubuntu.com>
15450
15451 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15452 status flag options; simply omitting the option is equivalent and
15453 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15454 (keysym_table): Rename "num5numlock" to "numlock".
15455 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15456 can uniformly say that only the last of multiple `sendkey'
15457 invocations has any effect.
15458 * docs/grub.texi (sendkey): New section.
15459
93541d66
CW
154602010-08-19 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * commands/i386/pc/sendkey.c (options): Fix three typos.
15463
b4ece5e1
VS
154642010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 Implement sendkey support.
15467
15468 * commands/i386/pc/sendkey.c: New file.
15469 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15470 (sendkey_mod_SOURCES): New variable.
15471 (sendkey_mod_CFLAGS): Likewise.
15472 (sendkey_mod_LDFLAGS): Likewise.
15473
51f1f5af
CW
154742010-08-18 Colin Watson <cjwatson@ubuntu.com>
15475
15476 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15477 fix warnings from Autoconf.
15478
9da94e05
CW
154792010-08-18 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15482 to avoid false positives with some assemblers that output things
15483 like "someprefix_func" as part of their output.
15484
729a0f2e
RM
154852010-08-15 Robert Millan <rmh@gnu.org>
15486
15487 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15488 errors.
15489 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15490 grub_get_libzfs_handle() errors.
15491
f3710e08
RM
154922010-08-14 Robert Millan <rmh@gnu.org>
15493
15494 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15495 filesystem is not ZFS.
15496
7a3c13de
BC
154972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15498
15499 Fix for misspelled color names defaulting to black/black (bug
15500 reported by Doug Nazar)
15501
15502 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15503 status to prototype.
15504 * normal/color.c (grub_parse_color_name_pair): Return failure
15505 status.
15506 (grub_env_write_color_normal): Ignore bad color names.
15507 (grub_env_write_color_highlight): Likewise.
15508 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15509
ab8ba50d
BC
155102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15511
15512 "shift" command support to GRUB script.
15513
15514 * include/grub/script_sh.h (grub_script_shift): New prototype.
15515 * script/execute.c (grub_script_shift): New function.
15516 * script/main.c (grub_script_init): Register shift command.
15517 (grub_script_fini): Unregister shift command.
15518 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15519
15520 * tests/grub_script_shift.in: New testcase.
15521 * conf/tests.rmk: Rules for new testcase.
15522
4d61999e
BC
155232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15524
15525 "continue" command support to GRUB script.
15526
15527 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15528 (grub_script_break): Continue support.
15529 * script/main.c (grub_script_init): Register continue command.
15530 (grub_script_fini): Unregister continue command.
15531
15532 * tests/grub_script_continue.in: New testcase.
15533 * conf/tests.rmk: Rules for new testcase.
15534
4df51e00
BC
155352010-08-12 BVK Chaitanya <bvk@dbook>
15536
15537 "break" command support to GRUB script.
15538
15539 * conf/common.rmk: Rule updates to grub-script-check.
15540 * include/grub/misc.h (grub_min): New function.
15541 * include/grub/script_sh.h (grub_script_init): New prototype.
15542 (grub_script_fini): New prototype.
15543 (grub_script_break): New prototype.
15544 * script/main.c (grub_script_init): New function.
15545 (grub_script_fini): New function.
15546 * script/execute.c (grub_script_break): New function.
15547 * normal/main.c: Calls to grub_script_{init,fini}.
15548 * util/grub-script-check.c (grub_script_break): New function.
15549
15550 * tests/grub_script_break.in: New testcase.
15551 * conf/tests.rmk: Rules for new test case.
15552
f12c8420
BC
155532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15554
15555 Function parameters support to GRUB script.
15556
15557 * script/yylex.l (VARIABLE): Regular expression update.
15558 * script/function.c (grub_script_function_call): Moved ...
15559 * script/execute.c (grub_script_function_call): ... to here.
15560 (grub_script_execute_arglist_to_argv): Removed.
15561 (grub_script_arglist_to_argv): New function.
15562 * script/argv.c: New file.
15563 (grub_script_argv_free): New function.
15564 (grub_script_argv_next): Likewise.
15565 (grub_script_argv_append): Likewise.
15566 (grub_script_argv_split_append): Likewise.
15567 * include/grub/script_sh.h (grub_script_argv): New struct.
15568 (grub_script_argv_free): New function.
15569 (grub_script_argv_next): Likewise.
15570 (grub_script_argv_append): Likewise.
15571 (grub_script_argv_split_append): Likewise.
15572
15573 * conf/common.rmk (normal.mod): New source script/argv.c.
15574
15575 * tests/grub_script_echo1.in: More tests.
15576 * tests/grub_script_vars1.in: Likewise.
15577 * tests/grub_script_functions.in: New test case.
15578 * conf/tests.rmk: Rules for new testcase.
15579
8022b748
BC
155802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15581
15582 Remove grub_script_cmdblock struct.
15583
15584 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15585 * script/parser.y: Likewise.
15586 * script/execute.c: Rename cmdblock suffix to cmdlist.
15587 * script/script.c: Likewise.
15588 * util/grub-script-check.c: Likewise.
15589
79a6ba61
YB
155902010-08-11 Yves Blusseau <blusseau@zetam.org>
15591
15592 * .bzrignore: add grub-macho2img
15593
d04b9414
VS
155942010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15597
f947ab49
VS
155982010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 Remove the dump of sm712 initialisation sequence.
15601
15602 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15603 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15604 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15605 (GRUB_VGA_CR_*): Added many registers.
15606 (GRUB_VGA_SR_*): Likewise.
15607 (GRUB_VGA_GR_*): Likewise.
15608 (grub_vga_write_arx): New function.
15609 (grub_video_hw_config): New struct.
15610 (grub_vga_set_geometry): New function.
15611 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15612 GRUB_PCI_CLASS_SUBCLASS_VGA.
15613 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15614 * video/sm712.c (grub_sm712_write_reg): New function
15615 (grub_sm712_read_reg): Likewise.
15616 (grub_sm712_sr_write): Likewise.
15617 (grub_sm712_gr_write): Likewise.
15618 (grub_sm712_cr_write): Likewise.
15619 (grub_sm712_write_arx): Likewise.
15620 (grub_sm712_cr_shadow_write): Likewise.
15621 (grub_sm712_write_dda_lookup): Likewise.
15622 (grub_video_sm712_setup): Initialise the video rather then
15623 blindly replay the dump.
15624 (main) [TEST]: Add a routine to be able to compile as standalone for
15625 tests.
15626 * video/sm712_init.c (sm712_init): Removed.
15627 (sm712_sr_seq1): New array.
15628 (sm712_sr_seq2): Likewise.
15629
f0206638
VS
156302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * include/grub/vga.h: Add missing grub/pci.h include.
15633
2764da3b
YB
156342010-08-10 Yves Blusseau <blusseau@zetam.org>
15635
15636 * util/grub-macho2img.c (main): fix typo
15637
cf0c775e
VS
156382010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15641 (grub_vga_gr_read): Likewise.
15642 (grub_vga_cr_write): Likewise.
15643 (grub_vga_cr_read): Likewise.
15644 (grub_vga_sr_write): Likewise.
15645 (grub_vga_sr_read): Likewise.
15646 (grub_vga_palette_read): Likewise.
15647 (grub_vga_palette_write): Likewise.
15648 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15649 (grub_sm712_sr_read): New function.
15650 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15651 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15652
07f360e9
RM
156532010-08-09 Robert Millan <rmh@gnu.org>
15654
15655 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15656 out unused variables on non-ZFS build.
15657
346c2072
RM
156582010-08-08 Robert Millan <rmh@gnu.org>
15659
15660 Fix path generation for sub-filesystems in ZFS.
15661
15662 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15663 missing slash.
15664
71175420
RM
156652010-08-08 Robert Millan <rmh@gnu.org>
15666
15667 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15668
0d8286f3
RM
156692010-08-08 Robert Millan <rmh@gnu.org>
15670
15671 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15672 exist, issue a proper error message (rely on `ls' for translated
15673 strings).
15674
55dd2924
RM
156752010-08-08 Robert Millan <rmh@gnu.org>
15676
15677 Fix grub-probe invocation.
15678
15679 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15680
d3dd9e80
RM
156812010-08-04 Robert Millan <rmh@gnu.org>
15682
15683 * configure.ac: Remove checks for getfsstat() and getmntany().
15684 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15685 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15686 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15687 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15688 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15689 function.
15690 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15691 via find_mount_point_from_dir() and getfsstat() / getmntany().
15692
0de22aa9
RM
156932010-08-04 Robert Millan <rmh@gnu.org>
15694
15695 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15696 (grub_find_zpool_from_mount_point): Merge into ...
15697 (grub_find_zpool_from_dir): ... this.
15698 * kern/emu/misc.c: Likewise.
15699
15700 * kern/emu/misc.c
15701 (grub_make_system_path_relative_to_its_root): Replace
15702 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15703 with grub_find_zpool_from_dir().
15704 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15705
62858144
RM
157062010-08-04 Robert Millan <rmh@gnu.org>
15707
15708 Support OpenSolaris in ZFS device resolution.
15709
15710 * configure.ac: Check for getmntany().
15711 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15712 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15713 support.
15714
9dd6fd50
RM
157152010-08-03 Robert Millan <rmh@gnu.org>
15716
15717 Fix grub-emu build.
15718
15719 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15720 * include/grub/emu/misc.h: ... here.
15721
15722 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15723 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15724
15725 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15726 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15727 (grub_get_libzfs_handle): Move to ...
15728 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15729 (grub_get_libzfs_handle): ... here.
15730
c9f7ff97
BC
157312010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15732
15733 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15734 as command name case.
15735
a870a783
CW
157362010-08-02 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * disk/raid.c (insert_array): Select unique numbers for named arrays
15739 as well, for use as keys in the disk cache.
15740
c7db243b
RM
157412010-08-01 Robert Millan <rmh@gnu.org>
15742
15743 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15744 kFreeBSD device name, except on ZFS where the filesystem label is
15745 used.
15746 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15747 `/boot/zfs/zpool.cache'.
15748 Set mountfrom kernel variable using ${kfreebsd_device}.
15749
f7abdefb
RM
157502010-08-01 Robert Millan <rmh@gnu.org>
15751
15752 Make it even harder to use uninitialized `libzfs_handle' (and
15753 make the interface a bit simpler).
15754
15755 * include/grub/util/misc.h (grub_util_init_libzfs)
15756 (libzfs_handle): Remove.
15757 (grub_get_libzfs_handle): New prototype.
15758
15759 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15760 attribute.
15761 (grub_util_init_libzfs): Remove.
15762 (grub_get_libzfs_handle): New function.
15763
15764 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15765 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15766 accessing `libzfs_handle' directly.
15767
c882acc0
RM
157682010-08-01 Robert Millan <rmh@gnu.org>
15769
15770 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15771 (grub_find_zpool_from_mount_point): New function prototypes.
15772
15773 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15774 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15775
15776 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15777 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15778 `static' attribute.
15779
15780 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15781 finding zpool from mount point into ...
15782 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15783
15784 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15785 requested path is part of a ZFS pool, use
15786 grub_find_zpool_from_mount_point() to detect its filesystem name,
15787 and generate a path with `/fsname@path' syntax.
15788
8bfe31d8
CW
157892010-08-01 Colin Watson <cjwatson@ubuntu.com>
15790
15791 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15792 (void) rather than () so that this is a proper prototype.
15793
553df63d
VS
157942010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15797
8687cf07
VS
157982010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15801 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15802
ea9be8ea
CW
158032010-08-01 Colin Watson <cjwatson@ubuntu.com>
15804
15805 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15806
6eea041a
CW
158072010-08-01 Colin Watson <cjwatson@ubuntu.com>
15808
15809 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15810
2cfb45df
CW
158112010-08-01 Colin Watson <cjwatson@ubuntu.com>
15812
15813 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15814 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15815 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15816 disable gfxpayload.
15817 (Shell-like scripting): Add real content.
15818 (Serial terminal): Suggest `terminal_input serial; terminal_output
15819 serial' rather than putting the two commands on separate lines,
15820 since console input will be inoperative after the first command.
15821 (menuentry): Document --class, --users, and --hotkey options.
15822 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15823 Vladimir Serbinenko).
15824
7decd202
VS
158252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
158262010-08-01 Colin Watson <cjwatson@ubuntu.com>
15827
15828 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15829
c882acc0
RM
158302010-08-01 Robert Millan <rmh@gnu.org>
15831
15832 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15833 (grub_find_zpool_from_mount_point): New function prototypes.
15834
15835 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15836 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15837
15838 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15839 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15840 `static' attribute.
15841
15842 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15843 finding zpool from mount point into ...
15844 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15845
15846 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15847 requested path is part of a ZFS pool, use
15848 grub_find_zpool_from_mount_point() to detect its filesystem name,
15849 and generate a path with `/fsname@path' syntax.
15850
deb0caa3
RM
158512010-08-01 Robert Millan <rmh@gnu.org>
15852
15853 Prevent accidental use of uninitialized libzfs_handle.
15854
15855 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15856 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15857 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15858
ce04ef47
CW
158592010-08-01 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15862 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15863
ebf53056
RM
158642010-08-01 Robert Millan <rmh@gnu.org>
15865
15866 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15867
3710bb6b
RM
158682010-07-31 Robert Millan <rmh@gnu.org>
15869
15870 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15871
8072efeb
RM
158722010-07-31 Robert Millan <rmh@gnu.org>
15873
15874 * kern/emu/misc.c: Add missing license header.
15875
3169f4c7
RM
158762010-07-31 Robert Millan <rmh@gnu.org>
15877
15878 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15879
15880 * include/grub/util/libnvpair.h: Include `<config.h>'.
15881 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15882 declaring libnvpair prototypes ourselves.
15883 * include/grub/util/libzfs.h: Include `<config.h>'.
15884 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15885 declaring libzfs prototypes ourselves.
15886
15887 (libzfs_handle): Moved to ...
15888 * include/grub/util/misc.h (libzfs_handle): ... here.
15889 Include `<grub/util/libzfs.h>'.
15890
c9a00aee
RM
158912010-07-30 Robert Millan <rmh@gnu.org>
15892
15893 * include/grub/emu/misc.h: Add missing license header.
15894
a184f9c8
RM
158952010-07-30 Robert Millan <rmh@gnu.org>
15896
15897 Enable `grub-probe -t device' resolution on ZFS.
15898
15899 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15900 * include/grub/util/libnvpair.h: New file.
15901 * include/grub/util/libzfs.h: New file.
15902
15903 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15904 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15905 `<grub/util/libnvpair.h>'.
15906 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15907
15908 (find_mount_point_from_dir): New static function.
15909 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15910 function.
15911 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15912 find_root_device_from_libzfs() before ressorting to find_root_device().
15913
15914 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15915 prototype.
15916 * util/misc.c: Include `<grub/util/libzfs.h>'.
15917 (grub_util_init_libzfs): New function.
15918 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15919 [HAVE_LIBZFS] (fini_libzfs): New static function.
15920 (grub_util_init_libzfs): New function.
15921 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15922
f7790cdd
RM
159232010-07-30 Robert Millan <rmh@gnu.org>
15924
15925 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15926 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15927 `warn_unused_result' attribute.
15928 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15929 (grub_xasprintf, grub_xvasprintf): Likewise.
15930 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15931
0806b63c
RM
159322010-07-29 Robert Millan <rmh@gnu.org>
15933
15934 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15935 (probe): Handle `PRINT_FS_LABEL'.
15936 (main): Handle `-t fs_label'.
15937
9f841f5c
RM
159382010-07-29 Robert Millan <rmh@gnu.org>
15939
15940 * configure.ac: Remove grub-mkisofs checks.
15941
46371121
VS
159422010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15945 Reported by: Lennart Sorensen.
15946
159472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15950 prior to terminal_input/terminal_output separation. It's been over 1.5
15951 years and those versions weren't widely deployed.
15952
a9600892
CW
159532010-07-22 Colin Watson <cjwatson@ubuntu.com>
15954
15955 * disk/raid.c (insert_array): Don't count named arrays when looking
15956 for unused array numbers.
697e053c 15957 Reported and tested by: Michael Guntsche.
a9600892 15958
c03507df
CW
159592010-07-20 Colin Watson <cjwatson@ubuntu.com>
15960
15961 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15962 implementation of this so that grub-emu links again, with a note
15963 that this should support hotplugging in the future.
15964
b26f1c11
CW
159652010-07-20 Colin Watson <cjwatson@ubuntu.com>
15966
15967 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15968
efc9d7f1
CW
159692010-07-20 Colin Watson <cjwatson@ubuntu.com>
15970
15971 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15972 handle on failure.
15973 (grub_loopback_close): Remove empty function.
15974 (grub_loopback_dev): Remove close method.
15975
dd8ff5c9
CW
159762010-07-20 Colin Watson <cjwatson@ubuntu.com>
15977
15978 Disable EFI cursor when the EFI console becomes inactive.
15979
15980 * term/efi/console.c (grub_efi_console_init): New function.
15981 (grub_efi_console_fini): New function.
15982 (grub_console_term_output): Register init and fini methods.
15983
5e3bec67
VS
159842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15987 sh script.
15988
afaec079
VS
159892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * disk/loopback.c (grub_loopback): Replace filename with file.
15992 (delete_loopback): Handle new semantics.
15993 (grub_cmd_loopback): Likewise.
15994 (grub_loopback_iterate): Likewise.
15995 (grub_loopback_close): Likewise.
15996
a6a11f3c
VS
159972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16000 with -p "".
16001 Reported by: Tito Keitel.
16002
64a638b0
VS
160032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * docs/grub.texi (Naming convention): Document new naming convention.
16006
ab8ba957
VS
160072010-07-20 Vadim Solomin <vadic052@gmail.com>
160082010-07-20 Colin Watson <cjwatson@ubuntu.com>
16009
16010 Generate device.map in something closer to the old ordering.
16011
16012 * util/deviceiter.c (struct device): New declaration.
16013 (compare_file_names): Rename to ...
16014 (compare_devices): ... this. Sort by kernel name in preference to
16015 the stable by-id name, but keep the latter as a fallback comparison.
16016 Update header comment.
16017 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16018 of `struct device' rather than of plain file names.
16019
a29d6a4b
TF
160202010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16021
16022 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16023 on i386.
16024
39d824e8
VS
160252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16028 hardcoding size.
16029 (setv1table): Likewise.
16030
f058276b
FZ
160312010-07-20 Colin Watson <cjwatson@ubuntu.com>
16032
16033 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16034 removing the homehost if present.
16035 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16036 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16037 removing the homehost if present.
16038 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16039 if possible.
16040 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16041
16042 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16043 parameter. Set its pointer target to 0.
16044 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16045 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16046 `data_offset' value from the superblock for 1.x metadata.
16047 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16048 data on the device.
16049 (insert_array): Record the start sector of data on the device.
16050 (grub_raid_register): Pass start_sector parameters to
16051 grub_raid_list->detect and insert_array.
16052 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16053 member.
16054 (struct grub_raid): Add start_sector parameter to `detect'.
16055
16056 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16057 __attribute__ ((packed)), leaving a comment.
16058 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16059 (grub_mdraid_detect_09): ... here and ...
16060 (grub_mdraid_detect_1x): ... here.
16061
160622010-07-20 Peter Henn <peter.henn@web.de>
16063
16064 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16065 chunk size and disk size, which are already given as sector counts
16066 as distinct from the 0.90 units. Fetch the correct device number
16067 from the role table instead of using the table index.
16068
160692010-07-20 Felix Zielcke <fzielcke@z-51.de>
16070
16071 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16072 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16073 (WriteMostly1): New macro.
16074 Set array->name to NULL for metadata format 0.90. Add support for
16075 metadata 1.x. Fix some comments.
16076 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16077 few comments.
16078 * util/getroot.c (grub_util_get_grub_dev): Add support for
16079 /dev/md/name style devices.
16080
4b761da9
CW
160812010-07-20 Colin Watson <cjwatson@ubuntu.com>
16082
16083 * .bzrignore: Ignore 20_linux_xen.
16084
5771289a
CW
160852010-07-17 Colin Watson <cjwatson@ubuntu.com>
16086
16087 * util/import_unicode.py: Remove unnecessary imports.
16088
5dab68df
AN
160892010-07-17 Aleš Nesrsta <starous@volny.cz>
16090
16091 Hotplugging and USB hub support.
16092
16093 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16094 (grub_ohci): Likewise.
16095 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16096 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16097 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16098 (GRUB_OHCI_CTRL_EDS): Likewise.
16099 (GRUB_OHCI_BULK_EDS): Likewise.
16100 (GRUB_OHCI_TDS): Likewise.
16101 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16102 (grub_ohci_ed_phys2virt): New function.
16103 (grub_ohci_virt_to_phys): Likewise.
16104 (grub_ohci_td_phys2virt): Likewise.
16105 (grub_ohci_td_virt2phys): Likewise.
16106 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16107 attachment.
16108 (grub_ohci_find_ed): New function.
16109 (grub_ohci_alloc_td): Likewise.
16110 (grub_ohci_free_td): Likewise.
16111 (grub_ohci_free_tds): Likewise.
16112 (grub_ohci_transfer): Use previously allocated memory.
16113 (grub_ohci_portstatus): Reset status changed bit.
16114 (grub_ohci_detect_dev): Supply status changed.
16115 (grub_ohci_fini_hw): Free memory.
16116 (grub_ohci_restore_hw): Reallocate memory.
16117 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16118 Reset status change.
16119 (grub_uhci_detect_dev): Supply status_change.
16120 * bus/usb/usb.c (attach_hooks): New var.
16121 (grub_usb_device_attach): New function.
16122 (grub_usb_register_attach_hook_class): Likewise.
16123 (grub_usb_unregister_attach_hook_class): Likewise.
16124 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16125 (grub_usb_add_hub): Reset connection changed bit.
16126 (attach_root_port): New function.
16127 (grub_usb_root_hub): Likewise.
16128 (poll_nonroot_hub): Likewise.
16129 (grub_usb_poll_devices): Likewise.
16130 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16131 * disk/usbms.c (grub_usbms_open): Use device hooks.
16132 (grub_usbms_iterate) :Poll devices.
16133 (grub_usbms_finddevs): Split into ...
16134 (grub_usbms_attach): ... this ...
16135 (grub_usbms_attach): ... and this.
16136 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16137 in detect_dev.
16138 (grub_usb_interface): New fields attached and detach_hook.
16139 (grub_usb_attach_hook_class): New type.
16140 (grub_usb_attach_desc): New struct.
16141 (grub_usb_register_attach_hook_class): New function.
16142 (grub_usb_unregister_attach_hook_class): Likewise.
16143 (grub_usb_poll_devices): Likewise.
16144 (grub_usb_device_attach): Likewise.
16145 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16146 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16147
3222efaf
VS
161482010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16151 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16152 delta determination style. Works with most NetBSD partitions too.
16153
139b714a
VS
161542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16157 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16158
986aad56
VS
161592010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16162
99be513c
AB
161632010-07-14 Anton Blanchard <anton@samba.org>
16164
16165 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16166 ET_DYN files.
16167
18075f62
GS
161682010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16169
16170 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16171
8d9a5b15
GS
161722010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16173
16174 * kern/partition.c (grub_partition_check_containment): New function to
16175 check that a partition is physically contained in a parent. Since
16176 offsets are relative (and non-negative), this reduces to checking that
16177 the partition ends before its parent.
16178 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16179 (grub_partition_iterate): Likewise.
16180 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16181 comments.
16182 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16183 partitions that start before their parent, and add debug printfs.
16184
19563c25
CW
161852010-07-13 Colin Watson <cjwatson@ubuntu.com>
16186
16187 * Makefile.in (.SUFFIX): Spell correctly, as ...
16188 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16189 bare module name without `.mod', e.g. `test') tried to invoke a
16190 Modula-2 compiler.
16191
1a1f1e67
CW
161922010-07-13 Colin Watson <cjwatson@ubuntu.com>
16193
16194 * README: Point to the Info manual.
16195
811b0dca
JS
161962010-07-13 Jiro SEKIBA <jir@unicus.jp>
16197
16198 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16199 2nd superblock position from partition size.
16200
e4f4eafc
CW
162012010-07-10 Colin Watson <cjwatson@ubuntu.com>
16202
16203 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16204 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16205 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16206 outputs.
16207
4274c30f
VS
162082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 Restructure SCSI .id handling.
16211 Reported and tested by: Aleš Nesrsta.
16212
16213 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16214 (grub_atapi_dev): Changed .name to "ata". New field .id.
16215 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16216 (grub_usbms_dev): New field .id.
16217 * disk/scsi.c (grub_scsi_iterate): Generate name.
16218 (grub_scsi_open): Parse name.
16219 * include/grub/scsi.h (grub_make_scsi_id): New function.
16220 (grub_scsi_dev): Change iterate and open to number instead of naming
16221 busses. All users updated.
16222 (grub_scsi): Remove name. Add .bus.
16223
5bc24388
VS
162242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 * commands/help.c (grub_cmd_help): Fix a typo.
16227
249975ba
VS
162282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16231 Reported and tested by: Colin Watson.
16232
3eaac1a1
VS
162332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16236 in this context.
16237
becce1b1
VS
162382010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16241
f7bf0918
CW
162422010-07-07 Colin Watson <cjwatson@ubuntu.com>
16243
16244 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16245 indentation.
16246
0b0f9620
CW
162472010-07-06 Colin Watson <cjwatson@ubuntu.com>
16248
16249 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16250 and disk/raid6_recover.c.
16251 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16252 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16253
1e545469
CW
162542010-07-06 Colin Watson <cjwatson@ubuntu.com>
16255
16256 * term/gfxterm.c (repaint_schedulded): Rename to ...
16257 (repaint_scheduled): ... this. Update all callers.
16258 (repaint_was_schedulded): Rename to ...
16259 (repaint_was_scheduled): ... this. Update all callers.
16260
5357687a
CW
162612010-07-06 Colin Watson <cjwatson@ubuntu.com>
16262
16263 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16264 which we expect to be handled by upper layers.
16265
29d7e783
BC
162662010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16267
16268 * bus/usb/usbhub.c: #include time.h header.
16269
37582066
CW
162702010-07-06 Colin Watson <cjwatson@ubuntu.com>
16271
16272 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16273 entry_name also for entries without stat blocks (e.g. ".."); fixes
16274 corruption of the first entry in a directory.
16275
c8c06953
CW
162762010-07-06 Colin Watson <cjwatson@ubuntu.com>
16277
16278 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16279 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16280 doesn't work otherwise.
16281
e75056f1
CW
162822010-07-05 Colin Watson <cjwatson@ubuntu.com>
16283
16284 * docs/grub.texi (Features): Update list of supported file systems.
16285 (GNU/Linux): Update for GRUB 2.
16286 (Serial terminal): Remove mention of --disable-serial, which was a
16287 GRUB Legacy configure option. Update instructions to use
16288 `terminal_input' and `terminal_output' rather than `terminal'.
16289 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16290 configuration' and `Installing GRUB using grub-install'.
16291 (Menu entry editor): Update for GRUB 2.
16292 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16293 Document new -a, -u, and -v options.
16294 (initrd): New section.
16295 (initrd16): New section.
16296 (linux): New section.
16297 (linux16): New section.
16298 (search): The `var' argument to `--set' is optional.
16299 (GRUB only offers a rescue shell): Go into a little more detail on
16300 drive ordering.
16301
5cf69151
CW
163022010-07-05 Colin Watson <cjwatson@ubuntu.com>
16303
16304 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16305
e3f90044
CW
163062010-07-05 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16309 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16310
38d8f4f3
CW
163112010-07-05 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16314 install_prefix, in line with install_dos_part and install_bsd_part.
16315 Add new prefix variable, which is copied to install_prefix after
16316 comparing core.img in memory with the one read from disk in the
16317 no-embedding case, and use that rather than overwriting
16318 install_prefix immediately when installing to a partition.
16319 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16320 Bicakci.
16321
57ebd41e
GS
163222010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16323
16324 * configure.ac: Avoid == in test command, it's not portable.
16325 * util/grub.d/30_os-prober.in: Likewise.
16326
cb7f64b2
CW
163272010-07-04 Colin Watson <cjwatson@ubuntu.com>
16328
16329 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16330
6b654bb0
GS
163312010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16332
16333 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16334 multiple (top-level) partmaps.
16335
72a2026d
VS
163362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16339 Reported by: Tino Keitel.
72a2026d 16340
df3eb88f
VS
163412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 Bidi and diacritics support.
16344
16345 * Makefile.in (widthspec.bin): New target.
16346 (widthspec.h): Likewise.
16347 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16348 * autogen.sh: Generate unidata.c.
16349 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16350 * commands/ls.c (grub_ls_list_devices): Likewise.
16351 (grub_ls_list_files): Likewise.
16352 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16353 (grub_mini_cmd_lsmod): Likewise.
16354 * commands/read.c: Likewise.
16355 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16356 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16357 * lib/arg.c (grub_arg_show_help): Likewise.
16358 * lib/crypto.c (grub_password_get): Likewise.
16359 * normal/auth.c (grub_username_get): Likewise.
16360 * normal/misc.c (grub_normal_print_device_info): Likewise.
16361 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16362 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16363 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16364 (normal/charset.c_DEPENDENCIES): New variable.
16365 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16366 (pkglib_MODULES): Remove charset.mod.
16367 (charset_mod_SOURCES): Removed.
16368 (charset_mod_CFLAGS): Likewise.
16369 (charset_mod_LDFLAGS): Likewise.
16370 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16371 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16372 and term/tparm.c.
16373 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16374 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16375 (kernel_img_HEADERS): Add terminfo.h.
16376 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16377 Fill ->font. Reverse ascii bitmaps.
16378 (grub_font_get_xheight): New function.
16379 * font/font.c (grub_font_get_string_width): Moved from here ...
16380 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16381 * font/font.c (grub_font_draw_string): Moved from here ...
16382 * gfxmenu/font.c (grub_font_draw_string): ... here.
16383 * font/font.c (grub_font_dup_glyph): New function.
16384 (grub_font_blit_glyph): Likewise.
16385 (grub_font_blit_glyph_mirror): Likewise.
16386 (blit_comb): Likewise.
16387 (grub_font_construct_dry_run): Likewise.
16388 (grub_font_get_constructed_device_width): Likewise.
16389 (grub_font_construct_glyph): Likewise.
16390 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16391 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16392 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16393 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16394 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16395 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16396 (grub_font_get_xheight): New proto.
16397 (grub_font_get_constructed_device_width): Likewise.
16398 (grub_font_construct_glyph): Likewise.
16399 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16400 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16401 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16402 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16403 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16404 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16405 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16406 (grub_console_getcharwidth): Likewise.
16407 * include/grub/misc.h (grub_xputs): New proto.
16408 (grub_puts): Inlined.
16409 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16410 (grub_normal_get_line_counter): Removed.
16411 (grub_install_newline_hook): Likewise.
16412 (grub_normal_get_char_counter): New proto.
16413 (grub_normal_reset_more): Likewise.
16414 (grub_xputs_normal): Likewise.
16415 * include/grub/powerpc/ieee1275/console.h: Removed.
16416 * include/grub/sparc64/ieee1275/console.h: Likewise.
16417 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16418 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16419 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16420 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16421 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16422 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16423 (grub_term_input): Pass reference to self. All users updated.
16424 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16425 Pass reference to self. New fields normal_color, highlight_color and
16426 data. All users updated.
16427 (grub_putchar): Removed.
16428 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16429 (grub_unicode_estimate_width): New function.
16430 (grub_term_getcharwidth): Add defaults.
16431 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16432 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16433 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16434 (grub_cls): Remove EXPORT_FUNC.
16435 (grub_setcolorstate): Inline.
16436 (grub_newline_hook): Removed.
16437 * include/grub/terminfo.h: Rewritten. All users updated.
16438 * include/grub/unicode.h: New file.
16439 * include/grub/video.h (grub_video_signed_rect): New type.
16440 * kern/emu/console.c (grub_console_highlight_color): Removed.
16441 (grub_console_normal_color): Likewise.
16442 (grub_console_standard_color): Made static.
16443 (grub_ncurses_putchar): Remove mapping.
16444 (grub_ncurses_getcharwidth): Removed.
16445 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16446 (grub_ncurses_setcolor): Removed.
16447 (grub_ncurses_getcolor): Likewise.
16448 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16449 (grub_console_putchar): ... this.
16450 (grub_console_putchar): Handle argument difference.
16451 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16452 console_init_early and console_init_lately.
16453 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16454 * kern/misc.c (grub_puts): Removed.
16455 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16456 (grub_vsnprintf_real): Remove str = NULL support.
16457 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16458 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16459 * kern/term.c (grub_putcode): Renamed to ...
16460 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16461 (grub_putchar): Removed.
16462 (grub_xputs_dumb): New function.
16463 (grub_xputs): New variable.
16464 * lib/charset.c: Move from here ...
16465 * normal/charset.c: ... to here.
16466 (grub_ucs4_to_utf8): New function.
16467 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16468 (join_types): New variable.
16469 (unpack_join): New function.
16470 (bidi_types): New variable.
16471 (unpack_bidi): New function.
16472 (get_bidi_type): Likewise.
16473 (get_join_type): Likewise.
16474 (is_mirrored): Likewise.
16475 (grub_unicode_get_comb_type): Likewise.
16476 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16477 (is_type_after): Likewise.
16478 (grub_unicode_aglomerate_comb): Likewise.
16479 (bidi_line_wrap): Likewise.
16480 (grub_bidi_line_logical_to_visual): Likewise.
16481 (grub_bidi_logical_to_visual): Likewise.
16482 (grub_unicode_mirror_code): Likewise.
16483 (grub_unicode_shape_code): Likewise.
16484 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16485 Don't use grub_putchar.
16486 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16487 (grub_normal_reader_init): Likewise.
16488 (grub_xputs_saved): New variable.
16489 (GRUB_MOD_INIT): Set grub_xputs.
16490 (GRUB_MOD_FINI): Restore grub_xputs.
16491 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16492 (menu_init): Avoid printing gfxmenu error.
16493 (show_menu): Use grub_normal_get_char_counter.
16494 * normal/menu_entry.c (update_screen): Fix out-of-array.
16495 (complete): Avoid NULL dereferencing.
16496 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16497 * normal/menu_text.c (print_spaces): Removed.
16498 (grub_print_ucs4): Likewise.
16499 (grub_print_message_indented): Use grub_print_ucs4.
16500 (print_message): Use grub_putcode.
16501 (print_entry): Hanlde diacritics.
16502 * normal/term.c (term_state): New type.
16503 (grub_more_lines): Removed.
16504 (term_states): New variable.
16505 (grub_normal_line_counter): Renamed to ..
16506 (grub_normal_char_counter): ...this. All users updated.
16507 (grub_normal_get_line_counter): Renamed to ...
16508 (grub_normal_get_char_counter): ... this.
16509 (grub_normal_reset_more): New function.
16510 (process_newline): Removed.
16511 (print_more): New function.
16512 (grub_install_newline_hook): Removed.
16513 (map_code): New function.
16514 (grub_puts_terminal): Use grub_print_ucs4.
16515 (putglyph): New function.
16516 (putcode_real): Likewise.
16517 (grub_putcode): Use putcode_real.
16518 (get_maxwidth): New function.
16519 (get_startwidth): Likewise.
16520 (print_ucs4_terminal): Likewise.
16521 (find_term_state): Likewise.
16522 (put_glyphs_terminal): Likewise.
16523 (print_backlog): Likewise.
16524 (print_ucs4_real): Likewise.
16525 (grub_print_ucs4): Likewise.
16526 (grub_xputs_normal): Likewise.
16527 * term/efi/console.c (grub_console_putchar): Output diacritics.
16528 (grub_console_getcharwidth): Removed.
16529 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16530 * term/gfxterm.c (clear_char): Free chars.
16531 (scroll_up): Avoid leaking memory.
16532 (grub_gfxterm_putchar): Support diacritics.
16533 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16534 * term/i386/pc/console.c (grub_console_term_output): Declare as
16535 GRUB_TERM_CODE_TYPE_VGA.
16536 * term/i386/pc/vga.c (grub_vga_term): Declare as
16537 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16538 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16539 GRUB_TERM_CODE_TYPE_VGA.
16540 * term/i386/vga_common.c (map_char): Removed.
16541 (grub_console_putchar): Likewise.
16542 (grub_console_getcharwidth): Likewise.
16543 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16544 (colors): Reordered to match terminfo.
16545 (grub_ofconsole_normal_color): Removed.
16546 (grub_ofconsole_writeesc): Likewise.
16547 (grub_ofconsole_highlight_color): Likewise.
16548 (grub_ofconsole_getcharwidth): Likewise.
16549 (grub_ofconsole_setcolorstate): Likewise.
16550 (grub_ofconsole_setcolor): Likewise.
16551 (grub_ofconsole_getcolor): Likewise.
16552 (grub_ofconsole_readkey): Renamed to ...
16553 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16554 key.
16555 (grub_ofconsole_checkkey): Removed.
16556 (grub_ofconsole_getkey): Likewise.
16557 (grub_ofconsole_getxy): Likewise.
16558 (grub_ofconsole_gotoxy): Likewise.
16559 (grub_ofconsole_cls): Likewise.
16560 (grub_ofconsole_refresh): Likewise.
16561 (grub_ofconsole_terminfo_input): New struct.
16562 (grub_ofconsole_terminfo_output): Likewise.
16563 (grub_ofconsole_term_input): Use terminfo.
16564 (grub_ofconsole_term_output): Likewise.
16565 (grub_console_init): Split into ...
16566 (grub_console_init_early): ...this and ...
16567 (grub_console_init_lately): ...this. Use terminfo.
16568 (grub_ofconsole_putchar): Renamed to ...
16569 (put): ... this. Remove mapping.
16570 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16571 * term/serial.c: Simplify using terminfo.
16572 (xpos): Removed.
16573 (ypos): Likewise.
16574 (keep_track): Likewise.
16575 (registered): Likewise.
16576 (input_buf): Likewise.
16577 (npending): Likewise.
16578 (serial_translate_key_sequence): Likewise.
16579 (fill_input_buf): Likewise.
16580 (grub_serial_checkkey): Likewise.
16581 (grub_serial_getkey): Likewise.
16582 (grub_serial_getxy): Likewise.
16583 (grub_serial_gotoxy): Likewise.
16584 (grub_serial_putchar): Likewise.
16585 (grub_serial_cls): Likewise.
16586 (grub_serial_setcolorstate): Likewise.
16587 (grub_serial_setcursor): Likewise.
16588 (serial_hw_init): Use serial_hw_fetch.
16589 (grub_serial_terminfo_input): New variable.
16590 (grub_serial_terminfo_output): Likewise.
16591 (grub_serial_term_input): Use terminfo.
16592 (grub_serial_term_output): Likewise.
16593 * term/terminfo.c (putstr): Use put.
16594 (grub_terminfo_all_free): New function
16595 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16596 (grub_terminfo_output_register): New function.
16597 (grub_terminfo_output_unregister): Likewise.
16598 (grub_terminfo_getxy): Likewise.
16599 (grub_terminfo_readkey): Likewise.
16600 (grub_terminfo_checkkey): Likewise.
16601 (grub_terminfo_getkey): Likewise.
16602 (grub_terminfo_input_init): Likewise.
16603 (print_terminfo): Likewise.
16604 (grub_cmd_terminfo): Handle encoding.
16605 (grub_terminfo_gotoxy): Track position.
16606 (grub_terminfo_cls): Likewise.
16607 (grub_terminfo_putchar): Likewise.
16608 (grub_terminfo_setcolorstate): Handle colors
16609 (grub_terminfo_cursor_on): This ...
16610 (grub_terminfo_cursor_off): ... and this merged into ...
16611 (grub_terminfo_setcursor): ... this.
16612 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16613 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16614 * unicode/BidiMirroring.txt: Likewise.
16615 * unicode/UnicodeData.txt: Likewise.
16616 * unicode/COPYING: Likewise.
16617 * util/grub-editenv.c (grub_putchar): Removed.
16618 (grub_xputs_real): New function.
16619 (grub_xputs): New variable.
16620 * util/grub-fstest.c (grub_putchar): Removed.
16621 (grub_xputs_real): New function.
16622 (grub_xputs): New variable.
16623 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16624 (grub_xputs_real): New function.
16625 (grub_xputs): New variable.
16626 * util/grub-probe.c (grub_putchar): Removed.
16627 (grub_xputs_real): New function.
16628 (grub_xputs): New variable.
16629 * util/grub-script-check.c (grub_putchar): Removed.
16630 (grub_xputs_real): New function.
16631 (grub_xputs): New variable.
16632 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16633 (grub_xputs_real): New function.
16634 (grub_xputs): New variable.
16635 * util/import_unicode.py: New file.
16636 * util/grub-mkfont.c (ft_errmsgs): New array.
16637 (grub_glyph_info): Make bitmap a pointer.
16638 (file_formats): New type WIDTH_SPEC.
16639 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16640 (options): Add width-spec.
16641 (help): Likewise.
16642 (add_char): Renamed to ...
16643 (add_glyph): ... this.
16644 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16645 (glyph_replace): New type.
16646 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16647 (add_char): New function.
16648 (add_subst): Likewise.
16649 (process_cursive): Likewise.
16650 (add_font): Handle GSUB.
16651 (write_font_width_spec): New function.
16652 (main): Sort glyphs.
16653 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16654 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16655 * kern/term.c (grub_cls): Moved from here...
16656 * normal/term.c (grub_cls): ... here.
16657
50f0bcda
CW
166582010-07-02 Colin Watson <cjwatson@ubuntu.com>
16659
16660 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16661 suitable for using within the format argument of printf when
16662 converting grub_size_t.
16663 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16664 "x" to convert grub_size_t arguments.
16665
40372103
VS
166662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16669 too long captions.
16670 (list_get_minimal_size): Take selection box into account.
16671
942a10c7
VS
166722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16675 NULL font.
16676
2bdb2892
CW
166772010-07-02 Colin Watson <cjwatson@ubuntu.com>
16678
16679 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16680 devices when iterating over /dev/disk/by-id; they will be handled
16681 later if appropriate, which they aren't always (e.g. LVM).
16682
e03ed6c1
CW
166832010-07-02 Colin Watson <cjwatson@ubuntu.com>
16684
16685 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16686 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16687 fails.
16688 (grub_halt): Likewise.
16689 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16690 reset-all fails.
16691 (grub_halt): Don't return, even if all of shut-down, power-off, and
16692 poweroff fail.
16693
47695765
CW
166942010-07-02 Colin Watson <cjwatson@ubuntu.com>
16695
16696 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16697 arguments, not three.
16698
507736c8
CW
166992010-07-02 Colin Watson <cjwatson@ubuntu.com>
16700
16701 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16702 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16703 LVM-on-RAID is handled correctly.
16704
e3c8cd37
CW
167052010-07-02 Colin Watson <cjwatson@ubuntu.com>
16706
16707 * docs/grub.texi (Changes from GRUB Legacy): New section.
16708 (Future): Fix typo.
16709
8d4a2fec
CW
167102010-07-02 Colin Watson <cjwatson@ubuntu.com>
16711
16712 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16713 grub.d/README accidentally ends up executable for one reason or
16714 another. Ignore it.
16715
1c4827be
VS
167162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16719 (gpt_partition_map_iterate): Support non-512B sectors.
16720
d9a0c941
VS
167212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16724 Tested by: Seth Goldberg.
16725
48f27e87
VS
167262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16729 Properly align mbi.
16730 Reported by: Seth Goldberg.
16731
b0c4f956
VS
167322010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * util/grub-mkrescue.in: Avoid module duplication.
16735
105a2e8c
SF
167362010-07-01 Sean Finney <seanius@seanius.net>
16737
16738 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16739
5944958c
SF
167402010-07-01 Sean Finney <seanius@seanius.net>
16741
16742 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16743
167442010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * disk/lvm.c (grub_lvm_checkvalue): New function.
16747 (grub_lvm_check_flag): Likewise.
16748
b79889ba
RM
167492010-07-01 Robert Millan <rmh@gnu.org>
16750
16751 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16752 Support 'p' as partition separator on kernel of FreeBSD (used
16753 with GPT labels).
16754 (grub_util_biosdisk_get_grub_dev): Likewise.
16755
ec1d04f1
VS
167562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 Yeeloong firmware port.
16759
16760 * boot/mips/yeeloong/fwstart.S: New file.
16761 * bus/cs5536.c (gpiodump): New const.
16762 (set_io_space): New function.
16763 (set_iod): Likewise.
16764 (set_p2d): Likewise.
16765 (grub_cs5536_init_geode): Likewise.
16766 * commands/mips/yeeloong/lsspd.c: New file.
16767 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16768 (serial_mod_SOURCES): New variable.
16769 (serial_mod_CFLAGS): Likewise.
16770 (serial_mod_LDFLAGS): Likewise.
16771 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16772 term/terminfo.c and term/tparm.c.
16773 (pkglib_IMAGES): Add fwstart.img.
16774 (fwstart_img_SOURCES): New variable.
16775 (fwstart_img_CFLAGS): Likewise.
16776 (fwstart_img_ASFLAGS): Likewise.
16777 (fwstart_img_LDFLAGS): Likewise.
16778 (fwstart_img_FORMAT): Likewise.
16779 (pkglib_MODULES): Add lsspd.mod.
16780 (lsspd_mod_SOURCES): New variable.
16781 (lsspd_mod_CFLAGS): Likewise.
16782 (lsspd_mod_LDFLAGS): Likewise.
16783 (pkglib_MODULES): Add halt.mod.
16784 (halt_mod_SOURCES): New variable.
16785 (halt_mod_CFLAGS): Likewise.
16786 (halt_mod_LDFLAGS): Likewise.
16787 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16788 (serial_mod_SOURCES): Removed.
16789 (serial_mod_CFLAGS): Likewise.
16790 (serial_mod_LDFLAGS): Likewise.
16791 * disk/ata.c (check_device): New function.
16792 (grub_ata_device_initialize): Use check_device.
16793 (grub_ata_iterate): Recheck devices.
16794 (grub_ata_open): Likewise.
16795 (grub_atapi_iterate): Likewise.
16796 (grub_atapi_open): Likewise.
16797 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16798 (GRUB_ATA_CH1_PORT1): Likewise.
16799 (GRUB_ATA_CH0_PORT2): Likewise.
16800 (GRUB_ATA_CH1_PORT2): Likewise.
16801 * include/grub/mips/loongson.h: New file.
16802 * include/grub/mips/yeeloong/ec.h: Likewise.
16803 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16804 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16805 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16806 * include/grub/misc.h (grub_halt): Declare as noreturn.
16807 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16808 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16809 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16810 (UART_ENABLE_DTRRTS): Likewise.
16811 (UART_ENABLE_MODEM): Removed.
16812 (UART_ENABLE_OUT2): New const.
16813 * include/grub/term.h (grub_term_register_input_active): New function.
16814 (grub_term_register_output_active): Likewise.
16815 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16816 argument.
16817 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16818 (init_pci): New function.
16819 (grub_machine_init): Execute platform init when firmware. Init serial.
16820 (grub_halt): Implement.
16821 (grub_exit): Likewise.
16822 (grub_reboot): Likewise.
16823 * term/serial.c (serial_hw_init): Update macros.
16824 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16825 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16826 (image_targets): New target mipsel-yeeloong-flash.
16827 (generate_image): Support IMAGE_YEELOONG_FLASH.
16828 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16829 (grub_video_sm712_setup): Init card.
16830 (grub_video_sm712_set_palette): Removed.
16831 * video/sm712_init.c: New file.
16832
ff4a70d2
CW
168332010-06-30 Colin Watson <cjwatson@ubuntu.com>
16834
16835 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16836 PATH when running help2man and then run it on the unadorned
16837 executable names, rather than passing $(builddir)/* paths to
16838 help2man. This avoids the build directory ending up in generated
16839 manual pages.
16840
1246efeb
CW
168412010-06-29 Colin Watson <cjwatson@ubuntu.com>
16842
16843 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16844 to avoid accidents when debugging with 'sh -x'.
16845 * util/grub-mkrescue.in: Likewise.
16846 * util/grub.d/00_header.in: Likewise.
16847 * util/grub.d/10_hurd.in: Likewise.
16848 * util/grub.d/10_kfreebsd.in: Likewise.
16849 * util/grub.d/10_linux.in: Likewise.
16850 * util/grub.d/10_netbsd.in: Likewise.
16851 * util/grub.d/10_windows.in: Likewise.
16852 * util/grub.d/20_linux_xen.in: Likewise.
16853 * util/grub.d/30_os-prober.in: Likewise.
16854 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16855
1ba9b889
CW
168562010-06-29 Colin Watson <cjwatson@ubuntu.com>
16857
16858 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16859 last character in the buffer.
16860 Reported by: Vladimir Serbinenko.
16861
dccaf99d
RM
168622010-06-29 Robert Millan <rmh@gnu.org>
16863
16864 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16865 (Command-line and menu entry commands): Document `badram' command.
16866
d500ed12
RM
168672010-06-28 Robert Millan <rmh@gnu.org>
16868
16869 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16870 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16871 command using ${GRUB_BADRAM} as parameter.
16872
20bc84a6
CW
168732010-06-28 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * docs/grub.texi (Device map): New section.
16876 (Themes): New section (stub).
16877 * Makefile.in (docs/grub.info): The info documentation now builds
16878 without errors. Make sure it stays that way.
16879
4045dee1
VS
168802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 Use normal parser for menu entries.
16883 Reported by: Thomas Frauendorfer
16884
16885 * include/grub/parser.h (grub_parser_execute): Don't export.
16886 * normal/menu.c (grub_menu_execute_entry_real): New function.
16887 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16888
bca58c7b
CW
168892010-06-28 Colin Watson <cjwatson@ubuntu.com>
16890
16891 * docs/grub.texi (Embedded configuration): New section (replacing
16892 old "Preset Menu" stub).
16893 (Images): New section.
16894 (configfile): Note that any menu entries defined in `file' are shown
16895 immediately.
16896
dec53e63
JT
168972010-06-28 Josh Triplett <josh@joshtriplett.org>
16898
16899 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16900
c06e40f7
CW
169012010-06-28 Colin Watson <cjwatson@ubuntu.com>
16902
16903 * util/grub-install.in: Add --debug-image= option.
16904
cb88052b
CW
169052010-06-28 Colin Watson <cjwatson@ubuntu.com>
16906
16907 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16908 possible on Linux.
16909
16910 * util/deviceiter.c (check_device): Rename to ...
16911 (check_device_readable_unique): ... this. Update all callers.
16912 Maintain and check a list of which devices (by canonicalized name)
16913 have already been seen.
16914 (clear_seen_devices): New function.
16915 (compare_file_names) [__linux__]: New function.
16916 (grub_util_iterate_devices): Clear the list of seen devices on exit
16917 and (just in case) on entry.
16918 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16919 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16920 seen-devices list, superseded by general code in check_device.
16921
bbe34652
CW
169222010-06-28 Colin Watson <cjwatson@ubuntu.com>
16923
16924 * commands/cat.c (options): New variable.
16925 (grub_cmd_cat): Parse options. If the --dos option is given, print
16926 DOS-style "\r\n" line endings as simple newlines (Debian bug
16927 #586358).
16928 (GRUB_MOD_INIT): Use extcmd.
16929 (GRUB_MOD_FINI): Likewise.
16930 * docs/grub.texi (cat): Document --dos.
16931
412e09f3
VS
169322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 XEN with Linux grub-mkconfig support.
16935
16936 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16937 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16938 GRUB_CMDLINE_XEN_DEFAULT.
16939 * util/grub.d/20_linux_xen.in: New file.
16940
53f3ef38 169412010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16942
16943 Initialise VGA video on qemu ourselves.
16944
16945 * boot/i386/qemu/boot.S: Don't call 0xc000.
16946 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16947 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16948 (kernel_img_HEADERS): Add pci.h.
16949 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16950 * configure.ac: Force unifont on qemu and yeeloong.
16951 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16952 (grub_vga_palette_write): Use correct register.
16953 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16954 Call grub_qemu_init_cirrus.
16955 * kern/i386/qemu/init.c: New file.
16956 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16957
16958 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16959
c75be4fb
PR
169602010-06-26 Pavel Roskin <proski@gnu.org>
16961
16962 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16963 13.
16964
d8034603
CW
169652010-06-26 Colin Watson <cjwatson@ubuntu.com>
16966
16967 * docs/grub.texi (Simple configuration): Explain that
16968 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16969 set to `true' to disable their respective recovery entries, not
16970 merely set.
16971
3fa06487
CW
169722010-06-26 Colin Watson <cjwatson@ubuntu.com>
16973
16974 Make the `source' command slightly faster.
16975
16976 * normal/main.c (grub_normal_execute): Don't re-read list files when
16977 nested.
16978
e9b29642
CW
169792010-06-23 Colin Watson <cjwatson@ubuntu.com>
16980
16981 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16982 field position and mask size to red fields from mode_info, not
16983 green.
16984 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16985 Remove redundant tag->common.framebuffer_type assignment.
16986 Reported by: Seth Goldberg.
16987
e726542f
CW
169882010-06-23 Colin Watson <cjwatson@ubuntu.com>
16989
16990 Sync up other versions of the Linux loader with Robert Millan's
16991 change of 2010-01-09, "Make loader output a bit more user-friendly".
16992
16993 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16994 grub_dprintf().
16995 (grub_cmd_linux): Likewise.
16996 (grub_cmd_initrd): Likewise.
16997 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16998 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16999
d6e98a17
CW
170002010-06-21 Colin Watson <cjwatson@ubuntu.com>
17001
17002 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17003 larger than MEMORY_MAP_SIZE.
17004
14d3f08e
BC
170052010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17006
17007 Fix parallel build.
17008
17009 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17010 dependency.
17011 * script/parser.y: #include grub_script.tab.h header.
17012
4f9613a3
VS
170132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 Support >3GiB and <16MiB RAM in i386-qemu.
17016
17017 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17018 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17019 (grub_lower_mem): Removed.
17020 (grub_upper_mem): Likewise.
17021 (mem_size): Made static.
17022 (above_4g): New variable.
17023 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17024 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17025 support.
17026
05e51879
VS
170272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 Cirrus 5446 and Bochs video cards support.
17030
17031 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17032 video_bochs.mod
17033 (video_cirrus_mod_SOURCES): New variable.
17034 (video_cirrus_mod_CFLAGS): Likewise.
17035 (video_cirrus_mod_LDFLAGS): Likewise.
17036 (video_bochs_mod_SOURCES): Likewise.
17037 (video_bochs_mod_CFLAGS): Likewise.
17038 (video_bochs_mod_LDFLAGS): Likewise.
17039 * include/grub/vga.h: New file.
17040 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17041 (grub_video_fb_set_page_t): New type.
17042 (grub_video_fb_setup): New prototype.
17043 (grub_video_fb_swap_buffers): Likewise.
17044 (grub_video_fb_get_info_and_fini): Likewise.
17045 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17046 (CRTC_DATA_PORT): Likewise.
17047 (CRTC_CURSOR): Likewise.
17048 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17049 (CRTC_CURSOR_ADDR_LOW): Likewise.
17050 (CRTC_CURSOR_DISABLE): Likewise.
17051 (update_cursor): Use grub_vga_cr_write.
17052 (grub_vga_text_setcursor): Likewise.
17053 * video/bochs.c: New file.
17054 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17055 (palette): Likewise.
17056 (palette_size): Likewise.
17057 (framebuffer): New variable.
17058 (grub_video_fb_init): Use 'framebuffer'.
17059 (grub_video_fb_fini): Likewise.
17060 (grub_video_fb_get_info): Likewise.
17061 (grub_video_fb_get_palette): Likewise.
17062 (grub_video_fb_set_palette): Likewise.
17063 (grub_video_fb_set_viewport): Likewise.
17064 (grub_video_fb_get_viewport): Likewise.
17065 (grub_video_fb_map_color): Likewise.
17066 (grub_video_fb_map_rgb): Likewise.
17067 (grub_video_fb_map_rgba): Likewise.
17068 (grub_video_fb_unmap_color): Likewise.
17069 (grub_video_fb_unmap_color_int): Likewise.
17070 (grub_video_fb_fill_rect): Likewise.
17071 (grub_video_fb_blit_bitmap): Likewise.
17072 (grub_video_fb_blit_render_target): Likewise.
17073 (grub_video_fb_scroll): Likewise.
17074 (grub_video_fb_create_render_target): Likewise.
17075 (grub_video_fb_doublebuf_blit_init): Likewise.
17076 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17077 (doublebuf_pageflipping_update_screen): New function.
17078 (doublebuf_pageflipping_init): Likewise.
17079 (grub_video_fb_setup): Likewise.
17080 (grub_video_fb_swap_buffers): Likewise.
17081 (grub_video_fb_get_info_and_fini): Likewise.
17082 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17083 All users updated.
17084 (doublebuf_pageflipping_commit): Restructured into ...
17085 (doublebuf_pageflipping_set_page): ... this.
17086 (doublebuf_pageflipping_update_screen): Removed.
17087 (doublebuf_pageflipping_init): Likewise.
17088 (double_buffering_init): Likewise.
17089 (grub_video_vbe_setup): Use grub_video_fb_setup.
17090 (grub_video_vbe_swap_buffers): Removed.
17091 (grub_video_vbe_set_active_render_target): Likewise.
17092 (grub_video_vbe_get_active_render_target): Likewise.
17093 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17094 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17095 grub_video_fb_set_active_render_target and
17096 grub_video_fb_get_active_render_target.
17097 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17098 (SEQUENCER_DATA_PORT): Likewise.
17099 (MAP_MASK_REGISTER): Likewise.
17100 (CRTC_ADDR_PORT): Likewise.
17101 (CRTC_DATA_PORT): Likewise.
17102 (START_ADDR_HIGH_REGISTER): Likewise.
17103 (START_ADDR_LOW_REGISTER): Likewise.
17104 (GRAPHICS_ADDR_PORT): Likewise.
17105 (GRAPHICS_DATA_PORT): Likewise.
17106 (READ_MAP_REGISTER): Likewise.
17107 (INPUT_STATUS1_REGISTER): Likewise.
17108 (INPUT_STATUS1_VERTR_BIT): Likewise.
17109 (get_map_mask): Use grub_vga_sr_read.
17110 (set_map_mask): Use grub_vga_sr_write.
17111 (set_read_map): Use grub_vga_gr_write.
17112 (set_start_address): Use grub_vga_cr_write.
17113 * video/sm712.c (framebuffer): Remove leftover fields.
17114
4321c64a
CW
171152010-06-20 Colin Watson <cjwatson@ubuntu.com>
17116
17117 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17118 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17119 instead. Replace the gfxterm backend check with a check that
17120 ${GRUB_PREFIX}/video.lst is non-empty.
17121 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17122 again.
17123 (load_video): New generated function. Call it before loading
17124 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17125 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17126 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17127 * docs/grub.texi (Simple configuration): Document
17128 GRUB_VIDEO_BACKEND.
17129
171302010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Use video functions in linux and xnu loaders.
17133
17134 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17135 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17136 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17137 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17138 loader/i386/pc/linux.c.
17139 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17140 (find_line_len): Removed.
17141 (find_framebuf): Likewise.
17142 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17143 * loader/i386/efi/xnu.c: Removed.
17144 * loader/i386/pc/xnu.c: Moved from here...
17145 * loader/i386/xnu.c: ...here.
17146
17147 Enable priorities in video drivers.
17148
17149 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17150 (grub_video_adapter): New field prio.
17151 (grub_video_register): Respect prio when inserting.
17152 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17153 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17154 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17155 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17156 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17157 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17158 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17159
17160 Fix SDL driver ID.
17161
17162 * include/grub/video.h (grub_video_driver_id_t): New value
17163 GRUB_VIDEO_DRIVER_SDL.
17164 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17165
7d24e434
CW
171662010-06-17 Colin Watson <cjwatson@ubuntu.com>
17167
17168 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17169 argument to printf.
17170 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17171
c88a83f6
CW
171722010-06-17 Colin Watson <cjwatson@ubuntu.com>
17173
17174 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17175 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17176
094dfb69
CW
171772010-06-17 Colin Watson <cjwatson@ubuntu.com>
17178
17179 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17180 directly, and recommend grub-install instead.
17181 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17182
2164da6b
CW
171832010-06-17 Colin Watson <cjwatson@ubuntu.com>
17184
17185 Fix i386-pc prefix handling with nested partitions (Debian bug
17186 #585068). Note that the case where the core image is booted using
17187 multiboot and relocated from its original location still requires
17188 more work.
17189
17190 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17191 with "(,", fill the boot drive in between those two characters, but
17192 expect that a full partition specification including partition map
17193 names will follow.
17194 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17195 specified, write a prefix without the drive name but including a
17196 full partition specification.
17197
044e2e60
CW
171982010-06-16 Colin Watson <cjwatson@ubuntu.com>
17199
17200 * util/grub-mkconfig.in: Ignore non-option arguments, for
17201 compatibility with older versions (before 2010-06-12) which did the
17202 same. In particular, this makes it easier to ship an update-grub
17203 wrapper which is compatible with that used with GRUB Legacy (Debian
17204 bug #586056).
17205
5591324f
GS
172062010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17207
17208 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17209 for manual page generation.
17210
662e24d5
GS
172112010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17212
17213 * po/POTFILES: Remove leftover commands/handler.c.
17214
8d70754e
CW
172152010-06-14 Colin Watson <cjwatson@ubuntu.com>
17216
17217 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17218 left this script non-functional.
17219
41160e2e
CW
172202010-06-14 Colin Watson <cjwatson@ubuntu.com>
17221
17222 * docs/man/grub-emu.h2m: New file.
17223
b5309cc1
CW
172242010-06-13 Colin Watson <cjwatson@ubuntu.com>
17225
17226 * docs/grub.texi (Commands): Document reduced command set in rescue
17227 mode.
17228 (cpuid): New section.
17229
fcb2d090
GS
172302010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17231
17232 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17233 new partition naming style.
17234 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17235
96e5c556
BC
172362010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17237
17238 Add "-o grub.iso" like cmdline options support.
17239
17240 * util/grub-install.in: Improve cmdline option parsing.
17241 * util/grub-mkconfig.in: Likewise.
17242 * util/grub-mkrescue.in: Likewise.
17243 * util/grub-reboot.in: Likewise.
17244 * util/grub-set-default.in: Likewise.
17245 * util/i386/efi/grub-install.in: Likewise.
17246 * util/ieee1275/grub-install.in: Likewise.
17247 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17248
c16be99b
CW
172492010-06-12 Colin Watson <cjwatson@ubuntu.com>
17250
17251 * .bzrignore: Ignore 41_custom.
17252
ce08a9fb
TS
172532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17254
17255 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17256
7beac90c
CW
172572010-06-12 Colin Watson <cjwatson@ubuntu.com>
17258
17259 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17260 prototype declarations.
17261
17262 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17263 generating fs, partmap, and video lists.
17264 * include/grub/fs.h (grub_fs_register): Omit prototype if
17265 GRUB_LST_GENERATOR is defined.
17266 * include/grub/partition.h (grub_partition_map_register): Likewise.
17267 * include/grub/video.h (grub_video_register): Likewise.
17268
1c8f0f8d
JM
172692010-06-12 Javier Martín <lordhabbit@gmail.com>
17270
17271 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17272
a6085973
TS
172732010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17274
17275 * util/grub-mkrescue.in: Support --xorriso argument.
17276
25c56d29
VS
172772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17280 Suggested by: Thomas Schmitt.
17281
e03e4b24
VS
172822010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17285 Suggested by: Thomas Schmitt.
17286
57711df6
VS
172872010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 custom.cfg support.
17290
17291 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17292 * util/grub.d/41_custom.in: New file.
17293
ee62c427
CW
172942010-06-12 Colin Watson <cjwatson@ubuntu.com>
17295
17296 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17297 been merged back into normal.
17298
283af07a
CW
172992010-06-11 Colin Watson <cjwatson@ubuntu.com>
17300
17301 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17302 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17303
56a0d956
CW
173042010-06-11 Colin Watson <cjwatson@ubuntu.com>
17305
17306 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17307 when generating manual pages.
17308 * docs/man/grub-bin2h.h2m: New file.
17309 * docs/man/grub-editenv.h2m: New file.
17310 * docs/man/grub-fstest.h2m: New file.
17311 * docs/man/grub-install.h2m: New file.
17312 * docs/man/grub-macho2img.h2m: New file.
17313 * docs/man/grub-mkconfig.h2m: New file.
17314 * docs/man/grub-mkdevicemap.h2m: New file.
17315 * docs/man/grub-mkfont.h2m: New file.
17316 * docs/man/grub-mkimage.h2m: New file.
17317 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17318 * docs/man/grub-mkrelpath.h2m: New file.
17319 * docs/man/grub-mkrescue.h2m: New file.
17320 * docs/man/grub-ofpathname.h2m: New file.
17321 * docs/man/grub-pe2elf.h2m: New file.
17322 * docs/man/grub-probe.h2m: New file.
17323 * docs/man/grub-reboot.h2m: New file.
17324 * docs/man/grub-script-check.h2m: New file.
17325 * docs/man/grub-set-default.h2m: New file.
17326 * docs/man/grub-setup.h2m: New file.
17327
3a37e322
VS
173282010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 Use FOR_* macros instead of *_iterate whenever possible.
17331
17332 * commands/handler.c: Removed.
17333 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17334 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17335 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17336 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17337 (grub_probe_SOURCES): Remove kern/parser.c.
17338 (util/grub-script-check.c_DEPENDENCIES): Removed.
17339 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17340 and grub_script_check_init.c.
17341 (grub_script_check_init.lst): Removed.
17342 (grub_script_check_init.h): Likewise.
17343 (grub_script_check_init.c): Likewise.
17344 (pkglib_MODULES): Remove handler.mod and sh.mod.
17345 (handler_mod_SOURCES): Removed.
17346 (handler_mod_CFLAGS): Likewise.
17347 (handler_mod_LDFLAGS): Likewise.
17348 (normal_mod_SOURCES): Remove normal/handler.c.
17349 Add script/main.c, script/script.c, script/execute.c,
17350 script/function.c, script/lexer.c, grub_script.tab.c
17351 and grub_script.yy.c.
17352 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17353 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17354 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17355 (grub_setup_SOURCES): Remove kern/parser.c.
17356 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17357 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17358 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17359 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17360 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17361 (grub_setup_SOURCES): Remove kern/parser.c.
17362 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17363 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17364 * include/grub/command.h (grub_command_iterate): Removed.
17365 (FOR_COMMANDS): New macro.
17366 * include/grub/dl.h (grub_dl): New member next.
17367 (grub_dl_iterate): Removed.
17368 (grub_dl_head): New variable declaration.
17369 (FOR_DL_MODULES): New macro.
17370 * include/grub/fs.h: Include list.h.
17371 (grub_fs): Make next first element.
17372 (grub_fs_list): New variable declaration.
17373 (grub_fs_register): Make inline.
17374 (grub_fs_unregister): Likewise.
17375 (grub_fs_iterate): Removed.
17376 (FOR_FILESYSTEMS): New macro.
17377 * include/grub/handler.h: Removed.
17378 * include/grub/list.h (grub_list_hook_t): Removed.
17379 (grub_list_test_t): Likewise.
17380 (grub_list_pop): Likewise.
17381 (grub_list_iterate): Likewise.
17382 (grub_list_insert): Likewise.
17383 (FOR_LIST_ELEMENTS): New macro.
17384 * include/grub/parser.h (grub_parser_class): Removed.
17385 (grub_parser_register): Likewise.
17386 (grub_parser_unregister): Likewise.
17387 (grub_parser_get_current): Likewise.
17388 (grub_parser_set_current): Likewise.
17389 (grub_register_rescue_parser): Likewise.
17390 (grub_rescue_parse_line): New function.
17391 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17392 * include/grub/script_sh.h (grub_script_function_list): New variable
17393 declaration.
17394 (FOR_SCRIPT_FUNCTIONS): New macro.
17395 (grub_script_function_iterate): Removed.
17396 (grub_normal_parse_line): New prototype.
17397 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17398 (FOR_DISABLED_TERM_INPUTS): Likewise.
17399 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17400 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17401 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17402 element.
17403 (grub_video_register): Inline.
17404 (grub_video_unregister): Likewise.
17405 (grub_video_adapter_list): New variable declaration.
17406 (grub_video_iterate): Removed.
17407 (FOR_VIDEO_ADAPTERS): New macro.
17408 * kern/dl.c (grub_dl_list): Removed. All users updated.
17409 (grub_dl_iterate): Removed.
17410 * kern/fs.c (grub_fs_list): Make global.
17411 (grub_fs_register): Removed.
17412 (grub_fs_unregister): Likewise.
17413 (grub_fs_iterate): Likewise.
17414 * kern/handler.c: Removed.
17415 * kern/list.c (grub_list_pop): Removed.
17416 (grub_list_iterate): Likewise.
17417 (grub_list_insert): Likewise.
17418 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17419 (grub_prio_list_insert): Don't use grub_list_insert.
17420 * kern/main.c (grub_register_rescue_parser): Don't call
17421 grub_register_rescue_parser.
17422 * kern/parser.c (grub_parser_class): Removed.
17423 (grub_parser_execute): Use grub_rescue_parse_line.
17424 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17425 (grub_rescue_parser): Removed.
17426 (grub_register_rescue_parser): Likewise.
17427 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17428 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17429 (grub_auth_check_authentication): Likewise.
17430 * normal/completion.c (iterate_command): Removed.
17431 (grub_normal_do_completion): Use FOR_COMMANDS.
17432 * normal/handler.c: Removed.
17433 * normal/main.c (read_config_file): Remove parser changing.
17434 (grub_normal_execute): Don't call read_handler_list.
17435 (grub_normal_read_line_real): Statically allocate prompt.
17436 (grub_cmdline_run): Use grub_normal_parse_line.
17437 (GRUB_MOD_FINI): Don't call free_handler_list.
17438 * normal/menu_entry.c (run): Likewise.
17439 * script/function.c (grub_script_function_list): Make global.
17440 (grub_script_function_iterate): Removed.
17441 * script/main.c (grub_normal_parse_line): Make global.
17442 (grub_sh_parser): Removed.
17443 (GRUB_MOD_INIT): Likewise.
17444 (GRUB_MOD_FINI): Likewise.
17445 * tests/lib/functional_test.c (grub_functional_test): Use
17446 FOR_LIST_ELEMENTS.
17447 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17448 (grub_test_run): Use FOR_LIST_ELEMENTS.
17449 * tests/lib/unit_test.c (main): Likewise.
17450 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17451 grub_list_pop.
17452 * util/grub-fstest.c (grub_term_input_class): Removed.
17453 (grub_term_output_class): Likewise.
17454 * util/grub-probe.c: Likewise.
17455 * util/i386/pc/grub-setup.c: Likewise.
17456 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17457 * util/grub-script-check.c (main): Don't call grub_init_all and
17458 grub_fini_all.
17459 * video/video.c (grub_video_adapter_list): Make global.
17460 (grub_video_register): Removed.
17461 (grub_video_unregister): Likewise.
17462 (grub_video_iterate): Likewise.
17463
6289c3a7
VS
174642010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17467 reported by Henrique Ferreiro.
17468
91460247
RM
174692010-06-09 Robert Millan <rmh@gnu.org>
17470
17471 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17472 ones, when both are available.
17473
0ea7c4f9
GS
174742010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17475
17476 Make --version uniform and avoid hard-coded program name.
17477
17478 * util/grub-mkimage.c (main): Use `program_name' instead of
17479 hard-coded string.
17480 * util/i386/pc/grub-setup.c (main): Likewise.
17481 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17482 * util/grub-install.in: Save the basename of $0 in $self, and use the
17483 latter in informational messages. Use the same format for --version
17484 as the binary programs.
17485 * util/grub-mkconfig.in: Likewise.
17486 * util/grub-mkrescue.in: Likewise.
17487 * util/grub-reboot.in: Likewise.
17488 * util/grub-set-default.in: Likewise.
17489 * util/i386/efi/grub-install.in: Likewise.
17490 * util/ieee1275/grub-install.in: Likewise.
17491 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17492
e8a6f3b6
GS
174932010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17494
17495 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17496 embedding area. Use <= instead of == when checking for non-emptiness.
17497
f4d095d7
GS
174982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17499
17500 * configure.ac: Add `.' to the directories searched for unifont.
17501
50e532ca
CW
175022010-06-08 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17505 grub_script.yy.h.
17506
d39f3dec
CW
175072010-06-08 Colin Watson <cjwatson@ubuntu.com>
17508
17509 * docs/grub.texi (History): Expand to cover GRUB 2.
17510 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17511 commands, not `terminal'.
17512 (serial): Likewise.
17513 (terminal_input): New section.
17514 (terminal_output): New section.
17515 (uppermem): New section (stub).
17516 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17517
6ef0ddb4
CW
175182010-06-08 Colin Watson <cjwatson@ubuntu.com>
17519
17520 * docs/grub.texi (Security): Menu entries are unrestricted by
17521 default, not restricted to superusers as I had previously thought.
17522 Reword to account for this.
17523
e0f4c438
CW
175242010-06-07 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * kern/emu/misc.c (device_mapper_null_log): New function.
17527 (grub_device_mapper_supported): New function.
17528 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17529 prototype.
17530 * kern/emu/hostdisk.c (find_partition_start): Check whether
17531 device-mapper is supported before trying to use it.
17532 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17533
da908200
CW
175342010-06-07 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17537 (File name syntax): Likewise.
17538 (help): --all is no longer supported in GRUB 2. Be more precise
17539 about pattern matching.
17540
fb55c3ac
CW
175412010-06-07 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * normal/completion.c (grub_normal_do_completion): When completing
17544 arguments to "set" and the current word contains an equals sign,
17545 skip to after the equals sign before starting completion.
17546
258c2573
CW
175472010-06-07 Colin Watson <cjwatson@ubuntu.com>
17548
17549 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17550
ee75515e
CW
175512010-06-07 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * docs/grub.texi (Network): New section.
17554 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17555 `(nd)' as in GRUB Legacy.
17556 (pxe_unload): New section.
17557
a6a700aa
CW
175582010-06-07 Colin Watson <cjwatson@ubuntu.com>
17559
17560 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17561 in the rescue shell, so recommend using `set' instead. Thanks,
17562 Jordan Uggla.
17563
4003dd38
CW
175642010-06-07 Colin Watson <cjwatson@ubuntu.com>
17565
17566 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17567 (password): New section.
17568 (password_pbkdf2): New section.
17569 (search): New section.
17570 (Security): New section.
17571 (Troubleshooting): New section, currently very incomplete.
17572 (Invoking grub-mkpasswd-pbkdf2): New section.
17573 (Internals): New section, currently very incomplete.
17574
e1cbcc40
CW
175752010-06-07 Colin Watson <cjwatson@ubuntu.com>
17576
17577 * util/grub.d/00_header.in: Add some more quoting (of
17578 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17579 work again.
17580 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17581
db8fa1ad
CW
175822010-06-07 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17585 to `count', fixing variable shadowing that broke the -c option.
17586
175872010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17588
17589 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17590 in case they contain spaces.
17591
f28a9212
CW
175922010-06-04 Colin Watson <cjwatson@ubuntu.com>
17593
17594 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17595 "part_" to partmap module names, in line with grub-install.
17596 Reported by: Jindřich Makovička (Debian bug #584426).
17597
9cdfe32f
CW
175982010-06-04 Colin Watson <cjwatson@ubuntu.com>
17599
17600 * util/grub-mkimage.c: Make target-related error messages slightly
17601 more helpful; -O talks about "format". Explicitly point to the use
17602 of -O if no target is specified.
17603 Reported by: Didier Raboud (Debian bug #584415).
17604
795b593a
CW
176052010-06-03 Colin Watson <cjwatson@ubuntu.com>
17606
17607 * INSTALL: Document several build requirements for optional features
17608 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17609
9d9b5833
GS
176102010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17611
17612 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17613 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17614 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17615
0819fec8
CW
176162010-06-02 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17619 Thanks to Jordan Uggla for spotting this.
17620
49396b4f
VS
176212010-06-02 Aleš Nesrsta <starous@volny.cz>
17622
17623 Finally make USB usable.
17624
17625 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17626 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17627 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17628 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17629 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17630 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17631 (GRUB_OHCI_FSMPS): Likewise.
17632 (GRUB_OHCI_PERIODIC_START): Likewise.
17633 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17634 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17635 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17636 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17637 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17638 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17639 (grub_ohci_transaction): Likewise.
17640 (grub_ohci_transfer): Improve condition detection algorithms.
17641 Handle toggle property. Program the transactions correctly.
17642 Improve error handling. Various important fixups.
17643 (grub_ohci_portstatus): Put register writes in right order.
17644 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17645 (grub_uhci_transfer): Don't show "failed" message on success.
17646 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17647 array.
17648 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17649 determine its size.
17650 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17651 before initialization is completed. Use IN direction for empty
17652 transfers. Use last_trans and compute toggle.
17653 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17654 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17655 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17656 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17657 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17658 (grub_usb_device): Increase toggle to 256.
17659 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17660 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17661 GRUB_USBMS_SUBCLASS_SFF8070.
17662 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17663 (grub_scsi_inquiry): New member page and alloc_length.
17664 (grub_scsi_request_sense): New structure.
17665 (grub_scsi_request_sense_data): Likewise.
17666 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17667 control.
17668 * disk/scsi.c (grub_scsi_request_sense): New function.
17669 (grub_scsi_test_unit_ready): Likewise.
17670 (grub_scsi_inquiry): Fill new fields.
17671 (grub_scsi_read_capacity): Likewise.
17672 (grub_scsi_read10): Add request sense at the end.
17673 (grub_scsi_read12): Likewise.
17674 (grub_scsi_write10): Likewise.
17675 (grub_scsi_write12): Likewise.
17676 (grub_scsi_open): Add Test Unit Ready.
17677 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17678 Support additional subclasses. Con't clear halt yet. Activate the
17679 proper config. Calculate LUNs correctly.
17680 (grub_usbms_transfer): Various important fixups.
17681
176822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17685 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17686 (grub_ohci_fini_hw): New function.
17687 (grub_ohci_restore_hw): Likewise.
17688 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17689 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17690 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17691
176922010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 Dedicated DMA allocations.
17695
17696 * bus/pci.c (grub_memalign_dma32): New function
17697 (grub_dma_free): Likewise.
17698 (grub_dma_get_virt): Likewise.
17699 (grub_dma_get_phys): Likewise.
17700 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17701 (grub_ohci_pci_iter): Use dma32_alloc.
17702 (grub_ohci_transfer): Likewise.
17703 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17704 (grub_usb_bulk_readwrite): Likewise.
17705 * include/grub/pci.h: Add declarations.
17706
177072010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 CS5536 support.
17710
17711 * bus/cs5536.c: New file.
17712 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17713 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17714 (cs5536_mod_SOURCES): New variable.
17715 (cs5536_mod_CFLAGS): Likewise.
17716 (cs5536_mod_LDFLAGS): Likewise.
17717 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17718 machine/pci.h.
17719 (kernel_img_SOURCES): Add bus/cs5536.c.
17720 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17721 usb_keyboard.mod.
17722 (usb_mod_SOURCES): New variable.
17723 (usb_mod_CFLAGS): New variable.
17724 (usb_mod_LDFLAGS): New variable.
17725 (usbtest_mod_SOURCES): New variable.
17726 (usbtest_mod_CFLAGS): New variable.
17727 (usbtest_mod_LDFLAGS): New variable.
17728 (ohci_mod_SOURCES): New variable.
17729 (ohci_mod_CFLAGS): New variable.
17730 (ohci_mod_LDFLAGS): New variable.
17731 (usbms_mod_SOURCES): New variable.
17732 (usbms_mod_CFLAGS): New variable.
17733 (usbms_mod_LDFLAGS): New variable.
17734 (usb_keyboard_mod_SOURCES): New variable.
17735 (usb_keyboard_mod_CFLAGS): New variable.
17736 (usb_keyboard_mod_LDFLAGS): New variable.
17737 * include/grub/smbus.h: New file.
17738 * include/grub/cs5536.h: New file.
17739
0b35b2a9
CW
177402010-06-02 Colin Watson <cjwatson@ubuntu.com>
17741
17742 * util/grub.d/00_header.in: Add safety check to make sure that
17743 ${locale_dir} exists before trying to probe it.
17744
ca0afd5b
CW
177452010-06-02 Colin Watson <cjwatson@ubuntu.com>
17746
17747 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17748 per the GNU Coding Standards; this is now too obscure to be worth
17749 documenting.
17750 (QNX): Likewise.
17751 (chainloader): Remove cross-reference to `SCO UnixWare'.
17752
1c41aa78
CW
177532010-06-02 Colin Watson <cjwatson@ubuntu.com>
17754
17755 * docs/grub.texi (Chain-loading): New section.
17756 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17757 adjusted for GRUB 2.
17758 (SCO UnixWare): Likewise.
17759 (QNX): Likewise.
17760 (chainloader): Add reference to `Block list syntax'.
17761 (drivemap): New section.
17762 (parttool): New section.
17763
bb8ea0f5
CW
177642010-06-02 Colin Watson <cjwatson@ubuntu.com>
17765
17766 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17767 the grub shell'.
17768 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17769 (Installing GRUB using grub-install): Remove reference to the grub
17770 shell; mention `grub-mkimage' and `grub-setup' instead.
17771 (Invoking grub-install): Likewise.
17772 (Interface): Add reference to `Menu entry editor'.
17773 (serial): Remove `--device' option.
17774
288dd6ed
CW
177752010-06-02 Colin Watson <cjwatson@ubuntu.com>
17776
17777 * docs/grub.texi (Configuration): New section, documenting
17778 configuration file generation using grub-mkconfig. I've left a slot
17779 for documenting the full shell scripting format but have not yet
17780 started on writing that up.
17781 (Invoking grub-mkconfig): New section.
17782
34c9f0e9
CW
177832010-06-02 Colin Watson <cjwatson@ubuntu.com>
17784
17785 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17786 (GNU GRUB manual): Likewise.
17787 (General commands): Update description of `terminfo' for GRUB 2.
17788
9121567e
CW
177892010-06-02 Colin Watson <cjwatson@ubuntu.com>
17790
17791 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17792 (GRUB_MOD_INIT): Fix capitalisation.
17793 * docs/grub.texi (Command-line and menu entry commands): Document
17794 gettext and gptsync commands.
17795
ab631611
CW
177962010-06-02 Colin Watson <cjwatson@ubuntu.com>
17797
17798 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17799 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17800
bde4a9ac
CW
178012010-06-01 Colin Watson <cjwatson@ubuntu.com>
17802
17803 Add btrfs probing support, currently only in the single-device case.
17804
17805 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17806 function.
17807 (grub_guess_root_device): Call find_root_device_from_mountinfo
17808 before looking in /dev.
17809
b1d17e10
VS
178102010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17813 GRUB_DISK_SIZE_UNKNOWN.
17814 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17815
dfbfe004
JS
178162010-05-31 Jiro SEKIBA <jir@unicus.jp>
17817
17818 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17819 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17820 corrupted or not synced properly.
17821
c2ffc8e9
VS
178222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17825 Reported by: Seth Goldberg.
17826
56293166
VS
178272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17830 addition of dest.
17831 Reported by: Seth Goldberg.
17832
7620e7de
VS
178332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17836 Reported by: Seth Goldberg.
17837
c837af3f
VS
178382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17841 64-bit address as signed on MIPS.
17842
c7c75cf4
CW
178432010-05-28 Colin Watson <cjwatson@ubuntu.com>
17844
17845 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17846 to the empty string.
17847
fa4b8490
BC
178482010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17849
17850 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17851
17852 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17853 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17854 * kern/misc.c (__enable_execute_stack): Disable on
17855 GRUB_MACHINE_EMU.
17856
a33075b9
CW
178572010-05-28 Colin Watson <cjwatson@ubuntu.com>
17858
17859 Make grub-probe work with symbolic links under /dev/mapper as well
17860 as with real block devices. The Linux world seems to be (at best)
17861 in transition here, and GRUB shouldn't get caught in the middle.
17862
17863 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17864 /dev/mapper.
17865
d8708134
CW
178662010-05-27 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17869 input files (in which case exit zero).
17870
db2102a0
CW
178712010-05-27 Colin Watson <cjwatson@ubuntu.com>
17872
17873 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17874 return NULL for various reasons even if it has a maximum-length
17875 buffer: for example, there might be a symlink loop, or the path
17876 might exceed PATH_MAX. If this happens, return NULL.
17877
5fdba519
RM
178782010-05-27 Robert Millan <rmh@gnu.org>
17879
17880 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17881 partmap module to handle cross-partmap setups.
17882 Reported by Orestes Mas. Gràcies!
17883
d1d368e4
CW
178842010-05-27 Colin Watson <cjwatson@ubuntu.com>
17885
17886 * util/grub-mkrescue.in: Initialise override_dir rather than
17887 assuming that it's unset or empty in the environment.
17888
95ac3c73
GS
178892010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17890
17891 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17892 variable index into p_index to suppress a warning with -Wshadow.
17893
7d8c0213
BC
178942010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17895
17896 * INSTALL: Added flex >= 2.5.35 requirement.
17897
db4d5813
VS
178982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17901
f24f4300
VS
179022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 cmostest support.
17905
17906 * commands/i386/cmostest.c: New file.
17907 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17908 (cmostest_mod_SOURCES): New variable.
17909 (cmostest_mod_CFLAGS): Likewise.
17910 (cmostest_mod_LDFLAGS): Likewise.
17911 * conf/i386-pc.rmk: Likewise.
17912 * docs/grub.texi (Vendor power-on keys): New section.
17913 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17914 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17915 and GRUB_BUTTON_CMOS_ADDRESS.
17916 * util/grub.d/00_header.in: Handle powering-on by separate button.
17917
ad603f61
VS
179182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17921 Removed drawing_scrollbar argument. All users updated
17922 Fixes #29792.
17923 Reported by Jo Shields
17924
3ecb080a
VS
179252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17928 buffer since gfxterm handles double repaint.
17929
5f2316c1
VS
179302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17933 * term/gfxterm.c (real_scroll): Likewise.
17934
9a25f885
VS
179352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17938 before calling BIOS.
17939
39fbb79a
VS
179402010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * include/grub/i18n.h: Always enable grub_gettext.
17943
228cfa97
VS
179442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17947 partition naming style.
17948
21717c8f
CW
179492010-05-21 Colin Watson <cjwatson@ubuntu.com>
17950
17951 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17952 not the first option.
17953
c0f48e65
CW
179542010-05-20 Colin Watson <cjwatson@ubuntu.com>
17955
17956 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17957
96779aec
CW
179582010-05-20 Colin Watson <cjwatson@ubuntu.com>
17959
17960 * util/misc.c: Move inclusion of <limits.h> to ...
17961 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17962
fa9d256e
GS
179632010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17964
17965 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17966 Fix merge error in NetBSD code.
17967 (find_partition_start) [__NetBSD__]: Likewise.
17968
123b7a85
BC
179692010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17970
17971 Fix grub-mkrescue usage unit testing.
17972
17973 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17974
74276c0d
CF
179752010-05-18 Christian Franke <franke@computer.org>
17976
17977 * util/grub.d/10_windows.in: Use path names instead of
17978 drive letters to prevent warning from Cygwin 1.7.
17979 Add drivemap command to menuentry if needed.
17980
c4f7b523
ST
179812010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17982
17983 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17984 gnumach and gnumach.gz.
17985
95b97950
VS
179862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * include/grub/i18n.h (gettext): Inline instead of using #define.
17989 (grub_gettext): Likewise.
17990 (_): Likewise.
17991
01b8d2d7
VS
179922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17995 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17996 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17997 (main): Add a slash after pkglibdirroot.
17998
654e1d1e
VS
179992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * util/grub-install.in: Add missing "in" keyword.
18002
26966aeb
VS
180032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18006 Reported by: Seth Goldberg.
18007
75006747
VS
180082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18011
74cbf5bd
CW
180122010-05-18 Colin Watson <cjwatson@ubuntu.com>
18013
18014 * configure.ac: Check for Linux device-mapper support.
18015
18016 * util/hostdisk.c (device_is_mapped): New function.
18017 (find_partition_start): New function, partly broken out from
18018 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18019 device-mapper support added.
18020 (linux_find_partition): Use find_partition_start.
18021 (convert_system_partition_to_system_disk): Add `st' argument.
18022 Support Linux /dev/mapper/* devices if device-mapper support is
18023 available; only DM-RAID devices are understood at present.
18024 (find_system_device): Add `st' argument. Pass it to
18025 convert_system_partition_to_system_disk.
18026 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18027 find_system_device and convert_system_partition_to_system_disk. Use
18028 find_partition_start.
18029
18030 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18031 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18032 * util/deviceiter.c [__linux__]: Define MINOR.
18033 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18034 * util/mkdevicemap.c (grub_putchar): New function.
18035 (grub_getkey): New function.
18036 (grub_refresh): New function.
18037 (main): Set debug=all if -v -v is used.
18038
355b51e9
CW
180392010-05-18 Colin Watson <cjwatson@ubuntu.com>
18040
18041 Fix build with non-GNU libcs.
18042
18043 * util/misc.c (canonicalize_file_name): Move to ...
18044 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18045 grub_make_system_path_relative_to_its_root.
18046
7fb5c25f
CW
180472010-05-18 Colin Watson <cjwatson@ubuntu.com>
18048
18049 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18050 we handle finding grub-mkimage. Default to finding grub-mkimage in
18051 ${bindir} with program_transform_name applied, and provide a
18052 --grub-mkimage option to override this.
18053
1d3293d6
VS
180542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 Remove grub-mkisofs.
18057
18058 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18059 (grub_mkisofs_SOURCES): Removed.
18060 (grub_mkisofs_CFLAGS): Removed.
18061 * util/mkisofs/defaults.h: Removed.
18062 * util/mkisofs/eltorito.c: Likewise.
18063 * util/mkisofs/exclude.h: Likewise.
18064 * util/mkisofs/hash.c: Likewise.
18065 * util/mkisofs/include/: Likewise.
18066 * util/mkisofs/include/fctldefs.h: Likewise.
18067 * util/mkisofs/include/mconfig.h: Likewise.
18068 * util/mkisofs/include/prototyp.h: Likewise.
18069 * util/mkisofs/include/statdefs.h: Likewise.
18070 * util/mkisofs/iso9660.h: Likewise.
18071 * util/mkisofs/joliet.c: Likewise.
18072 * util/mkisofs/match.c: Likewise.
18073 * util/mkisofs/match.h: Likewise.
18074 * util/mkisofs/mkisofs.c: Likewise.
18075 * util/mkisofs/mkisofs.h: Likewise.
18076 * util/mkisofs/msdos_partition.h: Likewise.
18077 * util/mkisofs/multi.c: Likewise.
18078 * util/mkisofs/name.c: Likewise.
18079 * util/mkisofs/rock.c: Likewise.
18080 * util/mkisofs/tree.c: Likewise.
18081 * util/mkisofs/write.c: Likewise.
18082
5dde9afe
VS
180832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 Unify grub-mkimage accross platforms.
18086
18087 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18088 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18089 (grub_mkelfimage_SOURCES): Removed.
18090 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18091 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18092 (bin_UTILITIES): Add grub-mkimage.
18093 (grub_mkimage_SOURCES): New variable.
18094 (kernel_img_HEADERS): Remove machine/kernel.h.
18095 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18096 (pkglib_PROGRAMS): Add kernel.img.
18097 (kernel_img_HEADERS): Add machine/kernel.h.
18098 (kernel_img_FORMAT): Removed.
18099 (bin_UTILITIES): Remove grub-mkimage.
18100 (grub_mkimage_SOURCES): Removed.
18101 (grub_mkimage_CFLAGS): Likewise.
18102 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18103 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18104 (pkglib_PROGRAMS): Add kernel.img.
18105 (bin_UTILITIES): Remove grub-mkimage.
18106 (grub_mkimage_SOURCES): Removed.
18107 (grub_mkimage_CFLAGS): Likewise.
18108 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18109 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18110 (pkglib_PROGRAMS): Add kernel.img.
18111 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18112 (pkglib_PROGRAMS): Add kernel.img.
18113 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18114 (grub_mkimage_SOURCES): Removed.
18115 (grub_mkimage_CFLAGS): Likewise.
18116 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18117 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18118 (pkglib_PROGRAMS): Add kernel.img.
18119 (bin_UTILITIES): Remove grub-mkimage.
18120 (grub_mkimage_SOURCES): Removed.
18121 (grub_mkimage_CFLAGS): Likewise.
18122 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18123 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18124 (grub_mkimage_SOURCES): Removed.
18125 (grub_mkimage_CFLAGS): Likewise.
18126 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18127 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18128 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18129 (grub_pe32_optional_header): ... this.
18130 (grub_pe64_optional_header): ... and this. All users updated.
18131 (GRUB_PE32_PE32_MAGIC): Split into ..
18132 (GRUB_PE32_PE32_MAGIC): .. this.
18133 (GRUB_PE32_PE64_MAGIC): .. and this.
18134 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18135 * include/grub/elf.h (PT_GNU_STACK): New definition.
18136 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18137 * include/grub/i386/efi/kernel.h: Likewise.
18138 * include/grub/i386/kernel.h: Likewise.
18139 * include/grub/i386/pc/kernel.h: Likewise.
18140 * include/grub/i386/qemu/boot.h: Likewise.
18141 * include/grub/mips/kernel.h: Likewise.
18142 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18143 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18144 * include/grub/powerpc/kernel.h: Likewise.
18145 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18146 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18147 * include/grub/sparc64/kernel.h: Likewise.
18148 * include/grub/x86_64/efi/kernel.h: Likewise.
18149 * include/grub/x86_64/kernel.h: Likewise.
18150 * include/grub/offsets.h: New file.
18151 * include/grub/kernel.h (grub_module_info): Split into ...
18152 (grub_module_info32): ... this.
18153 (grub_module_info64): ... and this.
18154 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18155 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18156 (grub_boot_blocklist): Moved from here ...
18157 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18158 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18159 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18160 * include/grub/types.h (grub_target_to_host16): Removed.
18161 (grub_target_to_host32): Likewise.
18162 (grub_target_to_host64): Likewise.
18163 (grub_host_to_target16): Likewise.
18164 (grub_host_to_target32): Likewise.
18165 (grub_host_to_target64): Likewise.
18166 (grub_host_to_target_addr): Likewise.
18167
18168 Support grub-mkrescue for efi, coreboot and qemu.
18169
18170 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18171 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18172 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18173 * util/grub-mkrawimage.c: Moved from here ...
18174 * util/grub-mkimage.c: ... here. All users updated.
18175 (ALIGN_ADDR): Use image_target.
18176 (TARGET_NO_FIELD): New const.
18177 (image_target_desc): New type.
18178 (image_targets): New array.
18179 (grub_target_to_host64): Use image_target.
18180 (grub_target_to_host32): Likewise.
18181 (grub_target_to_host16): Likewise.
18182 (grub_host_to_target64): Likewise.
18183 (grub_host_to_target32): Likewise.
18184 (grub_host_to_target16): Likewise.
18185 (grub_host_to_target_addr): Likewise.
18186 (generate_image): Handle multiimage.
18187 (main): Require -O parameter. All users updated.
18188 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18189 util/efi/grub-mkimage.c
18190 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18191 New option --rom-directory.
18192 Use xorriso.
18193 * util/i386/efi/grub-mkimage.c: Removed.
18194 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18195 (grub_target_to_host32): Likewise.
18196 (grub_target_to_host64): Likewise.
18197 (grub_host_to_target16): Likewise.
18198 (grub_host_to_target32): Likewise.
18199 (grub_host_to_target64): Likewise.
18200 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18201 (grub_target_to_host32): Likewise.
18202 (grub_target_to_host64): Likewise.
18203 (grub_host_to_target16): Likewise.
18204 (grub_host_to_target32): Likewise.
18205 (grub_host_to_target64): Likewise.
18206
f4fc97d0
BC
182072010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18208
18209 Source tree is reorganized for emu build.
18210
18211 * include/grub/util/console.h: Move from here...
18212 * include/grub/emu/console.h: ...to here.
18213 * include/grub/util/getroot.h: Move from here...
18214 * include/grub/emu/getroot.h: ...to here.
18215 * include/grub/util/hostdisk.h: Move from here...
18216 * include/grub/emu/hostdisk.h: ...to here.
18217 * util/console.c: Move from here...
18218 * kern/emu/console.c: ...to here.
18219 * util/getroot.c: Move from here...
18220 * kern/emu/getroot.c: ...to here.
18221 * util/grub-emu.c: Move from here...
18222 * kern/emu/main.c: ...to here.
18223 * util/hostdisk.c: Move from here...
18224 * kern/emu/hostdisk.c: ...to here.
18225 * util/hostfs.c: Move from here...
18226 * kern/emu/hostfs.c: ...to here.
18227 * util/mm.c: Move from here...
18228 * kern/emu/mm.c: ...to here.
18229 * util/pci.c: Move from here...
18230 * bus/emu/pci.c: ...to here.
18231 * util/sdl.c: Move from here...
18232 * video/emu/sdl.c: ...to here.
18233 * util/time.c: Move from here...
18234 * kern/emu/time.c: ...to here.
18235 * util/usb.c: Move from here...
18236 * bus/usb/emu/usb.c: ...to here.
18237
18238 * include/grub/emu/misc.h: New header for grub-emu functions.
18239 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18240
18241 * conf/any-emu.rmk: Rule updates for above renames.
18242 * conf/common.rmk: Likewise.
18243 * conf/i386-pc.rmk: Likewise.
18244 * conf/i386-qemu.rmk: Likewise.
18245 * conf/mips.rmk: Likewise.
18246 * conf/sparc64-ieee1275.rmk: Likewise.
18247 * conf/x86-efi.rmk: Likewise.
18248
18249 * disk/lvm.h: #include updates for above renames.
18250 * util/grub-mkrelpath.c: Likewise.
18251 * util/grub-probe.c: Likewise.
18252 * util/i386/pc/grub-setup.c: Likewise.
18253 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18254 * kern/emu/console.c: Likewise.
18255 * kern/emu/getroot.c: Likewise.
18256 * kern/emu/hostdisk.c: Likewise.
18257 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18258
18259 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18260 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18261 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18262 * util/misc.c: Remove grub-emu functions.
18263
cced9145
VS
182642010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 Fix gfxmenu crash.
18267 Reported by: Thorsten Grützmacher.
18268
18269 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18270 timeout hook.
18271 (circprog_set_property): Register and unregister timeout hook.
18272 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18273 (label_destroy): Free template. and unregister hook.
18274 (label_set_state): New function.
18275 (label_set_property): Handle templates and hooks.
18276 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18277 timeout hook.
18278 (progress_bar_set_property): Register and unregister timeout hook.
18279 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18280 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18281 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18282 (update_timeout_visit): Removed.
18283 (update_timeouts): New function.
18284 (redraw_timeouts): Likewise.
18285 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18286 (grub_gfxmenu_clear_timeout): Likewise.
18287 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18288 (grub_gfxmenu_timeout_notify): Likewise.
18289 (grub_gfxmenu_timeout_notifications): New external variable.
18290 (grub_gfxmenu_timeout_register): New function.
18291 (grub_gfxmenu_timeout_unregister): Likewise.
18292
c6e5caab
VS
182932010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 Transform (broken) vga terminal into (working) vga video driver.
18296
18297 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18298 video/i386/pc/vga.c.
18299 * include/grub/video.h (grub_video_driver_id):
18300 Add GRUB_VIDEO_DRIVER_VGA.
18301 * term/i386/pc/vga.c: Renamed to ...
18302 * video/i386/pc/vga.c: ...this
18303 (DEBUG_VGA): Removed.
18304 (CHAR_WIDTH): Likewise.
18305 (CHAR_HEIGHT): Likewise.
18306 (TEXT_WIDTH): Likewise.
18307 (TEXT_HEIGHT): Likewise.
18308 (DEFAULT_FG_COLOR): Likewise.
18309 (DEFAULT_BG_COLOR): Likewise.
18310 (colored_char): Likewise.
18311 (xpos): Likewise.
18312 (ypos): Likewise.
18313 (cursor_state): Likewise.
18314 (fg_color): Likewise.
18315 (bg_color): Likewise.
18316 (text_buf): Likewise.
18317 (page): Likewise.
18318 (font): Likewise.
18319 (framebuffer): New variable.
18320 (set_read_map): Disabled.
18321 (setup): New variable.
18322 (is_target): Likewise.
18323 (grub_vga_mod_init): Likewise.
18324 (grub_vga_mod_fini): Likewise.
18325 (check_vga_mem): Likewise.
18326 (write_char): Likewise.
18327 (write_cursor): Likewise.
18328 (scroll_up): Likewise.
18329 (grub_vga_putchar): Likewise.
18330 (grub_vga_getcharwidth): Likewise.
18331 (grub_vga_getwh): Likewise.
18332 (grub_vga_getxy): Likewise.
18333 (grub_vga_gotoxy): Likewise.
18334 (grub_vga_cls): Likewise.
18335 (grub_vga_setcolorstate): Likewise.
18336 (grub_vga_setcursor): Likewise.
18337 (grub_video_vga_init): New function.
18338 (grub_video_vga_setup): Likewise.
18339 (grub_video_vga_fini): Likewise.
18340 (update_target): Likewise.
18341 (grub_video_vga_blit_bitmap): Likewise.
18342 (grub_video_vga_blit_render_target): Likewise.
18343 (grub_video_vga_set_active_render_target): Likewise.
18344 (grub_video_vga_get_active_render_target): Likewise.
18345 (grub_video_vga_swap_buffers): Likewise.
18346 (grub_video_vga_set_palette): Likewise.
18347 (grub_video_vga_get_info_and_fini): Likewise.
18348 (grub_vga_term): Removed.
18349 (grub_video_vga_adapter): New variable.
18350 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18351 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18352
2bf61a98
VS
183532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 * video/readers/jpeg.c: Indented.
18356
09ddcd11
VS
183572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18358
18359 Various jpeg cleanups.
18360
18361 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18362 (grub_jpeg_decode_quan_table): Use sizeof.
18363 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18364
e5507505
PH
183652010-05-05 Peter Hurley <No e-mail available> (tiny change)
18366
18367 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18368 tables. Ignore non-last ac bit.
18369 (grub_jpeg_decode_quan_table): Likewise.
18370
7e720a9b
VS
183712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18374 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18375 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18376 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18377 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18378 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18379
a7fc080b
VS
183802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18383 error.
18384
2bf6012d
VS
183852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18388
265d68cd
VS
183892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18392 condition.
18393
183942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18395
18396 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18397 part.
18398
265d68cd 183992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18400
18401 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18402 pointers.
18403
265d68cd 184042010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18405
18406 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18407
d1b61374
CF
184082010-05-01 Christian Franke <franke@computer.org>
18409
18410 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18411 Remove broken Cygwin path conversion.
18412 * util/misc.c: [__CYGWIN__] Add include and define.
18413 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18414 for Cygwin 1.7.
18415 (make_system_path_relative_to_its_root): Simplify loop, replace early
18416 return by break.
18417 [__CYGWIN__] Add conversion to win32 path.
18418 Include "/" case in trailing slash removal.
18419
3558c6e9
VS
184202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18423 Reported by: Seth Goldberg
18424
f5f3ff93
VS
184252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * commands/help.c (grub_cmd_help): Fix a typo.
18428 Reported by: Seth Goldberg
18429
d8b5cd40
VS
184302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18433 name and add N_.
18434 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18435 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18436 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18437 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18438 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18439 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18440 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18441 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18442 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18443 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18444 * normal/context.c (GRUB_MOD_INIT): Likewise.
18445 * normal/main.c (GRUB_MOD_INIT): Likewise.
18446 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18447 * term/serial.c (GRUB_MOD_INIT): Likewise.
18448 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18449
88c14915
VS
184502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18453 extra == 0.
18454
165134bc
VS
184552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * commands/iorw.c: New file.
18458 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18459 (iorw_mod_SOURCES): New variable.
18460 (iorw_mod_CFLAGS): Likewise.
18461 (iorw_mod_LDFLAGS): Likewise.
18462
c5ac9b32
VS
184632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 Hotkey support
18466
18467 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18468 * normal/main.c (hotkey_aliases): New variable.
18469 (grub_normal_add_menu_entry): Parse "--hotkey".
18470 * normal/menu_text.c (run_menu): Handle hotkeys.
18471
ce60689c
VS
184722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 * kern/i386/coreboot/init.c (grub_machine_init): Call
18475 grub_machine_mmap_init on qemu.
18476
0359d006
VS
184772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * boot/i386/qemu/boot.S: Add a missing .code16.
18480
7819a456
VS
184812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 Use LBIO on coreboot.
18484
18485 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18486 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18487 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18488 New declaration.
18489 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18490 grub_machine_mmap_init on coreboot.
18491 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18492 GRUB_LINUXBIOS_MEMBER_LINK.
18493 (grub_machine_mmap_iterate): Fix declaration.
18494 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18495
7210dca9
VS
184962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 Split coreboot and multiboot ports.
18499
18500 * conf/i386-multiboot.rmk: New file.
18501 * configure.ac: Add multiboot port.
18502 * include/grub/i386/multiboot/boot.h: New file.
18503 * include/grub/i386/multiboot/console.h: Likewise.
18504 * include/grub/i386/multiboot/init.h: Likewise.
18505 * include/grub/i386/multiboot/kernel.h: Likewise.
18506 * include/grub/i386/multiboot/loader.h: Likewise.
18507 * include/grub/i386/multiboot/memory.h: Likewise.
18508 * include/grub/i386/multiboot/serial.h: Likewise.
18509 * include/grub/i386/multiboot/time.h: Likewise.
18510 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18511 * loader/multiboot.c: Likewise.
18512 * loader/multiboot_mbi2.c: Likewise.
18513 * util/grub-mkrescue.in: Generate multiboot rescue.
18514
6f8aaf68
VS
185152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18516
3080f7a7
VS
18517 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18518
185192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18522
18523 * commands/terminal.c (abstract_terminal): New struct.
18524 (handle_command): New function. Based on grub_cmd_terminal_input.
18525 (grub_cmd_terminal_input): Use handle_command.
18526 (grub_cmd_terminal_output): Use handle_command.
18527
a8ebb841
BC
185282010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18529
18530 Fix comment handling.
18531
18532 * tests/grub_script_comments.in: New testcase.
18533 * conf/tests.rmk: Rules for new testcase.
18534 * script/yylex.l: Updated flex rules.
18535
bb06ba08
ST
185362010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18537
18538 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18539 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18540 if argc is 1.
bb06ba08 18541
cc9d2425
VS
185422010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18545 autogen issues.
18546
460d8402
CF
185472010-04-26 Christian Franke <franke@computer.org>
18548
18549 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18550 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18551 (grub_get_prefix): Remove function.
18552 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18553 make_system_path_relative_to_its_root ().
18554 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18555
553c01f9
CF
185562010-04-24 Christian Franke <franke@computer.org>
18557
18558 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18559 (kernel_img_LDFLAGS): Remove -static-libgcc.
18560
2aec1692
CF
185612010-04-24 Christian Franke <franke@computer.org>
18562
18563 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18564 and CHECK_END_SYMBOL if grub-emu is built.
18565 Unset TARGET_OBJ2ELF if grub-emu is built
18566 without module support.
18567
f67dc308
JS
185682010-04-24 Jiro SEKIBA <jir@unicus.jp>
18569
18570 Nilfs2 support.
18571
18572 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18573 (grub_fstest_SOURCES): Likewise.
18574 (pkglib_MODULES): Add nilfs2.mod.
18575 (nilfs2_mod_SOURCES): New variable.
18576 (nilfs2_mod_CFLAGS): Likewise.
18577 (nilfs2_mod_LDFLAGS): Likewise.
18578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18579 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18580 * fs/nilfs2.c: New file.
18581
4ba8d354
VS
185822010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18583
18584 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18585 is not supported.
18586
0d2c20c6
GS
185872010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18588
18589 Add grub-mkconfig support for NetBSD.
18590
18591 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18592 * util/grub-mkconfig.in: export new NetBSD specific variables.
18593 * po/POTFILES-shell: added 10_netbsd.in.
18594 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18595
bc4a2d83
BC
185962010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18597
18598 Fix emu build with grub-emu-pci and grub-emu-modules.
18599
18600 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18601 functions.
18602 * include/grub/libpciaccess.h: New file.
18603 * conf/any-emu.rmk: Update kernel headers for emu build.
18604
f48c87aa
VS
186052010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18608
18959385
VS
186092010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18612
0037de3f
VS
186132010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18616 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18617 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18618 util/ieee1275/ofpath.c.
18619 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18620 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18621 * include/grub/sparc64/ieee1275/boot.h
18622 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18623 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18624 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18625 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18626 const char *.
18627 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18628 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18629 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18630 install.
18631
38e55e90
GS
186322010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18633
18634 * util/grub-mkconfig.in: Corrected two == equality tests.
18635 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18636 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18637 expect a number appended to it.
18638 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18639 expects a number appended to it.
18640
a9e6ff28
VS
186412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18644
0b830b8f
VS
186452010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * util/hostdisk.c (make_device_name): Change to new partition naming.
18648
0973daeb
VS
186492010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18652
460d8402 186532010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18654
18655 * Makefile.in: Add missing localedir setting.
18656
0b456309
CW
186572010-04-14 Colin Watson <cjwatson@ubuntu.com>
18658
18659 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18660 mistake in r2156. Noticed by Anthony Fok.
18661
18662 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18663 @localedir@.
18664 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18665
08f46d62
BC
186662010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18667
18668 Fix a spurious, uninitialized variable warning.
18669
18670 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18671 Initialize variable, shdr.
18672 (grub_freebsd_load_elfmodule): Likewise.
18673 (grub_freebsd_load_elf_meta): Likewise.
18674
8c4a72d4
BC
186752010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18676
18677 Fix for escaped dollar in double quoted strings.
18678
18679 * script/yylex.l: Updated flex rules.
18680 * conf/tests.rmk: Rule for new testcase.
18681 * tests/grub_script_dollar.in: New testcase.
18682
ce44826e
CPE
186832010-04-13 Carles Pina i Estany <carles@pina.cat>
186842010-04-13 Colin Watson <cjwatson@ubuntu.com>
18685
18686 Enclose all translated strings in grub.cfg in single quotes, and
18687 escape them appropriately (Ubuntu bug #552921).
18688
18689 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18690 * util/grub.d/10_hurd.in: Use it.
18691 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18692 * util/grub.d/10_linux.in (linux_entry): Likewise.
18693
4b0cd8f8
VS
186942010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 Fix cygwin compilation.
18697
18698 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18699 * include/grub/misc.h (__register_frame_info)
18700 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18701 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18702 * kern/misc.c (__register_frame_info)
18703 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18704 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18705
01fcf061
VS
187062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18709
5d04b11e
VS
187102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18711
18712 Unify libgcc processing.
18713
18714 * Makefile.in (kernel_img_LDFLAGS): New variable.
18715 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18716 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18717 overwriting.
18718 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18719 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18720 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18721 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18722 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18723 overwriting. Remove -lgcc and -static-libgcc
18724 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18725 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18726 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18727 (kernel_img_LDFLAGS): Append instead of overwriting.
18728 Remove -lgcc and -static-libgcc
18729 * conf/sparc64-ieee1275.rmk: Likewise.
18730 * include/grub/powerpc/libgcc.h: Move to ...
18731 * include/grub/libgcc.h: .. this.
18732 * include/grub/libgcc.h: Don't export most of the function on x86.
18733 (__bswapsi2): New export.
18734 (__bswapdi2): Likewise.
18735 * include/grub/mips/libgcc.h: Removed.
18736 * include/grub/sparc64/libgcc.h: Likewise.
18737
b7f3ac29
VS
187382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18741 disk_info_msg (conflicts with gettexting into languages with cases).
18742
2c7031b1
GS
187432010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18744
18745 Add grub-probe support for NetBSD.
18746
18747 * util/getroot.c (find_root_device): Convert block device to
18748 character device on NetBSD.
18749 * util/probe.c (probe): Require character device on NetBSD.
18750 * util/hostdisk.c: NetBSD specific headers.
18751 (configure_device_driver): new function to tune device driver
18752 parameters (currently only for NetBSD floppy driver).
18753 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18754 via disklabel ioctl).
18755 (open_device): call configure_device_driver on NetBSD.
18756 (convert_system_partition_to_system_disk): NetBSD specific code.
18757 (device_is_wholedisk): Likewise.
18758 (grub_util_biosdisk_get_grub_dev): Likewise.
18759 (make_device_name): Fixed a typo in bsd_part_str.
18760 * configure.ac: check for opendisk() and getrawpartition() on
18761 NetBSD and set LIBUTIL.
18762 * Makefile.in: add LIBUTIL to LIBS.
18763
f516290c
BC
187642010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18765
18766 Documentation fix.
18767
18768 * util/grub-script-check.c: Better help message.
18769
d8dcc0df
BC
187702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18771
18772 Fix FreeBSD build.
18773
18774 * configure.ac: Flex version check.
18775 * conf/common.rmk: Add -Wno-error to sh.mod.
18776 * script/yylex.l: Remove all #pragma.
18777
6734334a
VS
187782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18781 prototype.
18782 Reported by: Seth Goldberg.
18783
daea6abd
VS
187842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18787 Rename "module" to "module2".
18788 Reported by: Seth Goldberg.
18789
f2fd9d2b
VS
187902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18793 EXPORT_FUNC.
18794 Reported by: Seth Goldberg.
18795
be124579
VS
187962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * lib/posix_wrap/locale.h: Add missing file.
18799 Reported by: Seth Goldberg.
18800
ef5da797
VS
188012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 grub-emu module load support.
18804
18805 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18806 NO_DYNAMIC_MODULES switched to this.
18807 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18808 (CFLAGS): Likewise.
18809 * conf/any-emu.rmk: Generate symlist.
18810 (kernel_img_HEADERS): Add util/datetime.h.
18811 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18812 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18813 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18814 kern/$(target_cpu)/cache.S.
18815 * configure.ac (grub-emu-modules): New option.
18816 * genmk.rb: Handle multiple source lists.
18817 * include/grub/sdl.h: New file.
18818 * include/grub/libusb.h: Likewise.
18819 * util/grub-emu.c (main): Hanle (host) root.
18820 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18821 GRUB_ERR_UNKNOWN_DEVICE.
18822 * util/misc.c: Move mm functions to ...
18823 * util/mm.c: ... here. All users updated.
18824
47822096
VS
188252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18828 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18829 missing files.
18830 (maintainer-clean): Remove libgcrypt-grub.
18831
5d7e7445
VS
188322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18835
25f4e252
EC
188362010-04-09 EFI Coder <eficoder@hotmail.com>
18837
18838 * normal/menu_text.c (print_message): Clean up the message and show
18839 the Fn information when on EFI
18840 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18841
027de555
VS
188422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18845 All users updated.
18846 * normal/crypto.c (read_crypto_list): Likewise.
18847 * normal/dyncmd.c (read_command_list): Likewise.
18848 * normal/term.c (read_terminal_list): Likewise.
18849 * normal/main.c (read_lists): Use explicit prefix.
18850 (read_lists_hook): Use read_lists.
18851 (grub_normal_execute): Likewise.
18852
47779711
VS
188532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18856 Reported by: Thomas Schmitt.
18857 Add -no-emul-boot to grub-mkisofs parameters.
18858
1118c32e
VS
188592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * font/font.c: Indented.
18862
7d652447
BC
188632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18864
18865 Elif support to GRUB script (by Deepak Vankadaru).
18866
18867 * tests/grub_script_if.in: New testcase.
18868 * conf/tests.rmk: Rule for new testcase.
18869 * script/parser.y: Grammar rules for elif.
18870
34bb22df
BC
188712010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18872
18873 While and until loops support to GRUB script.
18874
18875 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18876 (grub_script_create_cmdwhile): New function prototype.
18877 (grub_script_execute_cmdwhile): New function prototype.
18878 * script/execute.c (grub_script_execute_cmdwhile): New function.
18879 * script/parser.y (command): New commands.
18880 (whilecmd): New grammar rule.
18881 (untilcmd): New grammar rule.
18882 * script/script.c (grub_script_create_cmdwhile): New function.
18883 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18884 function.
18885
18886 * tests/grub_script_while1.in: New testcase.
18887 * conf/tests.rmk: Rule for new testcase.
18888
e215d8e0
VS
188892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18892 as *.jpg.
18893
d7c43ba1
MV
188942010-04-09 Mario Vazquez <mariovazq@gmail.com>
18895
18896 GRUB_BACKGROUND support.
18897
18898 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18899 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18900
d64795c0
VS
189012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18904 Idea by: Mario Vazquez
d64795c0
VS
18905
18906 * util/grub.d/00_header.in: Load pf2 and image modules.
18907
f267f83a
VS
189082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18909
18910 grub-mkconfig multiple terminal support.
18911
18912 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18913 * util/grub.d/00_header.in: Likewise.
18914
b7841ceb
VS
189152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18918 we use cd $(srcdir).
18919
df60998c
CW
189202010-04-08 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * util/grub.d/10_linux.in: Only use the first word of
18923 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18924 spaces in GRUB_DISTRIBUTOR.
18925 * util/grub.d/10_kfreebsd.in: Likewise.
18926 * util/grub.d/10_hurd.in: Likewise.
18927
fa09c82e
BC
189282010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18929
14e18ae3 18930 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18931
18932 * tests/util/grub-shell.in: Remove -serial stdio option.
18933
daf892b3
BC
189342010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 POSIX header file wrappers.
18937
18938 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18939 equivalents.
18940 * lib/posix_wrap/ctype.h: Likewise.
18941 * lib/posix_wrap/errno.h: Likewise.
18942 * lib/posix_wrap/langinfo.h: Likewise.
18943 * lib/posix_wrap/limits.h: Likewise.
18944 * lib/posix_wrap/localcharset.h: Likewise.
18945 * lib/posix_wrap/stdint.h: Likewise.
18946 * lib/posix_wrap/stdio.h: Likewise.
18947 * lib/posix_wrap/stdlib.h: Likewise.
18948 * lib/posix_wrap/string.h: Likewise.
18949 * lib/posix_wrap/sys/types.h: Likewise.
18950 * lib/posix_wrap/unistd.h: Likewise.
18951 * lib/posix_wrap/wchar.h: Likewise.
18952 * lib/posix_wrap/wctype.h: Likewise.
18953 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18954 (grub_script.yy.h): Likewise.
18955 * script/yylex.l: Remove POSIX emulation #defines.
18956 * Makefile.in (POSIX_CFLAGS): New variable.
18957 (GNULIB_UTIL_CFLAGS): Likewise.
18958
18959 Regexp support.
18960
18961 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18962 (regexp_mod_SOURCES): New variable.
18963 (regexp_mod_CFLAGS): Likewise.
18964 (regexp_mod_LDFLAGS): Likewise.
18965 * commands/regexp.c: New file.
18966 * gnulib/regcomp.c: New file. Imported from gnulib.
18967 * gnulib/regex.c: Likewise.
18968 * gnulib/regex_internal.c: Likewise.
18969 * gnulib/regex_internal.h: Likewise.
18970 * gnulib/regexec.c: Likewise.
18971 * gnulib/regex.h: Likewise.
18972
974ac4f7
VS
189732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18976 unsupported video mode types.
18977
2622c3ff
VS
189782010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18981
064cb524
VS
189822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18985 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18986
a8c3b552
VS
189872010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 Remove unused grub_vga_get_font.
18990
18991 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18992 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18993
187bbe3d
GS
189942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18995
18996 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18997 * include/grub/misc.h: Likewise.
18998
b9396631
GS
189992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19000
19001 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19002 for which failure is fatal.
19003
50479feb
GS
190042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19005
19006 * util/grub-install.in: Use mkdir -p to create grub directory.
19007 * util/i386/efi/grub-install.in: Likewise.
19008 * util/ieee1275/grub-install.in: Likewise.
19009
b1654fdf
GS
190102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19011
19012 * Makefile.in (LEX): new variable.
19013
bd5a6415
GS
190142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19015
19016 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19017 `=' and added double quotes on operands of this equality test.
19018
3db3a82b
VS
190192010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * Makefile.in (uninstall): Remove a leftover debug echo.
19022 Reported by: Grégoire Sutre
19023
38023412
VS
190242010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 MIPS multiboot2 support.
19027
19028 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19029 (multiboot2_mod_SOURCES): New variable.
19030 (multiboot2_mod_CFLAGS): Likewise.
19031 (multiboot2_mod_LDFLAGS): Likewise.
19032 (multiboot2_mod_ASFLAGS): Likewise.
19033 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19034 definition.
19035 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19036 (MULTIBOOT_MBI_REGISTER): Likewise.
19037 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19038 (MULTIBOOT_ELF32_MACHINE): Likewise.
19039 (MULTIBOOT_ELF64_MACHINE): Likewise.
19040 * include/grub/mips/multiboot.h: New file.
19041 * include/grub/video.h (grub_video_driver_id): New type
19042 GRUB_VIDEO_DRIVER_SM712.
19043 (grub_video_get_info_and_fini): Export.
19044 (grub_video_get_palette): Likewise.
19045 (grub_video_get_driver_id): Likewise.
19046 * include/multiboot2.h: Resynced with spec.
19047 * loader/i386/multiboot.c: Moved from here ...
19048 * loader/multiboot.c: ... here. All users updated.
19049 (grub_multiboot_boot): Use platform-specific macros.
19050 * loader/i386/multiboot_elfxx.c: Moved from here ...
19051 * loader/multiboot_elfxx.c: ... here. All users updated.
19052 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19053 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19054 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19055
47674667
VS
190562010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 Import gnulib argp module.
19059
19060 * gnulib/argp-ba.c: New file.
19061 * gnulib/argp-eexst.c: Likewise.
19062 * gnulib/argp-fmtstream.c: Likewise.
19063 * gnulib/argp-fmtstream.h: Likewise.
19064 * gnulib/argp-fs-xinl.c: Likewise.
19065 * gnulib/argp-help.c: Likewise.
19066 * gnulib/argp-namefrob.h: Likewise.
19067 * gnulib/argp-parse.c: Likewise.
19068 * gnulib/argp-pin.c: Likewise.
19069 * gnulib/argp-pv.c: Likewise.
19070 * gnulib/argp-pvh.c: Likewise.
19071 * gnulib/argp-version-etc.c: Likewise.
19072 * gnulib/argp-version-etc.h: Likewise.
19073 * gnulib/argp-xinl.c: Likewise.
19074 * gnulib/argp.h: Likewise.
19075
495442ed
VS
190762010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * kern/device.c (grub_device_iterate): Clear errors after failed
19079 opening device.
19080
f9fd65df
VS
190812010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19084 returned by firmware.
19085
af09641e
VS
190862010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19089 compilation on coreboot and qemu
19090
016883a5
VS
190912010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * include/multiboot2.h: Resync with spec.
19094
f97e1f7d
VS
190952010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 Multiboot2 tag support
19098
19099 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19100 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19101 Remove loader/multiboot_loader.c.
19102 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19103 (grub_multiboot2_real_boot): Likewise.
19104 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19105 (grub_get_multiboot_mmap_count): New proto.
19106 (grub_fill_multiboot_mmap): Likewise.
19107 (grub_multiboot_set_video_mode): Likewise.
19108 (grub_multiboot_set_console): Likewise.
19109 (grub_multiboot_load): Likewise.
19110 (grub_multiboot_load_elf): Likewise.
19111 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19112 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19113 * include/multiboot.h: Resynced with specification.
19114 * include/multiboot2.h: Resynced with specification.
19115 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19116 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19117 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19118 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19119 users updated.
19120 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19121 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19122 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19123 Removed.
19124 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19125 Moved from here...
19126 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19127 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19128 Moved from here...
19129 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19130 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19131 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19132 All users updated.
19133 * loader/i386/multiboot_mbi2.c: New file.
19134
3506b90b
VS
191352010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 Resync with gnulib.
19138
19139 * Makefile.in (GNULIB_CFLAGS): New variable.
19140 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19141 (grub_script_check_CFLAGS): New variable.
19142 * gnulib/alloca.h: Resync with gnulib.
19143 * gnulib/error.c: Likewise.
19144 * gnulib/error.h: Likewise.
19145 * gnulib/fnmatch.c: Likewise.
19146 * gnulib/fnmatch_loop.c: Likewise.
19147 * gnulib/getdelim.c: Likewise.
19148 * gnulib/getline.c: Likewise.
19149 * gnulib/getopt.c: Likewise.
19150 * gnulib/getopt1.c: Likewise.
19151 * gnulib/getopt_int.h: Likewise.
19152 * gnulib/gettext.h: Likewise.
19153 * gnulib/progname.c: Likewise.
19154 * gnulib/progname.h: Likewise.
19155
394a3120
GS
191562010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19157
19158 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19159 which is the case with --disabled-nls.
19160
19161 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19162 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19163 * util/misc.c: Likewise.
19164 * util/mkisofs/mkisofs.c: Likewise.
19165 * util/mkisofs/mkisofs.h: Likewise.
19166
969d1c78
VS
191672010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 Simplify Apple CC support.
19170
19171 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19172 Add 0 byte at the end not to have a symbol with empty target.
19173 * mmap/i386/pc/mmap_helper.S: Likewise.
19174 * genmk.rb: Ignore errors 2030 and 2050.
19175 * kern/i386/pc/startup.S: Use LOCAL when possible.
19176
8d2977bb
BC
191772010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19178
19179 Testcase and the fix for final semicolon on cmdline.
19180
19181 * tests/grub_script_final_semicolon.in: New testcase.
19182 * conf/tests.rmk: Rules for the new testcase.
19183 * script/parser.y: Grammar fix.
19184
a7bd6915
BC
191852010-03-26 BVK Chaitanya <bvk@localhost>
19186
19187 Blank lines testcase for GRUB script.
19188
19189 * tests/grub_script_blanklines.in: New testcase.
19190 * conf/tests.rmk: Rules for the new testcase.
19191
e4ff6628
VS
191922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 Don't use __FILE__.
19195
19196 * genmk.rb: Add -DGRUB_FILE to all C targets.
19197 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19198 * include/grub/list.h: Likewise.
19199 * include/grub/misc.h: Likewise.
19200 * include/grub/mm.h: Likewise.
19201 * include/grub/test.h: Likewise.
19202 * kern/mm.c: Likewise.
19203 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19204
6a5cf6b6
VS
192052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 Sunpc partitions support.
19208
19209 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19210 (grub_fstest_SOURCES): Likewise.
19211 (pkglib_MODULES): Add part_sunpc.mod.
19212 (part_sunpc_mod_SOURCES): New variable.
19213 (part_sunpc_mod_CFLAGS): Likewise.
19214 (part_sunpc_mod_LDFLAGS): Likewise.
19215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19216 * partmap/sunpc.c: New file.
19217
746d9045
BC
192182010-03-26 BVK Chaitanya <bvk@localhost>
19219
19220 For loop support to GRUB script.
19221
19222 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19223 (grub_script_create_cmdfor): New function prototype.
19224 (grub_script_execute_cmdfor): New function prototype.
19225 * script/execute.c (grub_script_execute_cmdfor): New function.
19226 * script/parser.y (command): New for command.
19227 (forcmd): New grammar rule.
19228 * script/script.c (grub_script_create_cmdfor): New function.
19229 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19230 function.
19231 * tests/grub_script_for1.in: New testcase.
19232 * conf/tests.rmk: Rules for new testcase.
19233
18486b18
VS
192342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 Nested partitions
19237
19238 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19239 'partition' is NULL, grub_partition_get_start already does that.
19240 * commands/loadenv.c (check_blocklists): Likewise.
19241 (write_blocklists): Likewise.
19242 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19243 (grub_fstest_SOURCES): Likewise.
19244 (pkglib_MODULES): Add part_bsd.mod.
19245 (part_bsd_mod_SOURCES): New variable.
19246 (part_bsd_mod_CFLAGS): Likewise.
19247 (part_bsd_mod_LDFLAGS): Likewise.
19248 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19249 (grub_emu_SOURCES): Likewise.
19250 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19251 * include/grub/bsdlabel.h: New file.
19252 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19253 'get_name'.
19254 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19255 (grub_partition_map_list): New variable.
19256 (grub_partition_map_register): Inline.
19257 (grub_partition_map_unregister): Likewise.
19258 (FOR_PARTITION_MAPS): New macro.
19259 (grub_partition_map_iterate): Removed.
19260 (grub_partition_get_start): Handle nested partitions.
19261 * include/grub/msdos_partition.h: Remove bsd-related entries.
19262 (grub_pc_partition): Remove.
19263 * kern/disk.c (grub_disk_close): Free partition data.
19264 (grub_disk_adjust_range): Handle nested partitions.
19265 * kern/partition.c (grub_partition_map_probe): New function.
19266 (grub_partition_probe): Parse name to number, handle subpartitions.
19267 (get_partmap): New function.
19268 (grub_partition_iterate): Handle subpartitions.
19269 (grub_partition_get_name): Likewise.
19270 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19271 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19272 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19273 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19274 Set 'number'.
19275 (acorn_partition_map_probe): Remove.
19276 (acorn_partition_map_get_name): Likewise.
19277 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19278 Set 'number'.
19279 Set 'index' to 0 since there can be only one partition entry per sector.
19280 (amiga_partition_map_probe): Remove.
19281 (amiga_partition_map_get_name): Likewise.
19282 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19283 Set 'number'.
19284 Set 'offset' and 'index' to real positions of partitions.
19285 (apple_partition_map_probe): Remove.
19286 (apple_partition_map_get_name): Likewise.
19287 * partmap/bsdlabel.c: New file.
19288 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19289 Set 'number'.
19290 Allocate 'data' so it can be correctly freed.
19291 Set 'index' to offset inside sector.
19292 (gpt_partition_map_probe): Remove.
19293 (gpt_partition_map_get_name): Likewise.
19294 * partmap/msdos.c (grub_partition_parse): Remove.
19295 (pc_partition_map_iterate): Don't force raw access.
19296 Set 'number'.
19297 Make 'ext_offset' a local variable.
19298 (pc_partition_map_probe): Remove.
19299 (pc_partition_map_get_name): Remove.
19300 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19301 Set 'number'.
19302 (sun_partition_map_probe): Remove.
19303 (sun_partition_map_get_name): Likewise.
19304 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19305 (grub_pcpart_type): Likewise.
19306 * util/hostdisk.c (open_device): Handle new numbering scheme.
19307 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19308 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19309 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19310 * util/grub-install.in: Insert all subpartition modules.
19311 * util/ieee1275/grub-install.in: Likewise.
19312
a3940f88
AG
193132010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19314
19315 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19316 grammar.
19317
21b99926 193182010-03-24 Colin Watson <cjwatson@ubuntu.com>
19319
19320 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19321
bed1d352
CW
193222010-03-21 Colin Watson <cjwatson@ubuntu.com>
19323
19324 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19325 match where 'make install' puts them.
19326 * util/i386/efi/grub-install.in: Likewise.
19327
c9f58427
CW
193282010-03-19 Colin Watson <cjwatson@ubuntu.com>
19329
19330 * .bzrignore: Add gentrigtables, grub-script-check,
19331 grub_script_check_init.c, grub_script_check_init.h, and
19332 trigtables.c.
19333
f84afb27
VS
193342010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * kern/parser.c: Indented.
19337
ed0e3d30
VS
193382010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19341
0ea81d98
VS
193422010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19345 alpha_mask_size == 0 case.
19346
0cdc2a09
BC
193472010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19348
19349 GRUB shell lexer and parser improvements.
19350
19351 * conf/any-emu.rmk: Build rule updates.
19352 * conf/common.rmk: Likewise.
19353 * conf/i386-coreboot.rmk: Likewise.
19354 * conf/i386-efi.rmk: Likewise.
19355 * conf/i386-ieee1275.rmk: Likewise.
19356 * conf/i386-pc.rmk: Likewise.
19357 * conf/powerpc-ieee1275.rmk: Likewise.
19358 * conf/x86_64-efi.rmk: Likewise.
19359
19360 * configure.ac: Configure check for flex.
19361
19362 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19363 types.
19364 (grub_lexer_param): Struct member updates.
19365 (grub_parser_param): Likewise.
19366 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19367 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19368 (grub_script_lexer_init): Prototype update.
19369 (grub_script_lexer_record_start): Likewise.
19370 (grub_script_lexer_record_stop): Likewise.
19371 (grub_script_lexer_yywrap): New function prototype.
19372 (grub_script_lexer_fini): Likewise.
19373 (grub_script_execute_argument_to_string): Removed by...
19374 (grub_script_execute_argument_to_argv): ...better version.
19375
19376 * script/execute.c (ROUND_UPTO): New macro.
19377 (grub_script_execute_cmdline): Out of memory fixes.
19378 (grub_script_execute_menuentry): Likewise.
19379 (grub_script_execute_argument_to_string): Removed. Update all
19380 users by...
19381 (grub_script_execute_argument_to_argv): ...better version.
19382 * script/function.c (grub_script_function_create): Use
19383 grub_script_execute_argument_to_argv instead of
19384 grub_script_execute_argument_to_string.
19385
19386 * script/lexer.c (check_varstate): Removed.
19387 (check_textstate): Removed.
19388 (grub_script_lexer_record_start): Likewise.
19389 (grub_script_lexer_record_stop): Likewise.
19390 (recordchar): Replaced with...
19391 (grub_script_lexer_record): ...new function.
19392 (nextchar): Removed.
19393 (grub_script_lexer_init): Rewritten.
19394 (grub_script_yylex): Rewritten.
19395 (append_newline): New function.
19396 (grub_script_lexer_yywrap): New function.
19397 (grub_script_lexer_fini): New function.
19398 (grub_script_yyerror): Sets error flag.
19399
19400 * script/yylex.l: New file.
19401 (grub_lexer_yyfree): Wrapper for flex yyffre.
19402 (grub_lexer_yyalloc): Likewise.
19403 (grub_lexer_yyrealloc): Likewise.
19404 * script/parser.y: Refactored.
19405
19406 * script/script.c (grub_script_arg_add): Out of memory fixes.
19407 (grub_script_add_arglist): Likewise.
19408 (grub_script_create_cmdline): Likewise.
19409 (grub_script_create_cmdmenu): Likewise.
19410 (grub_script_add_cmd): Likewise.
19411 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19412 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19413 unnecessary code.
19414
19415 * tests/grub_script_echo1.in: New testcase.
19416 * tests/grub_script_vars1.in: New testcase.
19417 * tests/grub_script_echo_keywords.in: New testcase.
19418
1d63a066
VS
194192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 Remove some redundancy in build system.
19422
19423 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19424 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19425 (TARGET_LDFLAGS): Add -nostdlib.
19426 (TARGET_IMG_LDFLAGS): Likewise.
19427 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19428 anything since mmap isn't available.
19429 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19430 Add util/time.c.
19431 (pkglib_MODULES): Remove reboot.mod.
19432 (reboot_mod_SOURCES): Removed.
19433 (reboot_mod_CFLAGS): Likewise.
19434 (reboot_mod_LDFLAGS): Likewise.
19435 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19436 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19437 (DEFSYMFILES): Add kernel_syms.lst.
19438 (kernel_img_HEADERS): Add common headers.
19439 (symlist.c): New target.
19440 (kernel_syms.lst): Likewise.
19441 (pkglib_MODULES): Add memdisk.mod.
19442 (memdisk_mod_SOURCES): New variable.
19443 (memdisk_mod_CFLAGS): Likewise.
19444 (memdisk_mod_LDFLAGS): Likewise.
19445 (pkglib_MODULES): Add reboot.mod.
19446 (reboot_mod_SOURCES): New variable.
19447 (reboot_mod_CFLAGS): Likewise.
19448 (reboot_mod_LDFLAGS): Likewise.
19449 (pkglib_MODULES): Add date.mod.
19450 (date_mod_SOURCES): New variable.
19451 (date_mod_CFLAGS): Likewise.
19452 (date_mod_LDFLAGS): Likewise.
19453 (pkglib_MODULES): Add datehook.mod.
19454 (datehook_mod_SOURCES): New variable.
19455 (datehook_mod_CFLAGS): Likewise.
19456 (datehook_mod_LDFLAGS): Likewise.
19457 (pkglib_MODULES): Add lsmmap.mod.
19458 (lsmmap_mod_SOURCES): New variable.
19459 (lsmmap_mod_CFLAGS): Likewise.
19460 (lsmmap_mod_LDFLAGS): Likewise.
19461 (pkglib_MODULES): Add boot.mod.
19462 (boot_mod_SOURCES): New variable.
19463 (boot_mod_CFLAGS): Likewise.
19464 (boot_mod_LDFLAGS): Likewise.
19465 * conf/i386-coreboot.rmk: Removed redundant parts.
19466 * conf/i386-ieee1275.rmk: Likewise.
19467 * conf/i386-pc.rmk: Likewise.
19468 * conf/mips-yeeloong.rmk: Likewise.
19469 * conf/mips.rmk: Likewise.
19470 * conf/powerpc-ieee1275.rmk: Likewise.
19471 * conf/sparc64-ieee1275.rmk: Likewise.
19472 * conf/x86_64-efi.rmk: Likewise.
19473 * conf/i386-coreboot.rmk: Moved qemu parts ..
19474 * conf/i386-qemu.rmk: ... here
19475 * conf/i386-efi.rmk: Moved common parts to...
19476 * conf/x86-efi.rmk: ... here.
19477 * conf/i386.rmk: Added modules common to all x86 variants.
19478 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19479 * disk/memdisk.c: Remove grub/machine/kernel.h.
19480 * gensymlist.sh.in: Include symbol.h.
19481 * hook/datehook.c: Correct module name.
19482 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19483 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19484 * include/grub/i386/efi/serial.h: New file.
19485 * include/grub/x86_64/efi/serial.h: Likewise.
19486 * util/time.c: Likewise.
19487 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19488
463ac55f
CK
194892010-03-14 Colin King <colin.king@ubuntu.com>
194902010-03-14 Colin Watson <cjwatson@ubuntu.com>
19491
19492 Shrink the pre-partition-table part of boot.img by eight bytes.
19493
19494 * boot/i386/pc/boot.S (ERR): New macro.
19495 (chs_mode): Use ERR.
19496 (geometry_error): Likewise.
19497 (hd_probe_error): Remove. This is only used once, so we wrwite
19498 it inline instead.
19499 (read_error): Instead of printing read_error_string, just set up
19500 %si and fall through to ...
19501 (error_message): ... this new function, also used by ERR.
19502
08e46ede
CW
195032010-03-14 Colin Watson <cjwatson@ubuntu.com>
19504
19505 Speed up consecutive hostdisk operations on the same device.
19506
19507 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19508 (grub_util_biosdisk_open): Initialise disk->data.
19509 (struct linux_partition_cache): New structure.
19510 (linux_find_partition): Cache partition start positions; these are
19511 expensive to compute on every read and write.
19512 (open_device): Cache open file descriptor in disk->data, so that we
19513 don't have to reopen it and flush the buffer cache for consecutive
19514 operations on the same device.
19515 (grub_util_biosdisk_close): New function.
19516 (grub_util_biosdisk_dev): Set `close' member.
19517
19518 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19519 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19520 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19521 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19522 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19523
4a6d2d06
VS
195242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Compile parts of grub-emu as modules.
19527
19528 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19529 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19530 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19531 (all-local): Add $(GRUB_EMU).
19532 (install-local): Install $(GRUB_EMU).
19533 (uninstall): Uninstall $(GRUB_EMU).
19534 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19535 * kern/dl.c: Likewise.
19536 * commands/sleep.c: Not include machine/time.h.
19537 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19538 (COMMON_CFLAGS): Likewise.
19539 (sbin_UTILITIES): Remove grub-emu.
19540 (grub_emu_SOURCES): Removed.
19541 (kernel_img_RELOCATABLE): New variable.
19542 (pkglib_PROGRAMS): Add kernel.img.
19543 (kernel_img_SOURCES): New variable
19544 (kernel_img_CFLAGS): Likewise.
19545 (kernel_img_LDFLAGS): Likewise.
19546 (TARGET_NO_STRIP): Likewise.
19547 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19548 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19549 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19550 (grub-emu): New target.
19551 (GRUB_EMU): New variable.
19552 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19553 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19554 * loader/xnu.c: Likewise.
19555 * include/grub/pci.h: Likewise.
19556 * genemuinit.sh: New file.
19557 * genemuinitheader.sh: Likewise.
19558 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19559 Support TARGET_NO_DYNAMIC_MODULES.
19560 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19561 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19562 * disk/loopback.c: Likewise.
19563 * font/font_cmd.c: Likewise.
19564 * partmap/acorn.c: Likewise.
19565 * partmap/amiga.c: Likewise.
19566 * partmap/apple.c: Likewise.
19567 * partmap/gpt.c: Likewise.
19568 * partmap/msdos.c: Likewise.
19569 * partmap/sun.c: Likewise.
19570 * parttool/msdospart.c: Likewise.
19571 * term/gfxterm.c: Likewise.
19572 * video/bitmap.c: Likewise.
19573 * video/readers/jpeg.c: Likewise.
19574 * video/readers/png.c: Likewise.
19575 * video/readers/tga.c: Likewise.
19576 * video/video.c: Likewise.
19577 * util/grub-emu.c (read_command_list): Removed.
19578 (main): Don't call util_init_nls.
19579 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19580 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19581
91fdd2ed
VS
195822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19585 date.mod, datehook.mod.
19586 (datetime_mod_SOURCES): New variable.
19587 (datetime_mod_CFLAGS): Likewise.
19588 (datetime_mod_LDFLAGS): Likewise.
19589 (date_mod_SOURCES): Likewise.
19590 (date_mod_CFLAGS): Likewise.
19591 (date_mod_LDFLAGS): Likewise.
19592 (datehook_mod_SOURCES): Likewise.
19593 (datehook_mod_CFLAGS): Likewise.
19594 (datehook_mod_LDFLAGS): Likewise.
19595 * conf/sparc64-ieee1275.rmk: Likewise.
19596 * lib/ieee1275/datetime.c: New file.
19597
873ccae6
VS
195982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19601 (ieee1275_fb_mod_SOURCES): New variable.
19602 (ieee1275_fb_mod_CFLAGS): Likewise.
19603 (ieee1275_fb_mod_LDFLAGS): Likewise.
19604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19605 New proto.
19606 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19607 (HEAP_MAX_ADDR): Likewise.
19608 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19609 type.
19610 Correct stop condition.
19611 (grub_ieee1275_devices_iterate): New function.
19612 * video/ieee1275.c: New file.
19613
601c97c0
VS
196142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19617
19618 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19619 as scratch.
19620 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19621 SCRATCH_PAD_DISKBOOT as scratch.
19622 (bootit): Pass Openfirmware pointer in %o4.
19623 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19624 of 0x200000.
19625 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19626 with util/grub-mkrawimage.c.
19627 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19628 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19629 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19630 (grub_aout_load) [GRUB_UTIL]: Likewise.
19631 * include/grub/kernel.h (grub_modules_get_end): New proto.
19632 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19633 (SCRATCH_PAD_BOOT): New definition.
19634 (SCRATCH_PAD_DISKBOOT): Likewise.
19635 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19636 * include/grub/sparc64/ieee1275/ieee1275.h
19637 (grub_ieee1275_original_stack): New variable
19638 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19639 New definition
19640 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19641 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19642 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19643 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19644 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19645 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19646 (grub_platform_image_format_t): New type.
19647 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19648 * kern/main.c (grub_modules_get_end)
19649 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19650 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19651 (codestart): Switch stacks.
19652 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19653 variable.
19654 (grub_heap_init): Use grub_modules_get_end.
19655 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19656 stack.
19657 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19658 (main): Likewise.
19659 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19660
d68b491e
TG
196612010-03-14 Thorsten Glaser <tg@mirbsd.org>
19662
19663 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19664
4e02ed50
MK
196652010-03-08 Matt Kraai <kraai@ftbfs.org>
19666
19667 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19668 bug #559005).
19669
1f15fc1e
VS
196702010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * genmoddep.awk: Output all missing symbols and not only first.
19673
fce5d8ff
VS
196742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * NEWS: Put the date of 1.98 release.
19677
d1e8a02f
VS
196782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19681 ft2build.h.
19682
696fd607
VS
196832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19686 completition in the middle of string.
19687
33e2e6f3
VS
196882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 * util/grub-mkrescue.in: Use mktemp with explicit template.
19691
b1f6d291
VS
196922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19695
2ac227c7
VS
196962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19697
19698 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19699 right pointer.
19700
8f9a632b
VS
197012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 Fix FreeBSD compilation.
19704
19705 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19706 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19707
60b03859
VS
197082010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19711
48a5a769
VS
197122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19713
19714 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19715
3ab4bd77
VS
197162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19719
d116e0d8
RM
197202010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19721
19722 Support relative image path in theme file.
19723
19724 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19725 (image_set_property): Handle theme_dir and relative path.
19726
c7ef54aa
VS
197272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * configure.ac: Alias amd64 to x86_64.
19730
fcee14ed
VS
197312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * NEWS: mention multiboot on EFI.
19734
d0780363
VS
197352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * kern/main.c (grub_load_modules): Handle errors from init functions of
19738 embeded modules.
19739
41168ea4
VS
197402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * normal/autofs.c (autoload_fs_module): Handle errors.
19743
b54d93ac
VS
197442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 Disable linux.mod on qemu-mips since it's not functional and leads
19747 to compilation failure.
19748
19749 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19750 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19751 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19752 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19753 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19754 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19755 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19756 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19757 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19758 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19759 Reported by: BVK Chaitanya
19760
fc8345da
JU
197612010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19762
19763 * INSTALL: Add gettext as a dependency and add qemu to a new section
19764 "Prerequisites for make-check".
19765
4760f979
CF
197662010-03-04 Christian Franke <franke@computer.org>
19767
19768 * util/grub-pe2elf.c: Add missing include "progname.h".
19769
f209b5b2
VS
197702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * normal/crypto.c (read_crypto_list): Fix a typo.
19773 Reported by: Seth Goldberg.
19774
b4b7be98
VS
197752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19778 Reported by: Seth Goldberg.
b4b7be98 19779
c0ee0385
VS
197802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19783 ascii.bitmaps.
19784
a8efbf64
VS
197852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19788 Reported by: Seth Goldberg.
a8efbf64 19789
08dcd913
VS
197902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * util/i386/efi/grub-install.in: Copy gettext files.
19793
c4d0b332
VS
197942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19797
c6f2fe52
VS
197982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 Wait for user entry basing on presence of output rather than on errors.
19801
19802 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19803 (grub_install_newline_hook): Likewise.
19804 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19805 * normal/menu.c (show_menu): Check line_counter to determine presence
19806 of output.
19807 * normal/term.c (grub_normal_line_counter): New variable.
19808 (grub_normal_get_line_counter): New function.
19809 (grub_install_newline_hook): Likewise.
19810
5382b1e4
VS
198112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19814
5519963b
VS
198152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 * configure.ac: Update version to 1.98.
19818
72b28631
VS
198192010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 * util/grub.d/10_linux.in (linux_entry): Don't default to
19822 gfxpayload=keep if Linux doesn't support video handover.
19823
c140a180
VS
198242010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Don't compile video modules on yeeloong since video subsystem is part
19827 of kernel.
19828
19829 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19830 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19831 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19832 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19833 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19834 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19835 * include/grub/bitmap_scale.h: Likewise.
19836 * include/grub/bufio.h: Likewise.
19837 * include/grub/font.h: Likewise.
19838 * include/grub/gfxterm.h: Likewise.
19839 * include/grub/video.h: Likewise.
19840 * include/grub/vbe.h: Don't include video_fb.h.
19841 * video/i386/pc/vbe.c: Include video_fb.h.
19842 * commands/i386/pc/vbetest.c: Include video.h.
19843
a0ca21c2
CW
198442010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19845
19846 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19847 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19848 default entry if GRUB_SAVEDEFAULT=true. This allows using
19849 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19850 saving a new default on every boot.
19851
4a8a763c
VS
198522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19855 * normal/term.c (read_terminal_list): Likewise.
19856 * normal/main.c (grub_normal_init_page): Likewise.
19857 (grub_normal_read_line_real): Likewise.
19858
607ffde2
VS
198592010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19862 memory leak.
19863 Reported by: Seth Goldberg.
19864
2b8fa975
CW
198652010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19866
19867 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19868 duplicate declaration of `start'.
19869
618307dd
VS
198702010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19873 filename.
19874 Reported by: Georgy Buranov
19875
7dd05b96 198762010-02-20 Carles Pina i Estany <carles@pina.cat>
19877
19878 * util/grub-mkrawimage.c (usage): Change string formatting to
19879 improve gettext.
19880
d1484a42
MRA
198812010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19882
19883 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19884 backspace keys.
19885
42b1d186
VS
198862010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19889 Reported by: Michael Suchanek.
19890
198912010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19892
19893 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19894 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19895
d9f31a41
VS
198962010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Remove any reference to non-free fonts.
19899
19900 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19901 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19902 uses non-free components.
19903 * font/font.c (grub_font_get_name): Remove example name.
19904 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19905 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19906 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19907 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19908
2793c71e
GB
199092010-02-16 Georgy Buranov <gburanov@gmail.com>
19910
19911 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19912
402e3779
VS
199132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19916 Double divisor.
19917 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19918 features.
19919 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19920
0dd1e0dd
VS
199212010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19924
6fa7cfce
ST
199252010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19926
19927 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19928 * docs/grub.texi (Command-line and menu entry commands): Document play
19929 command.
19930
37c8483b
ST
199312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19932
19933 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19934 parse arguments as inline tempo and notes. Move code for playing notes
19935 to...
19936 (play): ... new function.
19937
14da0fb7
ST
199382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19939
19940 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19941 grub_uint16_t instead of short.
19942 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19943 disk from little endian to cpu endianness.
19944
04459e70
ST
199452010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19946
19947 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19948 GRUB_TICKS_PER_SECOND instead of 120.
19949
a0876943
VS
199502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19953 escape sequence after \e.
19954
e29f95dc
VS
199552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19958 non-ASCII characters.
19959
d27859b2
VS
199602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19963 set root in single quotes to prevent \, from being unescaped.
19964
bc028f2f
VS
199652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 Prevent unknown commands from stopping menuentry execution.
19968
19969 * script/execute.c (grub_script_execute_cmdline): Print error after
19970 unknown command.
19971
095f5f82
VS
199722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19975 Reported by: Pavel Pisa.
19976
8c717950
VS
199772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19980
904935c3
VS
199812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 Merge grub_ieee1275_map_physical into grub_map and rename to
19984 grub_ieee1275_map
19985
19986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19987 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19988 Remove.
19989 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19990 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19991 necessary.
19992 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19993
5b59a4e3
VS
199942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19997 opening and not after.
19998
69e137e8
VS
199992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20002 constants.
20003
2c0fcc36
VS
200042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20007 (alloc_phys): Use ALIGN_UP instead of align_addr.
20008
8c6052ce
VS
200092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20012
17cec782
VS
200132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20016
e0128bbd
VS
200172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20020 verbose dprintf.
20021
ca62070b
VS
200222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 Fix over-4GiB seek on sparc64.
20025
20026 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20027 Replace pos_i and pos_lo with pos. All users updated.
20028 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20029 New constant.
20030 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20031 Likewise.
20032 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20033 and pos_lo.
20034
bdca2607
VS
200352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * util/grub-mkrawimage.c (main): Call set_program_name.
20038
da278c4d
VS
200392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 Properly align 64-bit targets.
20042
20043 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20044 (generate_image): Use ALIGN_ADDR.
20045
b274d734
VS
200462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 Properly create cross-endian images.
20049
20050 * include/grub/types.h (grub_host_to_target_addr): New macro
20051 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20052
82da2062
VS
200532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20056
7cae4377
VS
200572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20060
20061 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20062 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20063 (grub_linux_boot): Divide by 64K when on VESA.
20064
65a533e7
VS
200652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 Support GRUB_GFXPAYLOAD_LINUX.
20068
20069 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20070 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20071
dd01d397
VS
200722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20075 to show messages instead of discarding them.
20076 Process errors after executing command and not before. Keep old method
20077 too as precaution.
20078
660960d6
VS
200792010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * configure.ac: Check for ft2build.h.
20082
62509f04
VS
200832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20086
473df63d
VS
200872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * genkernsyms.sh.in: Use TARGET_CC.
20090
c98d2a13
CW
200912010-02-07 Colin Watson <cjwatson@ubuntu.com>
20092
20093 * NEWS: Update.
20094
6e14234c
VS
200952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20098 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20099 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20100
b255e9cf
YB
201012010-02-07 Yves Blusseau <blusseau@zetam.org>
20102
6e14234c 20103 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20104
98e6959d
VS
201052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 Fix warnings in grub-emu when compiling with maximum warning options.
20108
20109 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20110 (grub_arch_modules_addr): Return 0 and not NULL.
20111 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20112 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20113 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20114 of disk to dsk to avoid shadowing.
74e4934e
VS
20115 (find_free_slot): Fix prototype.
20116 * util/getroot.c (grub_util_is_dmraid): Make static.
20117 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20118 Add missing prototype.
20119 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20120
74e31b5c
VS
201212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20124 appropriately.
20125
6b2ad14b
VS
201262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20129 code out.
20130
8f891adc
VS
201312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20134 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20135 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20136 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20137 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20138 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20139
74b45184
VS
201402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * include/grub/err.h (grub_err_printf): Don't export.
20143
a4bced77
VS
201442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20147
007d0695
VS
201482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20151 * kern/misc.c (grub_gettext_dummy): Make static.
20152
b6c0d9c2
VS
201532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20156 by non-valid ones.
20157 * kern/term.c (grub_putchar): Likewise.
20158
f51a90d0
VS
201592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20160
20161 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20162 buggy hook call and memory leak.
20163
6846cec5
VS
201642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20167
468d69fe
VS
201682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20171
51906b8c
VS
201722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20175 modevar.
20176 Return grub_errno on allocation error.
20177
09706ce5
VS
201782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20181
911df80c
YB
201822010-02-06 Yves Blusseau <blusseau@zetam.org>
20183
20184 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20185 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20186
3746a6bc
VS
201872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20190 non-pxe disk.
20191 (grub_pxefs_open): Likewise.
20192
09706ce5
VS
201932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20194
20195 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20196 * util/grub.d/10_kfreebsd.in: Likewise.
20197 * util/grub.d/10_linux.in: Likewise.
20198
7cc192d9
VS
201992010-02-06 Colin D Bennett <colin@gibibit.com>
20200
20201 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20202 (gfxmenu_mod_SOURCES): New variable.
20203 (gfxmenu_mod_CFLAGS): Likewise.
20204 (gfxmenu_mod_LDFLAGS): Likewise.
20205 * include/grub/term.h (grub_term_set_current_output): Declare
20206 argument as const.
20207 * docs/gfxmenu-theme-example.txt: New file.
20208 * gfxmenu/gfxmenu.c: Likewise.
20209 * gfxmenu/gui_box.c: Likewise.
20210 * gfxmenu/gui_canvas.c: Likewise.
20211 * gfxmenu/gui_circular_progress.c: Likewise.
20212 * gfxmenu/gui_image.c: Likewise.
20213 * gfxmenu/gui_label.c: Likewise.
20214 * gfxmenu/gui_list.c: Likewise.
20215 * gfxmenu/gui_progress_bar.c: Likewise.
20216 * gfxmenu/gui_string_util.c: Likewise.
20217 * gfxmenu/gui_util.c: Likewise.
20218 * gfxmenu/icon_manager.c: Likewise.
20219 * gfxmenu/model.c: Likewise.
20220 * gfxmenu/named_colors.c: Likewise.
20221 * gfxmenu/theme_loader.c: Likewise.
20222 * gfxmenu/view.c: Likewise.
20223 * gfxmenu/widget-box.c: Likewise.
20224 * include/grub/gfxmenu_model.h: Likewise.
20225 * include/grub/gfxmenu_view.h: Likewise.
20226 * include/grub/gfxwidgets.h: Likewise.
20227 * include/grub/gui.h: Likewise.
20228 * include/grub/gui_string_util.h: Likewise.
20229 * include/grub/icon_manager.h: Likewise.
20230
202312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20232
20233 Agglomerate scrolling in gfxterm.
20234
20235 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20236 (grub_virtual_screen_setup): Initialise 'total_screen'.
20237 (write_char): Split to ...
20238 (paint_char): ... this ...
20239 (write_char): ... and this.
20240 (paint_char): Handle delayed scrolling.
20241 (draw_cursor): Likewise.
20242 (scroll_up): Split to ...
20243 (real_scroll): ... this ...
20244 (scroll_up): ... and this.
20245 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20246 characters.
20247 (grub_gfxterm_refresh): Call real_scroll.
20248
202492010-02-06 Colin D Bennett <colin@gibibit.com>
20250
20251 * include/grub/misc.h (grub_iscntrl): New inline function.
20252 (grub_isalnum): Likewise.
20253 (grub_strtol): Likewise.
20254
202552010-02-06 Colin D Bennett <colin@gibibit.com>
20256
20257 * normal/menu_text.c (get_entry_number): Move from here ...
20258 * normal/menu.c (get_entry_number): ... moved here.
20259 * include/grub/menu.h (grub_menu_get_default_entry_index):
20260 New prototype.
20261 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20262 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20263 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20264 (grub_menu_viewer_should_return): Likewise.
20265 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20266 * normal/menu_text.c (run_menu): Enable menu switching.
20267 * normal/menu_viewer.c (should_return): New variable.
20268 (menu_viewer_changed): Likewise.
20269 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20270 (grub_menu_viewer_should_return): New function.
20271 (menuviewer_write_hook): Likewise.
20272 (grub_menu_viewer_init): Likewise.
20273
202742010-02-06 Colin D Bennet <colin@gibibit.com>
202752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 Support for gfxterm in a window.
20278
20279 * include/grub/gfxterm.h: New file.
20280 * include/grub/video.h (struct grub_video_rect): New declaration.
20281 (grub_video_rect_t): Likewise.
20282 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20283 (refcount): New variable.
20284 (render_target): Likewise.
20285 (window): Likewise.
20286 (repaint_callback): Likewise.
20287 (grub_virtual_screen_setup): Use 'render_target'.
20288 (init_window): New function.
20289 (grub_gfxterm_init_window): Likewise.
20290 (grub_gfxterm_init): Check reference counter.
20291 Use init_window.
20292 (destroy_window): New function.
20293 (grub_gfxterm_destroy_window): Likewise.
20294 (grub_gfxterm_fini): Check reference counter.
20295 Use destroy_window.
20296 (redraw_screen_rect): Restore viewport.
20297 Use 'render_target' and 'window'.
20298 Call 'repaint_callback'.
20299 (write_char): Use 'render_target'.
20300 (draw_cursor): Likewise.
20301 (scroll_up): Restore viewport.
20302 Use 'render_target' and 'window'.
20303 Call 'repaint_callback'.
20304 (grub_gfxterm_cls): Likewise.
20305 (grub_gfxterm_refresh): Use 'window'.
20306 (grub_gfxterm_set_repaint_callback): New function.
20307 (grub_gfxterm_background_image_cmd): Use 'window'.
20308 (grub_gfxterm_get_term): New function.
20309 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20310
203112010-02-06 Colin D Bennett <colin@gibibit.com>
20312
20313 Bitmap scaling support.
20314
20315 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20316 (bitmap_scale_mod_SOURCES): New variable.
20317 (bitmap_scale_mod_CFLAGS): Likewise.
20318 (bitmap_scale_mod_LDFLAGS): Likewise.
20319 * include/grub/bitmap_scale.h: New file.
20320 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20321 (background_image_cmd_options): New variable.
20322 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20323 (cmd): Rename and change type to ...
20324 (background_image_cmd_handle): ... this. All users updated.
20325 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20326 * video/bitmap_scale.c: New file.
20327
203282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 SDL support.
20331
20332 * Makefile.in (LIBSDL): New variable.
20333 (enable_grub_emu_sdl): Likewise.
20334 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20335 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20336 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20337 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20338 * util/sdl.c: New file.
20339
203402010-02-06 Colin D Bennett <colin@gibibit.com>
203412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20342
20343 Double buffering support.
20344
20345 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20346 * include/grub/video.h: Update comment.
20347 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20348 New type.
20349 (grub_video_fb_doublebuf_blit_init): New prototype.
20350 * term/gfxterm.c (scroll_up): Support double buffering.
20351 (grub_gfxterm_refresh): Likewise.
20352 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20353 (grub_video_fb_doublebuf_blit_init): Likewise.
20354 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20355 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20356 'displayed_page', 'render_page' and 'update_screen'.
20357 (grub_video_vbe_fini): Free offscreen buffer.
20358 (doublebuf_pageflipping_commit): New function.
20359 (doublebuf_pageflipping_update_screen): Likewise.
20360 (doublebuf_pageflipping_init): Likewise.
20361 (double_buffering_init): Likewise.
20362 (grub_video_vbe_setup): Enable doublebuffering.
20363 (grub_video_vbe_swap_buffers): Implement.
20364 (grub_video_vbe_set_active_render_target): Handle double buffering.
20365 (grub_video_vbe_get_active_render_target): Likewise.
20366 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20367 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20368 (grub_video_vbe_enable_double_buffering): Likewise.
20369 (grub_video_vbe_swap_buffers): Use update_screen.
20370 (grub_video_set_mode): Use double buffering.
20371
203722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20373
20374 * maintainance/gentrigtables.py: Remove.
20375 * lib/trig.c: Likewise.
20376
20377 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20378
20379 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20380 `trigtables.c'.
20381 (trigtables.c): New rule.
20382 (gentrigtables): Likewise.
20383 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20384
203852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20386
20387 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20388 integer constants.
20389
203902010-02-06 Colin D Bennet <colin@gibibit.com>
20391
20392 Trigonometry support.
20393
20394 * include/grub/trig.h: New file.
20395 * lib/trig.c: Likewise.
20396 * maintainance/gentrigtables.py: Likewise.
20397 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20398 (trig_mod_SOURCES): New variable.
20399 (trig_mod_CFLAGS): Likewise.
20400 (trig_mod_LDFLAGS): Likewise.
20401
5562834e
VS
204022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20405 disk devices.
20406
4f8528fc
VS
204072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20410 error.
20411
2b4068e9
VS
204122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 * util/hostdisk.c (open_device): Don't use partition device when reading
20415 before the partition.
20416 (grub_util_biosdisk_read): Don't read from partition and before the
20417 partition in single operation.
20418 (grub_util_biosdisk_write): Don't write to partition and before the
20419 partition in single operation.
20420
399f6e4d
TL
204212010-02-03 Torsten Landschoff <torsten@debian.org>
20422
20423 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20424 last sectors.
20425
996649b0
VS
204262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20429 CDROM reads.
20430 (grub_biosdisk_write): Refuse to write to CDROM.
20431
3b205d4d
VS
204322010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20435
61e89d9d
VS
204362010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * font/font.c (find_glyph): Check that bmp_idx is available before
20439 using it.
20440 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20441 with (font == NULL).
20442
bf7fcba2
CS
204432010-01-28 Christian Schmitt <chris@ilovelinux.de>
20444
20445 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20446
f45d2663
BC
204472010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20448
20449 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20450 * util/grub-script-check.c (getline): Fix empty lines case.
20451
ec1444e6
RM
204522010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20453
20454 * Makefile.in (check): Exit with fail status when one of the tests
20455 fails.
20456 * tests/example_functional_test.c (example_test): Fix reversed assert.
20457 * tests/example_unit_test.c (example_test): Likewise.
20458
2e1cb9bb
CW
204592010-01-28 Colin Watson <cjwatson@ubuntu.com>
20460
20461 * util/grub.d/10_linux.in: This script does not use any of the
20462 contents of gettext.sh, only the external command `gettext', so stop
20463 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20464 the same prefix as GRUB.)
20465 * util/grub.d/10_kfreebsd.in: Likewise.
20466
63533ab0
VS
204672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20470 of the line.
20471
989e1f93
VS
204722010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20475 last sectors.
20476
e709ebe2
VS
204772010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20478
20479 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20480 having a 4KiB and not 32KiB buffer size.
20481
27dea7ed
RM
204822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20483
20484 * util/hostfs.c: Include `<errno.h>'.
20485 (grub_hostfs_read): Handle errors from fseeko() and fread().
20486
67667b9c
RM
204872010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20488
20489 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20490 loop when using read hooks on files whose size isn't sector-aligned.
20491
c294d9d8
RM
204922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20493
20494 Remove unused parameter.
20495
20496 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20497 (grub_iso9660_open): Remove initialization of `data->length'.
20498
af75a9f1
RM
204992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20500
20501 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20502 memleak conditions.
20503
254e2ce5 205042010-01-27 Carles Pina i Estany <carles@pina.cat>
20505
20506 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20507 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20508
b510928c 205092010-01-26 Carles Pina i Estany <carles@pina.cat>
20510
20511 * util/bin2h.c (usage): Fix warning (space after backslash).
20512
aa2f9dd2 205132010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20514
20515 * font/font.c: Include `grub/fontformat.h.
20516 Remove font file format constants.
20517 (grub_font_load): Use the new macros.
20518 * include/grub/fontformat.h: New file.
20519 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20520 (write_font_pf2): Use the new macros.
20521
94e7e712
RM
205222010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20525 does.
20526
3973a59a
RM
205272010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20528
20529 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20530
20531 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20532 (_start): Macroify `0x7F'.
20533
20534 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20535 (make_install_device): Use "(pxe)" as fallback prefix when booting
20536 via PXE.
20537
42e0cba3
GS
205382010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 * configure.ac: Reset LIBS after check for libgcc symbols.
20541
847effd8
CW
205422010-01-25 Colin Watson <cjwatson@ubuntu.com>
20543
20544 * util/hostdisk.c (open_device): Add trailing newline to debug
20545 message.
20546
ea4a7e35
GS
205472010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20548
20549 * configure.ac: Check for `limits.h'.
20550 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20551
67951a53
RM
205522010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20553
20554 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20555 capitalize error strings.
20556
c273d4ce
ST
205572010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20558
20559 * util/grub.d/10_hurd.in: Add a recovery mode.
20560
69be5b74
VS
205612010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * configure.ac: Check for libgcc symbols with -nostdlib.
20564
fc9e5810
BC
205652010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20566
20567 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20568
4b358c0a
VS
205692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20572 stack since heap may be unavailable at that point.
20573 (grub_ofconsole_gotoxy): Likewise.
20574
454fcd1c
VS
205752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * configure.ac: Check for _restgpr_14_x.
20578 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20579 and _savegpr_* prototypes.
20580
566863ca
RM
205812010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20582
20583 Use generic grub_reboot() for i386-efi.
20584
20585 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20586 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20587 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20588
bf86e59a
VS
205892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20592 presence of "prefix" variable as it breaks when normal.mod is
20593 embedded.
20594
d645e0f8
VS
205952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20598 stack since heap is unavailable at that point.
20599
f9ab2e25
VS
206002010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20603 (grub_freebsd_bootinfo): Rewritten.
20604 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20605
01fc7054
VS
206062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20609
caab4fd6
RM
206102010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20611
20612 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20613 domain now.
20614
67eb1427
FZ
206152010-01-20 Felix Zielcke <fzielcke@z-51.de>
20616
20617 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20618 around for handling "/" to the correct fix. Fix a memory leak. Use
20619 xstrdup instead of strdup.
20620
a9ed4ff3
VS
206212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20622
20623 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20624
206252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20626
20627 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20628
20629 * font/font.c (struct grub_font): New member 'bmp_idx'.
20630 (font_init): Initialise 'bmp_idx'.
20631 (load_font_index): Fill 'bmp_idx'.
20632 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20633
48209f4f
VS
206342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20637 unnecessary calls.
20638
9f0a4bb7
VS
206392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 Move context handling out of the kernel.
20642
20643 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20644 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20645 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20646 * conf/i386-efi.rmk: Likewise.
20647 * conf/i386-ieee1275.rmk: Likewise.
20648 * conf/i386-pc.rmk: Likewise.
20649 * conf/powerpc-ieee1275.rmk: Likewise.
20650 * conf/sparc64-ieee1275.rmk: Likewise.
20651 * conf/x86_64-efi.rmk: Likewise.
20652 * include/grub/env.h: Include grub/menu.h.
20653 (grub_env_var_type): Removed.
20654 (grub_env_var): Replaced field 'type' with 'global'.
20655 (grub_env_find): New prototype.
20656 (grub_env_context_open): Remove EXPORT_FUNC.
20657 (grub_env_context_close): Likewise.
20658 (grub_env_export): Likewise.
20659 (grub_env_set_data_slot): Removed.
20660 (grub_env_get_data_slot): Likewise.
20661 (grub_env_unset_data_slot): Likewise.
20662 (grub_env_unset_menu): New prototype.
20663 (grub_env_set_menu): Likewise.
20664 (grub_env_get_menu): Likewise.
20665 * include/grub/env_private.h: New file.
20666 * include/grub/normal.h (grub_context_init): New prototype.
20667 (grub_context_fini): Likewise.
20668 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20669 * normal/context.c (grub_cmd_export): ... to here.
20670 * kern/env.c: Include env_private.h.
20671 (HASHSZ): Moved to include/grub/env_private.h.
20672 (grub_env_context): Likewise.
20673 (grub_env_sorted_var): Likewise.
20674 (current_context): Renamed from this ...
20675 (grub_current_context): ...to this. 'static' removed. All users updated.
20676 (grub_env_find): Removed 'static'.
20677 (grub_env_context_open): Moved to normal/context.c.
20678 (grub_env_context_close): Likewise.
20679 (grub_env_export): Likewise.
20680 (mangle_data_slot_name): Removed.
20681 (grub_env_set_data_slot): Likewise.
20682 (grub_env_get_data_slot): Likewise.
20683 (grub_env_unset_data_slot): Likewise.
20684 * kern/main.c (grub_set_root_dev): Don't export root.
20685 It will be done later.
20686 (grub_main): Don't export prefix.
20687 It will be done later.
20688 * normal/context.c: New file.
20689 * normal/main.c (free_menu): Use grub_env_unset_menu.
20690 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20691 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20692 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20693 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20694
8dd35b8c
VS
206952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 setpci support.
20698
20699 * commands/setpci.c: New file.
20700 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20701 (setpci_mod_SOURCES): New variable.
20702 (setpci_mod_CFLAGS): Likewise.
20703 (setpci_mod_LDFLAGS): Likewise.
20704
449193d5
VS
207052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 Byte-addressable PCI configuration space.
20708
20709 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20710 dword address.
20711 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20712 GRUB_PCI_REG_CACHELINE.
20713 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20714 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20715 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20716 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20717 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20718 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20719 grub_pci_make_address.
20720 (lock_rom_area): Likewise.
20721 * commands/lspci.c (grub_lspci_iter): Use macroses
20722 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20723 of grub_pci_make_address.
20724 * disk/ata.c (grub_ata_pciinit): Likewise.
20725 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20726 (GRUB_PCI_REG_VENDOR): Likewise.
20727 (GRUB_PCI_REG_DEVICE): Likewise.
20728 (GRUB_PCI_REG_COMMAND): Likewise.
20729 (GRUB_PCI_REG_STATUS): Likewise.
20730 (GRUB_PCI_REG_REVISION): Likewise.
20731 (GRUB_PCI_REG_CLASS): Likewise.
20732 (GRUB_PCI_REG_CACHELINE): Likewise.
20733 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20734 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20735 (GRUB_PCI_REG_BIST): Likewise.
20736 (GRUB_PCI_REG_ADDRESSES): Likewise.
20737 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20738 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20739 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20740 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20741 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20742 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20743 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20744 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20745 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20746 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20747 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20748 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20749 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20750 (GRUB_PCI_REG_MIN_GNT): Likewise.
20751 (GRUB_PCI_REG_MAX_LAT): Likewise.
20752 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20753 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20754 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20755 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20756 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20757 space.
20758
96d73208
RM
207592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20760
20761 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20762 can be reliably determined to be supported.
20763
d4484482
RM
207642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20765
20766 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20767 that VESA is supported.
20768 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20769 supported.
20770
00308ecf
VS
207712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20774
f66924a4
RM
207752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * util/misc.c (make_system_path_relative_to_its_root): Work around
20778 special-casing of "/", as previous incarnation of this routine did.
20779
cbca0ada
VS
207802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 Fix any-emu compilation.
20783
20784 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20785 * grub_bin2h_SOURCES: New variable.
20786
34a66d99
RM
207872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20788
20789 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20790
94fabf58
RM
207912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20792
20793 * util/grub.d/00_header.in: Fix handling of locale_dir.
20794
02cf98ca
VS
207952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20798 as possible unifont location (Gentoo).
20799 Reported by: Alexander Brüning
20800
327dbcd7
VS
208012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 Don't try to generate lists for kernel.img.
20804
20805 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20806 (pkglib_MODULES): Remove kernel.img.
20807 (kernel_img_EXPORTS): Removed.
20808 (kernel_img_RELOCATABLE): New variable.
20809 * conf/x86_64-efi.rmk: Likewise.
20810 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20811
ca467290
VS
208122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20815 grub_xasprintf or grub_snprintf.
20816 (grub_vsprintf): Likewise.
20817 (grub_snprintf): New proto.
20818 (grub_vsnprintf): Likewise.
20819 (grub_xasprintf): Likewise.
20820 (grub_xvasprintf): Likewise.
20821 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20822 (grub_sprintf): Removed.
20823 (grub_vsnprintf): New function.
20824 (grub_snprintf): Likewise.
20825 (grub_xvasprintf): Likewise.
20826 (grub_xasprintf): Likewise.
20827 (grub_vsprintf): Renamed to ...
20828 (grub_vsnprintf_real): ...this. New argument max_len.
20829
aca655fd
BC
208302010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20831
20832 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20833 fix grub-script-check warning.
20834
7ee92c32
VS
208352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 * include/grub/font.h (grub_font_load): Fix prototype.
20838
f80927ca
VS
208392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20842
119c50ea
VS
208432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 * include/grub/x86_64/at_keyboard.h: New file.
20846
47d5f3c1
VS
208472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 * loader/mips/linux.c: Include missing grub/i18n.h.
20850
55ff5266
RM
208512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20852
20853 * normal/menu.c (notify_execution_failure): Clarify error message.
20854
c893cc87
RM
208552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20856
20857 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20858 return value (and revert all return statements). Update users.
20859
917dd370
CW
208602010-01-20 Dan Merillat <debian@dan.merillat.org>
20861
20862 * kern/device.c (grub_device_iterate): Allocate new part_ent
20863 structure based on sizeof (*p) rather than sizeof (p->next), to
20864 account for structure padding.
20865
20866 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20867 disk is NULL, which might happen for LVM physical volumes with no
20868 LVM signature.
20869
d4a4ee57
RM
208702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20871
20872 * loader/mips/linux.c (grub_cmd_initrd)
20873 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20874
208752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20876
20877 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20878 (grub_video_video_init, grub_video_bitmap_init)
20879 (grub_font_manager_init, grub_term_gfxterm_init)
20880 (grub_at_keyboard_init): New extern declarations.
20881 (grub_machine_init): Initialize gfxterm and at_keyboard.
20882
20883 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20884
20885 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20886 `gfxterm.mod' into core image.
20887
20888 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20889 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20890 (kernel_img_FORMAT): Copy to ...
20891
20892 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20893 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20894 (kernel_img_FORMAT): ... here, and ...
20895
20896 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20897 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20898 (kernel_img_FORMAT): ... here.
20899
20900 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20901 and input (at_keyboard) terminals in kernel.
20902 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20903
20904 (pkglib_MODULES): Remove `pci.mod'.
20905 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20906 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20907 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20908 (at_keyboard_mod_LDFLAGS): Remove variables.
20909
209102010-01-11 Felix Zielcke <fzielcke@z-51.de>
20911
20912 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20913
209142009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20915
20916 * include/grub/mips/libgcc.h: Only export symbols for functions
20917 that libgcc provides.
20918
209192009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 MIPS support.
20922
20923 * bus/bonito.c: New file.
20924 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20925 GRUB_PCI_NUM_DEVICES.
20926 * term/i386/pc/serial.c: Move to ...
20927 * term/serial.c: ... here. All users updated.
20928 * util/i386/pc/grub-mkimage.c: Move to ...
20929 * util/grub-mkrawimage.c: ... here. All users updated.
20930 * term/i386/pc/at_keyboard.c: Move to ...
20931 * term/at_keyboard.c: ... here. All users updated.
20932 * conf/mips-qemu-mips.rmk: New file.
20933 * conf/mips-yeeloong.rmk: Likewise.
20934 * conf/mips.rmk: Likewise.
20935 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20936 mipsel-qemu-mips.
20937 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20938 to port addresses.
20939 (grub_ata_pciinit): Support CS5536.
20940 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20941 * font/font_cmd.c (loadfont_command): Open file before passing it to
20942 grub_font_load.
20943 (pseudo_file_read): New function.
20944 (pseudo_file_close): Likewise.
20945 (pseudo_fs): New structure.
20946 (load_font_module): New function.
20947 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20948 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20949 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20950 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20951 * include/grub/i386/at_keyboard.h: Split into ...
20952 * include/grub/at_keyboard.h: ... this ...
20953 * include/grub/i386/at_keyboard.h: ... and this.
20954 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20955 New prototype.
20956 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20957 updated.
20958 (grub_elf64_size): Likewise.
20959 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20960 filename.
20961 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20962 * include/grub/i386/coreboot/serial.h: Rewritten.
20963 * include/grub/i386/ieee1275/serial.h: Include
20964 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20965 * include/grub/i386/pc/serial.h: Moved from here ...
20966 * include/grub/serial.h: ... to here. All users updated.
20967 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20968 (GRUB_PCI_NUM_BUS): Likewise.
20969 (GRUB_PCI_NUM_DEVICES): Likewise.
20970 (grub_pci_device_map_range): Add missing volatile keyword.
20971 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20972 * include/grub/mips/at_keyboard.h: New file.
20973 * include/grub/mips/cache.h: Likewise.
20974 * include/grub/mips/io.h: Likewise.
20975 * include/grub/mips/kernel.h: Likewise.
20976 * include/grub/mips/libgcc.h: Likewise.
20977 * include/grub/mips/pci.h: Likewise.
20978 * include/grub/mips/qemu-mips/boot.h: Likewise.
20979 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20980 * include/grub/mips/qemu-mips/loader.h: Likewise.
20981 * include/grub/mips/qemu-mips/memory.h: Likewise.
20982 * include/grub/mips/qemu-mips/serial.h: Likewise.
20983 * include/grub/mips/qemu-mips/time.h: Likewise.
20984 * include/grub/mips/relocator.h: Likewise.
20985 * include/grub/mips/time.h: Likewise.
20986 * include/grub/mips/types.h: Likewise.
20987 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20988 * include/grub/mips/yeeloong/boot.h: Likewise.
20989 * include/grub/mips/yeeloong/kernel.h: Likewise.
20990 * include/grub/mips/yeeloong/loader.h: Likewise.
20991 * include/grub/mips/yeeloong/memory.h: Likewise.
20992 * include/grub/mips/yeeloong/pci.h: Likewise.
20993 * include/grub/mips/yeeloong/serial.h: Likewise.
20994 * include/grub/mips/yeeloong/time.h: Likewise.
20995 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20996 * kern/elf.c (grub_elf32_size): New parameter. All users
20997 updated.
20998 (grub_elf64_size): Likewise.
20999 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21000 Load modules before saying "Welcome to GRUB!".
21001 Call grub_refresh after saying "Welcome to GRUB!".
21002 * kern/mips/cache.S: New file.
21003 * kern/mips/cache_flush.S: Likewise.
21004 * kern/mips/dl.c: Likewise.
21005 * kern/mips/init.c: Likewise.
21006 * kern/mips/qemu-mips/init.c: Likewise.
21007 * kern/mips/startup.S: Likewise.
21008 * kern/mips/yeeloong/init.c: Likewise.
21009 * kern/term.c (grub_putcode): Handle NULL terminal.
21010 (grub_getcharwidth): Likewise.
21011 (grub_getkey): Likewise.
21012 (grub_checkkey): Likewise.
21013 (grub_getkeystatus): Likewise.
21014 (grub_getxy): Likewise.
21015 (grub_getwh): Likewise.
21016 (grub_gotoxy): Likewise.
21017 (grub_cls): Likewise.
21018 (grub_setcolorstate): Likewise.
21019 (grub_setcolor): Likewise.
21020 (grub_getcolor): Likewise.
21021 (grub_refresh): Likewise.
21022 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21023 (write_jump): Add hatch nop.
21024 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21025 * lib/mips/setjmp.S: New file.
21026 * loader/mips/linux.c: Likewise.
21027 * term/i386/pc/at_keyboard.c: Move from here ...
21028 * term/at_keyboard.c: ... to here.
21029 * term/i386/pc/serial.c: Moved from here ...
21030 * term/serial.c: ... to here. All users updated.
21031 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21032 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21033 (serial_translate_key_sequence): Avoid deadlock.
21034 (grub_serial_getkey): Handle backspace.
21035 (grub_serial_putchar): Fix newline handling.
21036 * util/i386/pc/grub-mkimage.c: Move from here ...
21037 * util/grub-mkrawimage.c: ... to here. All users updated.
21038 (generate_image): New parameters 'font_path' and 'format'.
21039 Support embedding font.
21040 Use grub_host_to_target* instead of grub_cpu_to_le*.
21041 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21042 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21043 (options): New option "--font".
21044 (usage): Likewise.
21045 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21046 (main): Handle "--font".
21047 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21048 (grub_virtual_screen_setup): Set bg_color_display.
21049 (redraw_screen_rect): Use bg_color_display instead of incorrect
21050 bg_color.
21051 (grub_gfxterm_cls): Likewise.
21052 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21053 Support embedding config file.
21054 (add_segments): Likewise.
21055 (options): New option "--config".
21056 (main): Handle "--config".
21057 * video/sm712.c: New file.
21058
25c2b5b3
RM
210592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21060
21061 Fix parallel builds.
21062
21063 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21064 font.c depend on ascii.h).
21065
210662010-01-12 Carles Pina i Estany <carles@pina.cat>
21067
21068 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21069
210702010-01-11 Carles Pina i Estany <carles@pina.cat>
21071
21072 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21073 By default: disabled.
21074 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21075 parameter.
21076
210772010-01-10 Carles Pina i Estany <carles@pina.cat>
21078
21079 * font/font.c: Update copyright years.
21080 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21081
210822010-01-10 Carles Pina i Estany <carles@pina.cat>
21083
21084 * font/font.c: Include `ascii.h'.
21085 (ASCII_BITMAP_SIZE): New macro.
21086 (ascii_font_glyph): Define.
21087 (ascii_glyph_lookup): New function.
21088 (grub_font_get_string_width): Change comment. If glyph not found, use
21089 ascii_glyph_lookup.
21090 (grub_font_get_glyph_with_fallback): If glyph not available returns
21091 ascii_glyph_lookup.
21092 * util/grub-mkfont.c (file_formats): New enum.
21093 (options): Add `ascii-bitmaps' new option.
21094 (usage): Add `asii-bitmaps' new option.
21095 (write_font_ascii_bitmap): New function.
21096 (write_font): Rename to ...
21097 (write_font_p2): ... this. Remove print_glyphs call.
21098 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21099 used. Call print_glyphs.
21100 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21101
211022010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21103
21104 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21105 (grub_bin2h_SOURCES): New variable.
21106 * util/bin2h.c: New file.
21107
915fc1b8
VS
211082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * include/multiboot.h: Resynced with spec.
21111 * include/multiboot2.h: Likewise.
21112 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21113 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21114
9444b678
RM
211152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21116
21117 * include/grub/term.h (grub_term_register_input,
21118 grub_term_register_output): Check return of terminal init()
21119 routines, and abort if errors are raised.
21120
21121 * commands/terminal.c: Update copyright year.
21122
cba98e8d
RM
211232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21124
21125 * commands/terminal.c (grub_cmd_terminal_input)
21126 (grub_cmd_terminal_output): Check return of terminal init()
21127 routines, and abort if errors are raised.
21128
6f7db5d6
VS
211292010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * include/grub/i386/bsd.h: Fix include pathes.
21132
262bff8d
VS
211332010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 Add missing *BSD copyright headers.
21136
21137 * include/grub/aout.h: Add BSD licence.
21138 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21139 * include/grub/i386/freebsd_linker.h: ... here,
21140 * include/grub/i386/freebsd_reboot.h: ... here,
21141 * include/grub/i386/netbsd_bootinfo.h: ... here,
21142 * include/grub/i386/netbsd_reboot.h: ... here,
21143 * include/grub/i386/openbsd_bootarg.h: ... here,
21144 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21145 licence to each file.
21146
b2cab848
RM
211472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21148
21149 * acinclude.m4: Remove `nop' assembly instruction; it's not
21150 implemented by all architectures.
21151
2cb6be4b
RM
211522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21153
21154 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21155 ELILO. This is no longer necessary.
21156
a2eaee15
BC
211572010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21158
21159 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21160
21161 * util/grub-script-check.c: grub-script-check tool.
21162 * conf/common.rmk: Make rules for grub-script-check.
21163
88d17012
RM
211642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21165
21166 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21167 spotting it back in 2008. Shame on me for forgetting he did.
21168
21169 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21170
8040619d
RM
211712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21172
21173 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21174 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21175 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21176 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21177 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21178 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21179
a0c2a0f6
RM
211802010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21181
21182 * include/grub/test.h: Add license header.
21183 * tests/example_functional_test.c: Likewise.
21184 * tests/example_unit_test.c: Likewise.
21185 * tests/lib/functional_test.c: Likewise.
21186 * tests/lib/test.c: Likewise.
21187 * tests/lib/unit_test.c: Likewise.
21188
b0b13907
VS
211892010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 Use flag-based instead of hook-based video mode selection and "auto"
21192 keyword.
21193
21194 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21195 (grub_video_set_mode): Changed prototype. All users updated.
21196 (grub_video_check_mode_flag): New inline function.
21197 * video/video.c (parse_modespec): New function.
21198 (grub_video_set_mode): Parse flags and keywords.
21199
ea379330 212002010-01-17 Carles Pina i Estany <carles@pina.cat>
21201
21202 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21203 fprintf call.
21204
e15c215e
FZ
212052010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21206
21207 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21208
409ae1c9 212092010-01-16 Carles Pina i Estany <carles@pina.cat>
21210
21211 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21212 string.
21213 * util/grub-emu.c (usage): Likewise.
21214 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21215 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21216 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21217 * util/i386/pc/grub-setup.c (usage): Likewise.
21218
70a14d3d 212192010-01-16 Carles Pina i Estany <carles@pina.cat>
21220
21221 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21222 the message.
21223 (grub_util_info): Likewise.
21224 (grub_util_error): Likewise.
21225 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21226 and/or new lines in `grub_util_warna', `grub_util_info',
21227 `grub_util_error' calls.
21228 * util/getroot.c: Likewise.
21229 * util/grub-editenv.c: Likewise.
21230 * util/grub-emu.c: Likewise.
21231 * util/grub-fstest.c: Likewise.
21232 * util/grub-mkdevicemap.c: Likewise.
21233 * util/grub-mkfont.c: Likewise.
21234 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21235 * util/grub-mkrelpath.c: Likewise.
21236 * util/grub-pe2elf.c: Likewise.
21237 * util/grub-probe.c: Likewise.
21238 * util/hostdisk.c: Likewise.
21239 * util/i386/efi/grub-mkimage.c: Likewise.
21240 * util/i386/pc/grub-mkimage.c: Likewise.
21241 * util/i386/pc/grub-setup.c: Likewise.
21242 * util/ieee1275/ofpath.c: Likewise.
21243 * util/mkisofs/eltorito.c: Likewise.
21244 * util/mkisofs/rock.c: Likewise.
21245 * util/mkisofs/write.c: Likewise.
21246 * util/raid.c: Likewise.
21247 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21248 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21249
a0b766fc
VS
212502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 Enable multiboot on non-pc.
21253
21254 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21255 multiboot.mod and multiboot2.mod to ...
21256 * conf/i386.rmk (pkglib_MODULES): ... here.
21257 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21258 Moved to ...
21259 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21260 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21261 Moved to ...
21262 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21263 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21264 Moved to ...
21265 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21266 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21267 Moved to ...
21268 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21269 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21270 relocator.mod.
21271 (ata_mod_SOURCES): Removed.
21272 (ata_mod_CFLAGS): Likewise.
21273 (ata_mod_LDFLAGS): Likewise.
21274 (relocator_mod_SOURCES): Removed.
21275 (relocator_mod_CFLAGS): Likewise.
21276 (relocator_mod_ASFLAGS): Likewise.
21277 (relocator_mod_LDFLAGS): Likewise.
21278 Include i386.mk.
21279 * include/grub/x86_64/multiboot.h: New file.
21280 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21281 Terminate EFI.
21282
884ade56
VS
212832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Video multiboot support.
21286
21287 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21288 New prototype.
21289 * include/multiboot.h: Resynced with multiboot specification.
21290 * include/multiboot2.h: Likewise.
21291 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21292 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21293 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21294 (HAS_VGA_TEXT): Likewise.
21295 (accepts_video): New variable.
21296 (grub_multiboot_set_accepts_video): New function.
21297 (grub_multiboot_get_mbi_size): Account for video structures.
21298 (set_video_mode): New function.
21299 (retrieve_video_parameters): Likewise.
21300 (grub_multiboot_make_mbi): Fill video fields.
21301
0d90e8a6
VS
213022010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 Video driver ids.
21305
21306 * include/grub/video.h (grub_video_driver_id): New type.
21307 (grub_video_adapter): New member 'id'. All users updated.
21308 (grub_video_get_driver_id): New proto.
21309 * video/video.c (grub_video_get_driver_id): New function.
21310
5c71db1b 213112010-01-14 Carles Pina i Estany <carles@pina.cat>
21312
21313 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21314 `var=val'.
21315
cca15b52 213162010-01-14 Carles Pina i Estany <carles@pina.cat>
21317
21318 * normal/cmdline.c (print_completion): Gettextizze.
21319
c586fbb2 213202001-01-14 Carles Pina i Estany <carles@pina.cat>
21321
21322 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21323
ba2f6848 213242010-01-14 Carles Pina i Estany <carles@pina.cat>
21325
21326 * gettext/gettext.c (grub_gettext_translate): Push and pop
21327 grub_errno.
21328 (grub_gettext_delete_list): Change comment style.
21329 * kern/err.c (grub_error): Gettextizze.
21330 (grub_fatal): Gettextizze.
21331
0a46429a
RM
213322010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21333
21334 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21335 (grub_linux16_real_boot): ... this.
21336 * kern/i386/loader.S: Likewise.
21337 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21338 (grub_linux16_boot): New function. Switches to text mode and calls
21339 grub_linux16_real_boot().
21340
21341 * loader/i386/bsd.c: Include `<grub/video.h>'.
21342 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21343 text mode before calling grub_unix_real_boot().
21344
21345 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21346 (grub_multiboot_boot): Switch to text mode before calling
21347 grub_relocator32_boot().
21348
21349 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21350 (grub_chainloader_boot): Switch to text mode before calling
21351 grub_chainloader_real_boot().
21352
d6f93a66
RM
213532010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213542010-01-05 Colin Watson <cjwatson@ubuntu.com>
21355
21356 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21357 non-empty value.
21358
213592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213602010-01-05 Colin Watson <cjwatson@ubuntu.com>
21361
21362 * util/grub.d/00_header.in: Define a "savedefault" function for use
21363 in menu entries.
21364 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21365
213662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213672010-01-05 Colin Watson <cjwatson@ubuntu.com>
21368
21369 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21370 saved_entry if boot_once is unset.
21371 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21372 previous saved entry (i.e. grub-reboot).
21373
213742009-12-08 Colin Watson <cjwatson@ubuntu.com>
21375
21376 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21377
213782009-12-08 Colin Watson <cjwatson@ubuntu.com>
21379
21380 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21381 `var=val'.
21382 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21383
213842009-12-08 Colin Watson <cjwatson@ubuntu.com>
21385
21386 * util/grub-reboot.in: Fix --version output.
21387 * util/grub-set-default.in: Likewise.
21388
213892009-12-08 Colin Watson <cjwatson@ubuntu.com>
21390
21391 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21392 blocks.
21393
213942009-12-08 Colin Watson <cjwatson@ubuntu.com>
21395
21396 * util/grub.d/00_header.in: Quote the value assigned to `default',
21397 in case it contains spaces.
21398
213992009-12-08 Colin Watson <cjwatson@ubuntu.com>
21400
21401 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21402 `save_default_entry' call from the macosx case to the linux case.
21403
214042009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
214052009-10-25 Colin Watson <cjwatson@ubuntu.com>
21406
21407 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21408 in `chosen' environment variable.
21409 * normal/menu_text.c (get_entry_number): Check if the variable
21410 matches the title of a menu entry.
21411 (run_menu): Pass menu to get_entry_number.
21412
21413 * util/grub-reboot.in: New file.
21414 * util/grub-set-default.in: New file.
21415 * conf/common.rmk (grub-reboot): New utility.
21416 (grub-set-default): New utility.
21417
21418 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21419 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21420 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21421 move it to `saved_entry' for the next boot. Load environment on
21422 initialisation.
21423 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21424 * util/grub.d/10_hurd.in: Likewise.
21425 * util/grub.d/10_linux.in (linux_entry): Likewise.
21426 * util/grub.d/10_windows.in: Likewise.
21427 * util/grub.d/30_os-prober.in: Likewise.
21428
21429 * util/grub-install.in: Create environment block.
21430 * util/i386/efi/grub-install.in: Likewise.
21431 * util/ieee1275/grub-install.in: Likewise.
21432 * util/sparc64/ieee1275/grub-install.in: Likewise.
21433
0934d184
BC
214342010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21435
21436 Unit testing framework for GRUB.
21437
21438 * Makefile.in: Test framework build rules for 'make check'.
21439 * conf/tests.rmk: Build rules for individual tests and framework.
21440
21441 * include/grub/test.h: Header file for whitebox tests.
21442 * tests/lib/functional_test.c: Framework support for whitebox
21443 functional tests.
21444 * tests/lib/test.c: Common whitebox testing code for unit and
21445 functional tests.
21446 * tests/lib/unit_test.c: Framework support for whitebox unit
21447 tests.
21448
21449 * tests/util/grub-shell-tester.in: Support utility for grub-script
21450 tests.
21451 * tests/util/grub-shell.in: Utility to execute grub-script
21452 commands in a Qemu instance.
21453
21454 * tests/example_functional_test.c: Example whitebox functional
21455 test.
21456 * tests/example_grub_script_test.in: Example grub-script test.
21457 * tests/example_scripted_test.in: Example scripted test.
21458 * tests/example_unit_test.c: Example whitebox unit test.
21459
9c4ffeeb
VS
214602010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21463 Add loader/i386/multiboot_mbi.c.
21464 (multiboot2_mod_SOURCES): Likewise.
21465 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21466 (multiboot2_mod_SOURCES): Likewise.
21467 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21468 (grub_multiboot_make_mbi): Likewise.
21469 (grub_multiboot_free_mbi): Likewise.
21470 (grub_multiboot_init_mbi): Likewise.
21471 (grub_multiboot_add_module): Likewise.
21472 (grub_multiboot_set_bootdev): Likewise.
21473 * loader/i386/multiboot.c (mbi): Removed.
21474 (mbi_dest): Likewise.
21475 (alloc_mbi): New variable.
21476 (grub_multiboot_payload_size): Removed. All users updated.
21477 (grub_multiboot_pure_size): New variable.
21478 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21479 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21480 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21481 (grub_fill_multiboot_mmap): Likewise.
21482 (grub_multiboot_get_bootdev): Likewise.
21483 (grub_multiboot): Use multiboot_mbi functions.
21484 * loader/i386/multiboot_mbi.c: New file.
21485
17383dfe
VS
214862010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21489 it would result in module crash.
21490
c1f28820
VS
214912010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21494 (grub_ofconsole_getwh): Split to ...
21495 (grub_ofconsole_getwh): ... this.
21496 (grub_ofconsole_dimensions): ...and this.
21497 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21498
58655a16
RM
214992010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21500
21501 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21502
10891398
VS
215032010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * loader/i386/pc/multiboot2.c: Removed stalled file.
21506
0b8a223c
VS
215072010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21510 Reported by: Grégoire Sutre
21511
92ab12b0
RM
215122010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21513
21514 * util/misc.c (canonicalize_file_name): New function.
21515 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21516 instead of realpath().
21517
a788afb6
CW
215182010-01-11 Colin Watson <cjwatson@ubuntu.com>
21519
21520 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21521 and make it clearer that it's optional. Based on confusion
21522 witnessed on IRC.
21523
ffa8e3d2
VS
215242010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21527 in premature implicit newline.
21528
e9060a9d
VS
215292010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21532 which resulted in garbled command line at the end of screen.
21533
f0d0c0b7
RM
215342010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21535
21536 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21537 initialization with similar approach as with other Linux loaders.
21538
0e60bae7
RM
215392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21540
21541 Fix i386-ieee1275 build.
21542
21543 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21544 and grub_term_height() for video_{width,height} initialization.
21545
215462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21547
21548 Fix grub-emu build.
21549
21550 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21551
cdb3f378
RM
215522010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
215532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21554
21555 Support for multiple terminals.
21556
21557 * Makefile.in (pkglib_DATA): terminal.lst.
21558 (terminal.lst): New target.
21559 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21560 (GRUB_MOD_INIT(handler)): Likewise.
21561 (GRUB_MOD_FINI(handler)): Likewise.
21562 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21563 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21564 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21565 (grub_cmd_sleep): Use grub_term_save_pos.
21566 * commands/terminal.c: New file.
21567 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21568 commands/terminal.c and lib/charset.c.
21569 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21570 (pkglib_MODULES): Add terminal.mod.
21571 (terminal_mod_SOURCES): New variable.
21572 (terminal_mod_CFLAGS): Likewise.
21573 (terminal_mod_LDFLAGS): Likewise.
21574 * genhandlerlist.sh: Don't handle terminals.
21575 * genmk.rb: Generate terminal-*.lst.
21576 * genterminallist.sh: New file.
21577 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21578 (grub_is_valid_utf8): Likewise.
21579 (grub_utf8_to_ucs4_alloc): Likewise.
21580 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21581 (grub_menu_register_viewer): Changed argument.
21582 (grub_menu_try_text): New proto.
21583 (grub_gfxmenu_try_hook): New declaration.
21584 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21585 (grub_menu_init_page): Additional argument term.
21586 (grub_normal_init_page): Likewise.
21587 (grub_cmdline_get): Arguments simplified.
21588 (grub_utf8_to_ucs4_alloc): Removed.
21589 (grub_print_ucs4): Additional argument term.
21590 (grub_getstringwidth): Likewise.
21591 (grub_print_message_indented): Likewise.
21592 (grub_menu_text_register_instances): New proto.
21593 (grub_show_menu): Likewise.
21594 (read_terminal_list): Likewise.
21595 (grub_set_more): Likewise.
21596 * include/grub/parser.h: Include handler.h.
21597 * include/grub/reader.h: Rewritten.
21598 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21599 (GRUB_TERM_WIDTH): Changed to function.
21600 (GRUB_TERM_HEIGHT): Likewise.
21601 (GRUB_TERM_BORDER_WIDTH): Likewise.
21602 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21603 (GRUB_TERM_NUM_ENTRIES): Likewise.
21604 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21605 (GRUB_TERM_CURSOR_X): Likewise.
21606 (grub_term_input_class): Likewise.
21607 (grub_term_output_class): Likewise.
21608 (grub_term_outputs_disabled): New declaration.
21609 (grub_term_inputs_disabled): Likewise.
21610 (grub_term_outputs): Likewise.
21611 (grub_term_inputs): Likewise.
21612 (grub_term_register_input): Rewritten.
21613 (grub_term_register_output): Likewise.
21614 (grub_term_unregister_input): Likewise.
21615 (grub_term_unregister_output): Likewise.
21616 (FOR_ACTIVE_TERM_INPUTS): New macro.
21617 (FOR_DISABLED_TERM_INPUTS): Likewise.
21618 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21619 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21620 * include/grub/terminfo.h: Add oterm argument to all protypes.
21621 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21622 Use grub_rescue_run.
21623 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21624 All users updated.
21625 * kern/reader.c: Removed. All users updated.
21626 * kern/rescue_reader.c (grub_rescue_init): Removed.
21627 (grub_rescue_reader): Likewise.
21628 (grub_register_rescue_reader): Likewise.
21629 (grub_rescue_run): New function based on kern/reader.c.
21630 * kern/term.c: Adapted for multiterm.
21631 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21632 (grub_is_valid_utf8): Likewise.
21633 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21634 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21635 right terminal.
21636 * loader/i386/linux.c (grub_linux_boot): Likewise.
21637 * normal/auth.c (grub_username_get): New function.
21638 (grub_auth_check_authentication): Use grub_username_get.
21639 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21640 * normal/color.c: Adapt for multiterm.
21641 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21642 (grub_normal_init_page): Additional argument term.
21643 (read_lists): Call read_terminal_lists.
21644 (grub_enter_normal_mode): Call grub_cmdline_run.
21645 Handle grub_normal_exit_level.
21646 (grub_cmd_normal): Make reentrant.
21647 (grub_cmd_normal_exit): New function.
21648 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21649 * normal/menu.c: Adapt for multiterm.
21650 * normal/menu_entry.c: Likewise.
21651 * normal/menu_text.c: Likewise.
21652 * normal/menu_viewer.c: Removed. All users updated.
21653 * normal/term.c: New file.
21654 * util/console.c: Change order of includes to workaround a bug in
21655 ncurses headers.
21656 * term/terminfo.c: New argument oterm on all exported functions.
21657 All users updated.
21658 * util/grub-editenv.c (grub_term_input_class): Removed.
21659 (grub_term_output_class): Likewise.
21660
1a064917
RM
216612010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21662
21663 Make loader output a bit more user-friendly.
21664
21665 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21666 is being loaded. Likewise for the Hurd.
21667
21668 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21669 that kernel of FreeBSD ${version} is being loaded.
21670
21671 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21672 grub_dprintf().
21673 (grub_cmd_initrd): Likewise.
21674 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21675 that Linux ${version} is being loaded. Likewise for initrd.
21676
5ce0a83a 216772010-01-09 Carles Pina i Estany <carles@pina.cat>
21678
21679 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21680
809bbfeb 216812010-01-08 Carles Pina i Estany <carles@pina.cat>
21682
21683 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21684 (GRUB_MOD_INIT): Gettextizze.
21685 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21686 (GRUB_MOD_INIT): Gettextizze.
21687 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21688 (grub_cmd_linux): Capitalise Linux.
21689 (GRUB_MOD_INIT): Gettextizze.
21690 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21691 (grub_cmd_linux): Capitalise Linux.
21692 (GRUB_MOD_INIT): Gettextizze.
21693 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21694 (grub_cmd_linux): Capitalise Linux.
21695 (GRUB_MOD_INIT): Gettextizze.
21696 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21697 (GRUB_MOD_INIT): Gettextizze.
21698 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21699 (grub_cmd_linux): Capitalise Linux.
21700 (GRUB_MOD_INIT): Gettextizze.
21701 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21702 (grub_cpu_xnu_init): Gettextizze.
21703 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21704 (GRUB_MOD_INIT): Gettextizze.
21705 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21706 (GRUB_MOD_INIT): Gettextizze.
21707 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21708 (grub_linux_load64): Capitalise Linux.
21709 (GRUB_MOD_INIT): Gettextizze.
21710 * loader/xnu.c: Include `<grub/i18n.h>'.
21711 (GRUB_MOD_INIT): Gettextizze.
21712 * po/POTFILES: Add `loader/efi/appleloader.c',
21713 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21714 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21715 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21716 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21717 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21718 and `loader/xnu.c'.
21719
b394b2ca
RM
217202010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21721
21722 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21723
217242010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21725
21726 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21727 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21728 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21729
bc8b32b3
RM
217302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21731
21732 Reset Multiboot 2 support. New loader implements the draft in
21733 /branches/multiboot2 and shares as much code as possible with the
21734 production Multiboot 1 implementation.
21735
21736 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21737 * loader/multiboot2.c: Likewise.
21738 * loader/i386/multiboot_helper.S: Likewise.
21739 * include/multiboot2.h: Replace with latest version from the draft
21740 in /branches/multiboot2.
21741
21742 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21743 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21744 and `loader/multiboot2.c'.
21745 (pkglib_MODULES): Add `multiboot2.mod'.
21746 (multiboot2_mod_SOURCES): New variable.
21747 (multiboot2_mod_LDFLAGS): Likewise.
21748 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21749
21750 * conf/i386-pc.rmk: Likewise.
21751
21752 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21753 (multiboot_mod_SOURCES): Remove variable.
21754 (multiboot_mod_LDFLAGS): Likewise.
21755 (multiboot_mod_CFLAGS): Likewise.
21756
21757 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21758 `<multiboot2.h>' instead of `<multiboot.h>'.
21759 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21760 (MULTIBOOT_HEADER_MAGIC): New macros.
21761
21762 * loader/multiboot_loader.c (module_version_status): Remove variable.
21763 (find_multi_boot2_header): Remove function.
21764 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21765 logic. Always check for the Multiboot version we're compiling for.
21766 (grub_cmd_module_loader): Likewise.
21767 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21768 command instead of `multiboot'.
21769
5d2c52b8
RM
217702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21771
21772 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21773 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21774 all users.
21775
53108d92
RM
217762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
217772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 Fix breakage introduced with previous commit.
21780
21781 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21782 commands.
21783 * normal/handler.c (read_handler_list): Revert part of previous commit
21784 affecting this file.
21785 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21786 (grub_normal_execute): ... here.
21787
e2e936b2
RM
217882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21789
21790 Merge prefix-redefinition-fix branch.
21791
21792 * normal/autofs.c (read_fs_list): Make function capable of being
21793 run multiple times, gracefuly replacing the previous data
21794 structures.
21795 * normal/dyncmd.c (read_command_list): Likewise.
21796 * normal/handler.c (read_handler_list): Likewise.
21797 * normal/main.c (read_lists): New function. Calls all the
21798 list reading functions.
21799 (grub_normal_execute): Use read_lists() instead of calling all
21800 list reading functions explicitly. Register read_lists() as a
21801 variable hook attached to ${prefix}.
21802
607a3701
VS
218032010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21804
21805 Merge crypto branch.
21806
21807 * Makefile.in (pkglib_DATA): Add crypto.lst.
21808 (crypto.lst): New target.
21809 * commands/hashsum.c: New file.
21810 * commands/password.c (check_password): Use grub_crypto_memcmp.
21811 * commands/password_pbkdf2.c: New file.
21812 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21813 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21814 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21815 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21816 -I$(srcdir)/lib/libgcrypt_wrap.
21817 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21818 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21819 password_pbkdf2.mod.
21820 (crypto_mod_SOURCES): New variable.
21821 (crypto_mod_CFLAGS): Likewise.
21822 (crypto_mod_LDFLAGS): Likewise.
21823 (hashsum_mod_SOURCES): New variable.
21824 (hashsum_mod_CFLAGS): Likewise.
21825 (hashsum_mod_LDFLAGS): Likewise.
21826 (pbkdf2_mod_SOURCES): New variable.
21827 (pbkdf2_mod_CFLAGS): Likewise.
21828 (pbkdf2_mod_LDFLAGS): Likewise.
21829 (password_pbkdf2_mod_SOURCES): New variable.
21830 (password_pbkdf2_mod_CFLAGS): Likewise.
21831 (password_pbkdf2_mod_LDFLAGS): Likewise.
21832 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21833 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21834 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21835 Include conf/gcry.rmk.
21836 * include/grub/auth.h: Rewritten.
21837 * include/grub/crypto.h: New file.
21838 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21839 * include/grub/normal.h (read_crypto_list): New prototype.
21840 * lib/crypto.c: New file.
21841 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21842 * lib/pbkdf2.c: Likewise.
21843 * normal/auth.c (grub_auth_strcmp): Removed.
21844 (grub_iswordseparator): Likewise.
21845 (grub_auth_strword): Likewise.
21846 (is_authenticated): Use grub_strword.
21847 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21848 and grub_strword. Pass entered password to authentication callback.
21849 * normal/crypto.c: New file.
21850 * normal/main.c: Call read_crypto_list.
21851 * util/grub-mkpasswd-pbkdf2.c: New file.
21852 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21853
42841caa
VS
218542010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Fix descent and ascent calculation.
21857
21858 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21859 (options): New option "asce".
21860 (usage): Likewise.
21861 (add_char): Ignore invalid glyphs for descent calculation.
21862 Calculate ascent from actual content.
21863 (print_glyphs): Use 'asce'.
21864 (write_font): Likewise. Allow ascent override.
21865 (main): Handle "asce" option.
21866
e7730de7 218672010-01-06 Carles Pina i Estany <carles@pina.cat>
21868
21869 * kern/err.c: Include `<grub/i18n.h>'.
21870 (grub_print_error): Add full stop. Gettextizze.
21871 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21872 (grub_bsd_load_elf): Capitalise ELF.
21873 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21874 (grub_cmd_freebsd_module): Likewise.
21875 (grub_cmd_freebsd_module_elf): Likewise.
21876 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21877
40e3a41f 218782010-01-06 Carles Pina i Estany <carles@pina.cat>
21879
21880 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21881 * commands/search_file.c (HELP_MESSAGE): New macro.
21882 * commands/search_label.c (HELP_MESSAGE): Likewise.
21883 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21884 * po/POTFILES: Add `commands/search_file.c',
21885 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21886 `commands/search.c'.
21887
83507e68
RM
218882010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21889
21890 * config.rpath: Update from Gnulib.
21891
465c787b
YB
218922010-01-05 Yves Blusseau <blusseau@zetam.org>
21893
21894 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21895
6581dd3a
YB
218962010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21897
21898 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21899
3bff18c5
CW
219002010-01-05 Colin Watson <cjwatson@ubuntu.com>
21901
21902 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21903 arguments to fread so that we get a return value in bytes, rather
21904 than something that will normally be rounded down to 0.
21905 Adjust error handling to avoid producing garbage when size_t is not
21906 the same size as long long.
21907
a1368118
CW
219082010-01-05 Colin Watson <cjwatson@ubuntu.com>
21909
21910 * util/mkisofs/write.c (padblock_write): Check return value of
21911 fread.
21912
7c302978
RM
219132010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21914
21915 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21916 floppy images now.
21917
21918 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21919
e33ace06
RM
219202010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21921
21922 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21923 instead of manual alignment.
21924 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21925 verbose). Avoid attempts to read past end of the device
21926 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21927 but GRUB_DISK_CACHE_SIZE may exceed that).
21928
4b856776
RM
219292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21930
21931 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21932 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21933 it to upper layer.
21934
52c2d97f
VS
219352010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21938 New constant.
21939 (grub_efi_piwg_device_path): New structure
21940 (grub_efi_piwg_device_path_t): New type.
21941 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21942 (devpath_1): Transform to a structure. All users updated.
21943 (devpath_2): Likewise.
21944 (devpath_3): Likewise.
21945 (devpath_4): Likewise.
21946 (devpath_5): Likewise.
21947
98ff6a54
VS
219482010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21949
21950 * loader/efi/appleloader.c: Restored. Update all users.
21951
3a73dcb6
RM
219522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21953
21954 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21955
21956 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21957 (struct boot_blocklist): Move from here ...
21958 * include/grub/i386/pc/boot.h [ASM_FILE]
21959 (struct grub_boot_blocklist): ... to here. Update all users.
21960 (setup): Only initialize `start' member of `first_block'
21961 structure. Add assert() calls to verify the other members.
21962
21963 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21964 (generate_image): Fix broken blocklist length initialization.
21965 Add assert() call to verify blocklist `segment' field.
21966
ab0eeb0c
RM
219672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21968
21969 * loader/efi/appleloader.c: Remove. Update all users.
21970
58bc8bd5
RM
219712010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21972
21973 * boot/i386/pc/boot.S: Update copyright year.
21974 * boot/i386/pc/cdboot.S: Likewise.
21975 * boot/i386/pc/diskboot.S: Likewise.
21976 * boot/i386/pc/lnxboot.S: Likewise.
21977 * boot/i386/pc/pxeboot.S: Likewise.
21978 * bus/pci.c: Likewise.
21979 * commands/cmp.c: Likewise.
21980 * commands/help.c: Likewise.
21981 * commands/hexdump.c: Likewise.
21982 * commands/i386/pc/halt.c: Likewise.
21983 * commands/i386/pc/play.c: Likewise.
21984 * commands/i386/pc/vbeinfo.c: Likewise.
21985 * commands/ls.c: Likewise.
21986 * commands/test.c: Likewise.
21987 * disk/dmraid_nvidia.c: Likewise.
21988 * disk/i386/pc/biosdisk.c: Likewise.
21989 * disk/ieee1275/nand.c: Likewise.
21990 * disk/ieee1275/ofdisk.c: Likewise.
21991 * disk/lvm.c: Likewise.
21992 * disk/raid.c: Likewise.
21993 * disk/raid6_recover.c: Likewise.
21994 * disk/scsi.c: Likewise.
21995 * fs/affs.c: Likewise.
21996 * fs/cpio.c: Likewise.
21997 * fs/ext2.c: Likewise.
21998 * fs/hfs.c: Likewise.
21999 * fs/iso9660.c: Likewise.
22000 * fs/ntfs.c: Likewise.
22001 * fs/sfs.c: Likewise.
22002 * fs/udf.c: Likewise.
22003 * fs/ufs.c: Likewise.
22004 * fs/xfs.c: Likewise.
22005 * gencmdlist.sh: Likewise.
22006 * genmk.rb: Likewise.
22007 * include/grub/disk.h: Likewise.
22008 * include/grub/efi/api.h: Likewise.
22009 * include/grub/efi/efi.h: Likewise.
22010 * include/grub/efi/pe32.h: Likewise.
22011 * include/grub/elf.h: Likewise.
22012 * include/grub/fs.h: Likewise.
22013 * include/grub/i386/at_keyboard.h: Likewise.
22014 * include/grub/i386/pc/memory.h: Likewise.
22015 * include/grub/i386/pc/vbe.h: Likewise.
22016 * include/grub/i386/pci.h: Likewise.
22017 * include/grub/i386/tsc.h: Likewise.
22018 * include/grub/ieee1275/ieee1275.h: Likewise.
22019 * include/grub/ntfs.h: Likewise.
22020 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22021 * include/grub/sparc64/libgcc.h: Likewise.
22022 * include/grub/symbol.h: Likewise.
22023 * include/grub/types.h: Likewise.
22024 * include/multiboot2.h: Likewise.
22025 * io/gzio.c: Likewise.
22026 * kern/device.c: Likewise.
22027 * kern/disk.c: Likewise.
22028 * kern/efi/efi.c: Likewise.
22029 * kern/efi/mm.c: Likewise.
22030 * kern/elf.c: Likewise.
22031 * kern/file.c: Likewise.
22032 * kern/i386/dl.c: Likewise.
22033 * kern/i386/pc/init.c: Likewise.
22034 * kern/i386/pc/startup.S: Likewise.
22035 * kern/ieee1275/ieee1275.c: Likewise.
22036 * kern/ieee1275/init.c: Likewise.
22037 * kern/main.c: Likewise.
22038 * kern/mm.c: Likewise.
22039 * kern/powerpc/dl.c: Likewise.
22040 * kern/sparc64/dl.c: Likewise.
22041 * kern/x86_64/dl.c: Likewise.
22042 * lib/hexdump.c: Likewise.
22043 * loader/efi/appleloader.c: Likewise.
22044 * loader/i386/ieee1275/linux.c: Likewise.
22045 * loader/i386/pc/chainloader.c: Likewise.
22046 * loader/i386/pc/linux.c: Likewise.
22047 * loader/i386/pc/multiboot2.c: Likewise.
22048 * loader/ieee1275/multiboot2.c: Likewise.
22049 * loader/multiboot2.c: Likewise.
22050 * loader/multiboot_loader.c: Likewise.
22051 * loader/powerpc/ieee1275/linux.c: Likewise.
22052 * normal/completion.c: Likewise.
22053 * normal/menu_entry.c: Likewise.
22054 * partmap/apple.c: Likewise.
22055 * util/grub.d/10_hurd.in: Likewise.
22056 * util/hostfs.c: Likewise.
22057 * video/readers/png.c: Likewise.
22058
e2d70b5c
CW
220592010-01-03 Colin Watson <cjwatson@ubuntu.com>
22060
22061 * include/grub/misc.h (GNUC_PREREQ): New macro.
22062 (ATTRIBUTE_ERROR): New macro.
22063 * include/grub/list.h (grub_bad_type_cast_real): Use
22064 ATTRIBUTE_ERROR.
22065
a173283f 220662010-01-03 Carles Pina i Estany <carles@pina.cat>
22067
22068 * normal/menu_text.c (print_message): Change messages.
22069
7fa7ff74 220702010-01-03 Carles Pina i Estany <carles@pina.cat>
22071
22072 * normal/menu_entry.c (store_completion): Gettextizze.
22073
136d24f6 220742010-01-03 Carles Pina i Estany <carles@pina.cat>
22075
22076 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22077
f936862e 220782010-01-03 Carles Pina i Estany <carles@pina.cat>
22079
22080 * po/POTFILES: Sort correctly.
22081
29c44ad1 220822010-01-03 Carles Pina i Estany <carles@pina.cat>
22083
22084 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22085 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22086 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22087 full stop.
22088 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22089 summary. Gettextizze the strings.
22090 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22091 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22092 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22093 full stop.
22094 (GRUB_MOD_INIT): Remove command name from summary.
22095 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22096 summary.
22097 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22098 * term/i386/pc/serial.c (options): Add full stops.
22099 (GRUB_MOD_INIT): Remove command name from the summary.
22100
77a79592 221012010-01-03 Carles Pina i Estany <carles@pina.cat>
22102
22103 * commands/acpi.c: Gettextizze help strings and/or options. Include
22104 `grub/i18n.h' if needed.
22105 * commands/blocklist.c: Likewise.
22106 * commands/boot.c: Likewise.
22107 * commands/cat.c: Likewise.
22108 * commands/cmp.c: Likewise.
22109 * commands/configfile.c: Likewise.
22110 * commands/crc.c: Likewise.
22111 * commands/date.c: Likewise.
22112 * commands/echo.c: Likewise.
22113 * commands/efi/fixvideo.c: Likewise.
22114 * commands/efi/loadbios.c: Likewise.
22115 * commands/gptsync.c: Likewise.
22116 * commands/halt.c: Likewise.
22117 * commands/handler.c: Likewise.
22118 * commands/hdparm.c: Likewise.
22119 * commands/hexdump.c: Likewise.
22120 * commands/i386/cpuid.c: Likewise.
22121 * commands/i386/pc/drivemap.c: Likewise.
22122 * commands/i386/pc/halt.c: Likewise.
22123 * commands/i386/pc/pxecmd.c: Likewise.
22124 * commands/i386/pc/vbeinfo.c: Likewise.
22125 * commands/i386/pc/vbetest.c: Likewise.
22126 * commands/ieee1275/suspend.c: Likewise.
22127 * commands/keystatus.c: Likewise.
22128 * commands/loadenv.c: Likewise.
22129 * commands/ls.c: Likewise.
22130 * commands/lsmmap.c: Likewise.
22131 * commands/lspci.c: Likewise.
22132 * commands/memrw.c: Likewise.
22133 * commands/minicmd.c: Likewise.
22134 * commands/parttool.c: Likewise.
22135 * commands/password.c: Likewise.
22136 * commands/probe.c: Likewise.
22137 * commands/read.c: Likewise.
22138 * commands/reboot.c: Likewise.
22139 * commands/search.c: Likewise.
22140 * commands/sleep.c: Likewise.
22141 * commands/test.c: Likewise.
22142 * commands/true.c: Likewise.
22143 * commands/usbtest.c: Likewise.
22144 * commands/videotest.c: Likewise.
22145 * commands/xnu_uuid.c: Likewise.
22146 * disk/loopback.c: Likewise.
22147 * hello/hello.c: Likewise.
22148 * loader/i386/bsd.c: Likewise.
22149 * term/i386/pc/serial.c: Likewise.
22150 * po/POTFILES: Add new files.
22151
da8d5c53
CW
221522010-01-02 Colin Watson <cjwatson@ubuntu.com>
22153
22154 * term/i386/pc/at_keyboard.c
22155 (keyboard_controller_wait_untill_ready): Rename to ...
22156 (keyboard_controller_wait_until_ready): ... this. Update all users.
22157
33937904 221582010-01-01 Carles Pina i Estany <carles@pina.cat>
22159
22160 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22161 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22162 string using string width.
22163 * normal/menu_text.c (grub_print_message_indented): Use
22164 grub_print_spaces and not print_spaces.
22165 (print_timeout): Likewise.
22166 (print_spaces): Move to...
22167 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22168
3fd3b8d8
RM
221692010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22170
22171 Import from Gnulib.
22172
22173 * gnulib/getdelim.c: New file.
22174 * gnulib/getline.c: Likewise.
22175
33433555
VS
221762009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22177
22178 * include/grub/list.h (grub_assert_fail): Removed.
22179 (grub_bad_type_cast_real): New function.
22180 (grub_bad_type_cast): New macro.
22181 (GRUB_AS_LIST): Use grub_bad_type_cast.
22182 (GRUB_AS_LIST_P): Likewise.
e44721e8 22183 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22184 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22185 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22186 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22187 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22188
f5a51306
VS
221892009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22192 Fix syntax error.
22193
90d1e879
RM
221942009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22195
22196 * configure.ac: Check for TARGET_CFLAGS initialization before we
22197 initialize it ourselves (sigh).
22198 Move a few modifications to TARGET_CFLAGS to be unconditional
22199 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22200 eh_frame)
22201
22202 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22203 * term/i386/pc/at_keyboard.c
22204 (keyboard_controller_wait_untill_ready): Likewise.
22205 (keyboard_controller_led): Rename `led_status' paramter to avoid
22206 name conflict.
22207
465b5a81 222082009-12-28 Carles Pina i Estany <carles@pina.cat>
22209
22210 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22211 quotes.
22212
c181849b
VS
222132009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22216
9c8739a4
VS
222172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * normal/menu_text.c (grub_print_message_indented): Prevent
22220 past-the-end-of-array dereference.
22221
3e74249c
VS
222222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22225 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22226
64fd18ed 222272009-12-27 Carles Pina i Estany <carles@pina.cat>
22228
22229 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22230 * normal/main.c (grub_normal_read_line): Remove a space from the
22231 default prompt.
22232
714af9b9 222332009-12-27 Carles Pina i Estany <carles@pina.cat>
22234
22235 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22236 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22237 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22238 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22239 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22240 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22241 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22242
82f3e412 222432009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22244
22245 * video/readers/jpeg.c (cmd): Declare.
22246 (grub_cmd_jpegtest): Use `grub_command_t' type.
22247 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22248 Assign to `cmd'.
22249 (GRUB_MOD_FINI): Use `cmd' to unregister.
22250 * video/readers/png.c (cmd): Declare.
22251 (grub_cmd_pngtest): Use `grub_command_t' type.
22252 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22253 Assign to `cmd'.
22254 (GRUB_MOD_FINI): Use `cmd' to unregister.
22255 * video/readers/tga.c (cmd): Declare.
22256 (grub_cmd_tgatest): Use `grub_command_t' type.
22257 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22258 Assign to `cmd'.
22259 (GRUB_MOD_FINI): Use `cmd' to unregister.
22260
82f3e412 222612009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22262
22263 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22264 stops.
22265 * kern/corecmd.c (grub_register_core_commands): Likewise.
22266 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22267 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22268 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22269 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22270 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22271 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22272 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22273 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22274 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22275 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22276 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22277 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22278 * normal/handler.c (insert_handler): Likewise.
22279 * normal/main.c (GRUB_MOD_INIT): Likewise.
22280 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22281
fdcdbb66 222822009-12-26 Carles Pina i Estany <carles@pina.cat>
22283
22284 * commands/help.c (grub_cmd_help): Print the command name before the
22285 summary.
22286 (GRUB_MOD_INIT): Remove command name from the summary.
22287 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22288 string as summary.
fdcdbb66 22289 * lib/arg.c (find_long): Print the command name before the summary.
22290 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22291 summary.
22292 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22293 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22294 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22295 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22296 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22297 * commands/date.c (GRUB_MOD_INIT): Likewise.
22298 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22299 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22300 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22301 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22302 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22303 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22304 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22305 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22306 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22307 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22308 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22309 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22310 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22311 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22312 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22313 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22314 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22315 * commands/password.c (GRUB_MOD_INIT): Likewise.
22316 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22317 * commands/read.c (GRUB_MOD_INIT): Likewise.
22318 * commands/search.c (GRUB_MOD_INIT): Likewise.
22319 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22320 * commands/test.c (GRUB_MOD_INIT): Likewise.
22321 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22322 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22323 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22324 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22325 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22326 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22327 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22328 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22329 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22330 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22331 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22332 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22333 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22334 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22335
9c288be2
VS
223362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 Use search command for preliminar UUID search.
22339
22340 * commands/search.c: Split into ...
22341 * commands/search_wrap.c: ...this
22342 * commands/search.c: ...and this.
22343 * commands/search_file.c: New file.
22344 * commands/search_label.c: New file.
22345 * commands/search_uuid.c: New file.
22346 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22347 Add commands/search_wrap.c, commands/search_file.c,
22348 commands/search_label.c and commands/search_uuid.c.
22349 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22350 (search_mod_SOURCES): Set to commands/search_wrap.c.
22351 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22352 search_label.mod.
22353 (search_fs_file_mod_SOURCES): New variable.
22354 (search_fs_file_mod_CFLAGS): Likewise.
22355 (search_fs_file_mod_LDFLAGS): Likewise.
22356 (search_label_mod_SOURCES): Likewise.
22357 (search_label_mod_CFLAGS): Likewise.
22358 (search_label_mod_LDFLAGS): Likewise.
22359 (search_fs_uuid_mod_SOURCES): New variable.
22360 (search_fs_uuid_mod_CFLAGS): Likewise.
22361 (search_fs_uuid_mod_LDFLAGS): Likewise.
22362 (fs_file_mod_SOURCES): Removed.
22363 (fs_file_mod_CFLAGS): Likewise.
22364 (fs_file_mod_LDFLAGS): Likewise.
22365 (fs_uuid_mod_SOURCES): Removed.
22366 (fs_uuid_mod_CFLAGS): Likewise.
22367 (fs_uuid_mod_LDFLAGS): Likewise.
22368 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22369 Set to util/grub-install.in.
22370 * disk/fs_file.c: Removed.
22371 * disk/fs_uuid.c: Likewise.
22372 * include/grub/search.h: New file.
22373 * util/grub-install.in: Handle sparc64.
22374 Create and use load.cfg.
22375 * util/sparc64/ieee1275/grub-install.in: Removed.
22376
db943399
VS
223772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22380 Ignore return status if CF is cleared.
22381 (grub_biosdisk_get_diskinfo_standard): Likewise.
22382
3fdae612
RM
223832009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22384
22385 * term/i386/pc/at_keyboard.c
22386 (keyboard_controller_wait_untill_ready): New function.
22387 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22388 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22389 for keyboard polling, rather than duplicate the same loop. This
22390 saves a few bytes in code size.
22391
7ebaa2b4
VS
223922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 Support for (pxe[:server[:gateway]]) syntax and
22395 use environment variable for PXE.
22396
22397 * commands/i386/pc/pxecmd.c (options): Removed.
22398 (print_ip): Removed.
22399 (grub_cmd_pxe): Removed
22400 (grub_cmd_pxe_unload): New function.
22401 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22402 (grub_pxe_your_ip): Made static.
22403 (grub_pxe_default_server_ip): Likewise.
22404 (grub_pxe_default_gateway_ip): Likewise.
22405 (grub_pxe_blksize): Likewise.
22406 (parse_ip): New function.
22407 (grub_pxe_open): Support server and gateway specification.
22408 (grub_pxe_close): Free disk->data.
22409 (grub_pxefs_open): Use disk->data.
22410 (grub_pxefs_read): Likewise.
22411 (grub_env_write_readonly): New function.
22412 (set_mac_env): Likewise.
22413 (set_env_limn_ro): Likewise.
22414 (parse_dhcp_vendor): Likewise.
22415 (grub_pxe_detect): Set the environment variables.
22416 (set_ip_env): New function.
22417 (write_ip_env): Likewise.
22418 (grub_env_write_pxe_default_server): Likewise.
22419 (grub_env_write_pxe_default_gateway): Likewise.
22420 (grub_env_write_pxe_blocksize): Likewise.
22421 (GRUB_MOD_INIT(pxe)): Set environment variables.
22422 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22423 (grub_pxe_mac_addr_t): ... this. All users updated.
22424 (grub_pxe_your_ip): Removed.
22425 (grub_pxe_server_ip): Likewise.
22426 (grub_pxe_gateway_ip): Likewise.
22427 (grub_pxe_blksize): Likewise.
22428
ec5f98ab 224292009-12-25 Carles Pina i Estany <carles@pina.cat>
22430
22431 * commands/help.c: Include `<grub/i18n.h>'.
22432 (grub_cmd_help): Gettextizze.
22433 (GRUB_MOD_INIT): Likewise.
22434 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22435 (GRUB_MOD_INIT): Gettextizze.
22436 * commands/search.c: Include `<grub/i18n.h>'.
22437 (options): Gettextizze.
22438 (GRUB_MOD_INIT): Gettextizze.
22439 * lib/arg.c: Include `<grub/i18n.h>'.
22440 (help_options): Gettextizze.
22441 (find_long): Likewise.
22442 (grub_arg_show_help): Likewise.
22443 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22444 (read_command_list): Gettextizze.
22445 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22446 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22447
22815526
RM
224482009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22449
22450 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22451 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22452 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22453 (led_status): New variable.
22454 (keyboard_controller_led): New function.
22455 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22456 update led status for caps lock, num lock and scroll lock.
22457
0ad46fd7
FZ
224582009-12-25 Felix Zielcke <fzielcke@z-51.de>
22459
22460 * util/hostdisk.c (open_device): Fix a comment.
22461
d0e158c2
RM
224622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22463
22464 * util/grub-install.in (host_os): New variable.
22465 * util/i386/efi/grub-install.in (host_os): Likewise.
22466
401c0ad6
RM
224672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22468
22469 * util/mkisofs/write.c (padblock_write): Abort when given an
22470 excedingly large embed image, instead of silently truncating it.
22471
d14d3370
RM
224722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22473
22474 * include/multiboot.h: Indentation fixes.
22475
eeed10b4
RM
224762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22477
22478 * include/multiboot.h (struct multiboot_aout_symbol_table)
22479 (struct multiboot_elf_section_header_table): New structure
22480 declarations (stolen from GRUB Legacy).
22481 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22482 table information.
22483
22484 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22485 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22486 type aliases.
22487
681c70ab
RM
224882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * include/multiboot.h: Make comments src2texi-friendly.
22491
e4d47d8d
RM
224922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22493
22494 For consistency with [multiboot]/docs/boot.S.
22495
22496 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22497 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22498 (MULTIBOOT_MAGIC2): Rename from this ...
22499 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22500
a0b70bda
RM
225012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22502
22503 * include/multiboot.h: Remove `<grub/types.h>'.
22504 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22505 types. Update all users.
22506
61ba42be 225072009-12-25 Carles Pina i Estany <carles@pina.cat>
22508
22509 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22510 `couldn't' and `can not' by `cannot'.
22511 * commands/i386/pc/drivemap.c: Likewise.
22512 * disk/ata.c: Likewise.
22513 * disk/ieee1275/nand.c: Likewise.
22514 * fs/affs.c: Likewise.
22515 * fs/fat.c: Likewise.
22516 * fs/hfs.c: Likewise.
22517 * fs/hfsplus.c: Likewise.
22518 * fs/iso9660.c: Likewise.
22519 * fs/jfs.c: Likewise.
22520 * fs/minix.c: Likewise.
22521 * fs/reiserfs.c: Likewise.
22522 * fs/sfs.c: Likewise.
22523 * fs/udf.c: Likewise.
22524 * fs/ufs.c: Likewise.
22525 * fs/xfs.c: Likewise.
22526 * loader/powerpc/ieee1275/linux.c: Likewise.
22527 * loader/sparc64/ieee1275/linux.c: Likewise.
22528 * util/grub-probe.c: Likewise.
22529 * util/misc.c: Likewise.
22530
7fd0baee 225312009-12-24 Carles Pina i Estany <carles@pina.cat>
22532
22533 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22534 grub_errno calls.
22535 * commands/acpi.c: Likewise.
22536 * commands/blocklist.c: Likewise.
22537 * commands/efi/loadbios.c: Likewise.
22538 * commands/i386/pc/drivemap.c: Likewise.
22539 * commands/loadenv.c: Likewise.
22540 * commands/memrw.c: Likewise.
22541 * commands/password.c: Likewise.
22542 * commands/videotest.c: Likewise.
22543 * disk/ata.c: Likewise.
22544 * disk/ata_pthru.c: Likewise.
22545 * disk/dmraid_nvidia.c: Likewise.
22546 * disk/ieee1275/nand.c: Likewise.
22547 * disk/ieee1275/ofdisk.c: Likewise.
22548 * disk/loopback.c: Likewise.
22549 * disk/lvm.c: Likewise.
22550 * disk/mdraid_linux.c: Likewise.
22551 * disk/raid.c: Likewise.
22552 * disk/raid6_recover.c: Likewise.
22553 * disk/scsi.c: Likewise.
22554 * efiemu/main.c: Likewise.
22555 * efiemu/mm.c: Likewise.
22556 * efiemu/pnvram.c: Likewise.
22557 * efiemu/symbols.c: Likewise.
22558 * font/font.c: Likewise.
22559 * fs/cpio.c: Likewise.
22560 * fs/hfsplus.c: Likewise.
22561 * fs/iso9660.c: Likewise.
22562 * fs/jfs.c: Likewise.
22563 * fs/minix.c: Likewise.
22564 * fs/ntfs.c: Likewise.
22565 * fs/ntfscomp.c: Likewise.
22566 * fs/reiserfs.c: Likewise.
22567 * fs/ufs.c: Likewise.
22568 * fs/xfs.c: Likewise.
22569 * gettext/gettext.c: Likewise.
22570 * include/grub/auth.h: Likewise.
22571 * kern/elf.c: Likewise.
22572 * kern/file.c: Likewise.
22573 * kern/ieee1275/init.c: Likewise.
22574 * kern/ieee1275/mmap.c: Likewise.
22575 * kern/ieee1275/openfw.c: Likewise.
22576 * kern/powerpc/dl.c: Likewise.
22577 * kern/sparc64/dl.c: Likewise.
22578 * lib/arg.c: Likewise.
22579 * loader/i386/bsd.c: Likewise.
22580 * loader/i386/bsdXX.c: Likewise.
22581 * loader/i386/efi/linux.c: Likewise.
22582 * loader/i386/efi/xnu.c: Likewise.
22583 * loader/i386/ieee1275/linux.c: Likewise.
22584 * loader/i386/linux.c: Likewise.
22585 * loader/i386/multiboot.c: Likewise.
22586 * loader/i386/pc/linux.c: Likewise.
22587 * loader/i386/pc/multiboot2.c: Likewise.
22588 * loader/i386/xnu.c: Likewise.
22589 * loader/ieee1275/multiboot2.c: Likewise.
22590 * loader/macho.c: Likewise.
22591 * loader/machoXX.c: Likewise.
22592 * loader/multiboot2.c: Likewise.
22593 * loader/multiboot_loader.c: Likewise.
22594 * loader/powerpc/ieee1275/linux.c: Likewise.
22595 * loader/sparc64/ieee1275/linux.c: Likewise.
22596 * loader/xnu.c: Likewise.
22597 * loader/xnu_resume.c: Likewise.
22598 * mmap/i386/pc/mmap.c: Likewise.
22599 * normal/menu_viewer.c: Likewise.
22600 * partmap/acorn.c: Likewise.
22601 * partmap/amiga.c: Likewise.
22602 * partmap/apple.c: Likewise.
22603 * script/lexer.c: Likewise.
22604 * term/gfxterm.c: Likewise.
22605 * term/i386/pc/serial.c: Likewise.
22606 * term/i386/pc/vga.c: Likewise.
22607 * term/ieee1275/ofconsole.c: Likewise.
22608 * term/terminfo.c: Likewise.
22609 * video/bitmap.c: Likewise.
22610 * video/efi_gop.c: Likewise.
22611 * video/efi_uga.c: Likewise.
22612 * video/fb/video_fb.c: Likewise.
22613 * video/i386/pc/vbe.c: Likewise.
22614 * video/readers/tga.c: Likewise.
22615 * video/video.c: Likewise.
22616
0ad46fd7 226172009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22618
22619 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22620 * commands/lspci.c: Likewise.
22621 * commands/probe.c: Likewise.
22622 * commands/xnu_uuid.c: Likewise.
22623 * conf/i386-coreboot.rmk: Likewise.
22624 * conf/i386-efi.rmk: Likewise.
22625 * conf/i386-ieee1275.rmk: Likewise.
22626 * conf/i386-pc.rmk: Likewise.
22627 * conf/powerpc-ieee1275.rmk: Likewise.
22628 * conf/sparc64-ieee1275.rmk: Likewise.
22629 * conf/x86_64-efi.rmk: Likewise.
22630 * fs/i386/pc/pxe.c: Likewise.
22631 * gettext/gettext.c: Likewise.
22632 * include/grub/efi/graphics_output.h: Likewise.
22633 * include/grub/i386/pc/memory.h: Likewise.
22634 * kern/env.c: Likewise.
22635 * kern/i386/qemu/startup.S: Likewise.
22636 * lib/i386/pc/biosnum.c: Likewise.
22637 * lib/i386/relocator.c: Likewise.
22638 * lib/i386/relocator_asm.S: Likewise.
22639 * lib/relocator.c: Likewise.
22640 * loader/i386/bsd.c: Likewise.
22641 * loader/i386/multiboot.c: Likewise.
22642 * loader/i386/pc/chainloader.c: Likewise.
22643 * loader/i386/xnu.c: Likewise.
22644 * loader/xnu.c: Likewise.
22645 * normal/main.c: Likewise.
22646 * normal/menu_text.c: Likewise.
22647 * util/getroot.c: Likewise.
22648 * util/grub-mkconfig_lib.in: Likewise.
22649 * util/grub.d/00_header.in: Likewise.
22650 * util/i386/pc/grub-mkimage.c: Likewise.
22651 * util/mkisofs/eltorito.c: Likewise.
22652 * util/mkisofs/exclude.h: Likewise.
22653 * util/mkisofs/hash.c: Likewise.
22654 * util/mkisofs/iso9660.h: Likewise.
22655 * util/mkisofs/joliet.c: Likewise.
22656 * util/mkisofs/mkisofs.c: Likewise.
22657 * util/mkisofs/mkisofs.h: Likewise.
22658 * util/mkisofs/multi.c: Likewise.
22659 * util/mkisofs/name.c: Likewise.
22660 * util/mkisofs/rock.c: Likewise.
22661 * util/mkisofs/tree.c: Likewise.
22662 * util/mkisofs/write.c: Likewise.
22663 * video/efi_gop.c: Likewise.
22664
009ec743
VS
226652009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22668 size counting.
22669
0ad46fd7 226702009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22671
22672 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22673 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22674
d3d30ea0
VS
226752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22678 (GRUB_MOD_INIT(memrw)): Update help line.
22679
a34f5c70
VS
226802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22683 Use grub_extcmd_t. All users updated.
22684 (options): New variable.
22685 (grub_cmd_read): Restructure for readability. Support "-v" option.
22686 (grub_cmd_write): Restructure for readability.
22687
0ad46fd7 226882009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22689
22690 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22691
0ad46fd7 226922009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22693
22694 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22695 with the actual contents of the correspondending make variable.
22696 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22697 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22698 specifying `*.lst' and `efiemu??.o'
22699
0ad46fd7 227002009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22701
22702 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22703 after function name.
22704 Noticed by Rene Engelhard <rene@debian.org>.
22705
dc77a799
VS
227062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22707
22708 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22709 (options): New variable.
22710 (iospace): Likewise.
22711 (grub_lspci_iter): List IO spaces if "-i" was given.
22712 (grub_cmd_lspci): Parse options.
22713 (GRUB_MOD_INIT(lspci)): Use extcmd.
22714 (GRUB_MOD_FINI(lspci)): Likewise.
22715
0ad46fd7 227162009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22717
22718 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22719 `function' keyword.
22720 Patch by Tony Mancill <tmancill@debian.org>.
22721
b5d5993b
VS
227222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22723
22724 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22725 (grub_uhci_portstatus): Likewise.
22726 (grub_uhci_portstatus): Add necessary delay.
11d18281 22727 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22728
941903f2 227292009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22730
941903f2 22731 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22732 (GRUB_MOD_INIT): Likewise.
22733 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22734 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22735 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22736 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22737 (enable_rom_area): Likewise.
22738 (GRUB_MOD_INIT): Likewise.
22739 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22740 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22741 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22742 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22743 * commands/hexdump.c (options): Likewise.
22744 * commands/i386/cpuid.c (options): Likewise.
22745 (GRUB_MOD_INIT): Likewise.
22746 * commands/i386/pc/drivemap.c (options): Likewise.
22747 (GRUB_MOD_INIT): Likewise.
22748 * commands/i386/pc/halt (options): Likewise.
22749 (GRUB_MOD_INIT): Likewise.
22750 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22751 * commands/i386/pc/pxecmd.c (options): Likewise.
22752 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22753 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22754 * commands/keystatus.c (options): Likewise.
22755 (GRUB_MOD_INIT): Likewise.
22756 * commands/loadenv.c (options): Likewise.
22757 * commands/ls.c (options): Likewise.
22758 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22759 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22760 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22761 * commands/parttool.c (helpmsg): Likewise.
22762 * commands/probe.c (options): Likewise.
22763 * commands/read.c (GRUB_MOD_INIT): Likewise.
22764 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22765 * commands/search.c (options): Likewise.
22766 * commands/sleep.c (options): Likewise.
22767 * commands/test.c (GRUB_MOD_INIT): Likewise.
22768 * commands/true.c (GRUB_MOD_INIT): Likewise.
22769 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22770 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22771 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22772 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22773 `$(XGETTEXT)'.
98a50553 22774 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22775
0ad46fd7 227762009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22777
ef3c2c3a 22778 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22779 instead of specifying them explicit.
22780
7922f68b
RM
227812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * NEWS: Add grub-probe support for GNU/Hurd.
22784
537ce47f
RM
227852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 * NEWS: gettext was added after 1.97.
22788
9b214e3a
RM
227892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22790
22791 * util/mkisofs/msdos_partition.h: New file (based on
22792 include/grub/msdos_partition.h).
22793 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22794 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22795 (ld_options, main): Recognize --protective-msdos-label.
22796 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22797 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22798 (padblock_write): If `use_protective_msdos_label' is set, patch a
22799 protective DOS-style label in the output image.
22800
22801 * util/grub-mkrescue.in: Use --protective-msdos-label.
22802
e9309813
RM
228032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22804
22805 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22806 boot.
22807
0ae56929
RM
228082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22809
22810 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22811 variables.
22812 (ld_options, main): Recognize `--embedded-boot'.
22813 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22814 declarations.
22815 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22816 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22817 (padblock_write): Likewise. Rewrite to support embedded boot image.
22818
22819 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22820 for BIOS-based disk boot instead of only ElTorito.
22821
b15937b1
RM
228222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22823
22824 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22825 build (not needed for bootstrap).
22826
52cc3ce0
RM
228272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22828
22829 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22830 from i386-pc build (not needed for bootstrap).
22831 Rewrite a pair of strings.
22832
36f5ff04
RM
228332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22834
22835 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22836
973c6c85 228372009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22838
22839 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22840
05d21547
AB
228412009-12-21 Andreas Born <futur.andy@googlemail.com>
22842
22843 * kern/env.c (grub_env_context_open): Mark exported variable for
22844 reexport.
22845
0175d51f
AB
228462009-12-21 Andreas Born <futur.andy@googlemail.com>
22847
22848 * kern/env.c (grub_env_export): Create nonexistent variables before
22849 exporting.
22850
7f39d92f 228512009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22852
7f39d92f 22853 * include/grub/auth.h: Include `<grub/i18n.h>'.
22854 (GRUB_GET_PASSWORD): Gettextizze string.
22855 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22856 menu_text.c.
22857 (grub_utf8_to_ucs4_alloc): Fix indentation.
22858 (grub_print_ucs4): Likewise.
22859 (grub_getstringwidth): Likewise.
22860 (print_message_indented): New declaration.
22861 * normal/auth.c: Include `<grub/i18n.h>'.
22862 (grub_auth_check_authentication): Gettexttize string.
22863 * normal/cmdline.c: Include `<grub/i18n.h>'.
22864 (grub_cmdline_get): Gettextizze.
22865 * normal/color.c: Include `<grub/i18n.h>'.
22866 (grub_parse_color_name_pair): Gettexttize strings.
22867 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22868 string (use `print_message_indented').
22869 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22870 `include/grub/normal.h'.
22871 (print_message_indented): Renamed to ...
22872 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22873 used in normal/main.c).
22874 (print_message): Use `grub_print_message_indented' instead of
22875 `print_message_indented'.
22876 (print_timeout): Likewise.
22877 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22878 (grub_normal_print_device_info): Gettexttize strings.
22879 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22880
3041d898
VS
228812009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22882
22883 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22884 of arguments. Return number of tokens and not arguments. All users
22885 updated.
22886
de15bf8e
VS
228872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22888
22889 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22890 non-MSDOS paritions.
22891
e0a6ca52
VS
228922009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22893
22894 * include/grub/types.h (UNUSED): Removed since it conflicts with
22895 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22896 Reported by Grégoire Sutre.
22897
b99518d1 228982009-12-19 Carles Pina i Estany <carles@pina.cat>
22899
22900 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22901 (grub_print_ucs4_alloc): Likewise.
22902 (grub_getstringwidth): Likewise.
22903 * normal/main.c (grub_normal_init_page): Gettextize version string.
22904 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22905 (getstringwidth): Renamed to ...
22906 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22907 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22908 (grub_print_ucs4): Remove `static' qualifer (now used in
22909 normal/main.c).
22910 * po/POTFILES: Add normal/main.c.
22911
bfd5e52b 229122009-12-19 Carles Pina i Estany <carles@pina.cat>
22913
22914 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22915 (print_message_indented): Add `margin_left' and `margin_right'
22916 parameters.
22917 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22918 strings.
22919 (print_timeout): Use `print_message_indented' to print the message.
22920 Deletes `second_stage' parameter.
22921 (run_menu): Update `print_timeout' calls.
22922
5a1ad2b9
VS
229232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 Fix console palette on OpenFirmware.
22926
22927 * term/ieee1275/ofconsole.c (MAX): Removed.
22928 (colors): Redone based on VGA palette.
22929 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22930 colors are supported.
22931 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22932
b045f00a
VS
229332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 Fix potential EfiEmu double prepare.
22936
22937 * efiemu/main.c (prepared): New variable
22938 (grub_efiemu_unload): Set prepare to '0'.
22939 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22940
22941 set_virtual_address_map support.
22942
22943 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22944 prototype.
22945 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22946 prototype.
22947 (grub_efiemu_crc32): Likewise.
22948 (grub_efiemu_crc64): Likewise.
22949 (grub_efiemu_set_virtual_address_map): Likewise.
22950 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22951 New definition.
22952 (grub_autoefi_set_virtual_address_map): Likewise.
22953 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22954 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22955 Restructure flow to accomodate it.
22956 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22957 (grub_efiemu_crc): Recompute CRC32.
22958 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22959 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22960 * efiemu/symbols.c (relocated_handle): New variable.
22961 (grub_efiemu_free_syms): Free relocated_handle.
22962 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22963 (grub_efiemu_write_sym_markers): New function.
22964 (grub_efiemu_set_virtual_address_map): Likewise.
22965
22966 Newer XNU parameters.
22967
22968 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22969 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22970 (grub_xnu_fill_devicetree): New prototype.
22971 (grub_xnu_heap_real_start): New variable.
22972 * loader/xnu.c (get_name_ptr): New function.
22973 (grub_xnu_load_driver): Fill namelen and name.
22974
22975 64-bit xnu support.
22976
22977 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22978 and 'loader/macho64.c'.
22979 * conf/i386-pc.rmk: Likewise.
22980 * conf/x86_64-efi.rmk: Likewise.
22981 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22982 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22983 * include/grub/macho.h (grub_macho_segment64): New structure.
22984 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22985 (grub_macho_size32): ... to this.
22986 (grub_macho32_get_entry_point): Renamed from ...
22987 (grub_macho_get_entry_point32): ... to this.
22988 (grub_macho_contains_macho64): New prototype.
22989 (grub_macho_size64): Likewise.
22990 (grub_macho_get_entry_point64): Likewise.
22991 (grub_macho32_load): Renamed from ...
22992 (grub_macho_load32): ... to this.
22993 (grub_macho32_filesize): Renamed from ...
22994 (grub_macho_filesize32): ... to this.
22995 (grub_macho32_readfile): Renamed from ...
22996 (grub_macho_readfile32): ... to this.
22997 (grub_macho_filesize64): New prototype.
22998 (grub_macho_readfile64): Likewise.
22999 (grub_macho_parse32): Likewise.
23000 (grub_macho_parse64): Likewise.
23001 * loader/macho.c: Split into ...
23002 * loader/machoXX.c: ... and this. Replace 32 with XX.
23003 * loader/macho32.c: New file.
23004 * loader/macho64.c: Likewise.
23005 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23006 (grub_cmd_xnu_kernel): Make 32-bit only.
23007 (grub_cmd_xnu_kernel64): New function.
23008 (grub_xnu_load_driver): Support Mach-O 64.
23009 (grub_cmd_xnu_mkext): Likewise.
23010 * util/grub.d/30_os-prober.in (osx_entry): New function.
23011 Generate entries for 64-bit boot too.
23012
23013 Eliminate ad-hoc tree format in XNU and EfiEmu.
23014
23015 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23016 * efiemu/pnvram.c: Rewritten to use environment variables.
23017 All users updated.
23018
23019 Inline utf16_to_utf8.
23020
23021 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23022 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23023 All users updated.
23024 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23025
23026 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23027 * commands/usbtest.c (grub_usb_get_string): ... move here.
23028 (usb_print_str): Fix error handling.
23029 * include/grub/usb.h (grub_usb_get_string): Remove.
23030
23031 UTF-8 to UTF-16 transformation.
23032
23033 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23034 (charset_mod_SOURCES): New variable.
23035 (charset_mod_CFLAGS): Likewise.
23036 (charset_mod_LDFLAGS): Likewise.
23037 * include/grub/utf.h: New file.
23038 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23039
23040 Support for device properties.
23041
23042 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23043 (grub_xnu_devprop_device_header): Likewise.
23044 (grub_xnu_devprop_device_descriptor): Likewise.
23045 (grub_xnu_devprop_add_device): New prototype.
23046 (grub_xnu_devprop_remove_device): Likewise.
23047 (grub_xnu_devprop_remove_property): Likewise.
23048 (grub_xnu_devprop_add_property_utf8): Likewise.
23049 (grub_xnu_devprop_add_property_utf16): Likewise.
23050 (grub_cpu_xnu_init): Likewise.
23051 (grub_cpu_xnu_fini): Likewise.
23052 (grub_cpu_xnu_unload): Likewise.
23053 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23054 (property_descriptor): Likewise.
23055 (devices): New variable.
23056 (grub_xnu_devprop_remove_property): New function.
23057 (grub_xnu_devprop_add_device): Likewise.
23058 (grub_xnu_devprop_remove_device): Likewise.
23059 (grub_xnu_devprop_add_property): Likewise.
23060 (grub_xnu_devprop_add_property_utf8): Likewise.
23061 (grub_xnu_devprop_add_property_utf16): Likewise.
23062 (hextoval): Likewise.
23063 (grub_cpu_xnu_fill_devprop): Likewise.
23064 (grub_cmd_devprop_load): Likewise.
23065 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23066 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23067 (cmd_devprop_load): New variable.
23068 (grub_cpu_xnu_init): New function.
23069 (grub_cpu_xnu_fini): Likewise.
23070 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23071 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23072 (grub_cmd_xnu_devtree): Likewise.
23073 (hextoval): New function.
23074 (unescape): Likewise.
23075 (grub_xnu_fill_devicetree): Likewise.
23076
23077 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23078 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23079
0945f181
VS
230802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23081
23082 Workaround for broken ATI VBE.
23083
23084 * video/i386/pc/vbe.c (last_set_mode): New variable.
23085 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23086 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23087 (grub_video_vbe_setup): Don't check for reserved flag.
23088
0ad46fd7 230892009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23090
23091 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23092 the `find' command.
23093
c179ebe4
VS
230942009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23095
23096 UUID support for HFS.
23097
23098 * fs/hfs.c (grub_hfs_uuid): New function.
23099 (grub_hfs_fs): New value .uuid.
23100 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23101
0ad46fd7 231022009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23103
23104 Fix a segfault with parsing unknown long options.
23105
23106 * util/grub-mkrelpath.c (options): Zero terminate it.
23107
c4a3e41a
CPE
231082009-12-13 Carles Pina i Estany <carles@pina.cat>
23109
23110 * include/grub/misc.h (grub_puts): New declaration.
23111 (grub_puts_): Likewise.
a22008a6 23112 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23113 (grub_puts_): Likewise.
23114
2e8a7602
RM
231152009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23116
23117 * util/grub-probe.c (probe): Improve error message.
23118
b50b77b9
RM
231192009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23120
23121 * loader/i386/multiboot_elfxx.c
23122 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23123 initialization.
23124
231252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23126
23127 Relocator framework
23128
23129 * loader/i386/xnu_helper.S: Removed. All users updated.
23130 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23131 (relocator_mod_SOURCES): New variable.
23132 (relocator_mod_CFLAGS): Likewise.
23133 (relocator_mod_LDFLAGS): Likewise.
23134 (relocator_mod_ASFLAGS): Likewise.
23135 * conf/x86_64.rmk: Likewise.
23136 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23137 (grub_multiboot_payload_entry_offset): Likewise.
23138 (grub_multiboot_forward_relocator): Likewise.
23139 (grub_multiboot_forward_relocator_end): Likewise.
23140 (grub_multiboot_backward_relocator): Likewise.
23141 (grub_multiboot_backward_relocator_end): Likewise.
23142 (grub_multiboot_payload_eip): New variable.
23143 (grub_multiboot_payload_orig): Likewise.
23144 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23145 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23146 * include/grub/i386/memory.h
23147 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23148 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23149 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23150 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23151 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23152 * include/grub/i386/relocator.h: New file.
23153 * include/grub/x86_64/relocator.h: Likewise.
23154 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23155 (XNU_RELOCATOR): New macro.
23156 (grub_xnu_launcher_start): Remove.
23157 (grub_xnu_launcher_end): Likewise.
23158 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23159 (grub_xnu_heap_real_start): Remove.
23160 (grub_xnu_heap_start): Change to void *. All users updated.
23161 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23162 * lib/i386/relocator.c: New file.
23163 * lib/i386/relocator_asm.S: Likewise.
23164 * lib/i386/relocator_backward.S: Likewise.
23165 * lib/mips/relocator.c: Likewise.
23166 * lib/mips/relocator_asm.S: Likewise.
23167 * lib/relocator.c: Likewise.
23168 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23169 (entry): Removed.
23170 (playground): Likewise.
23171 (grub_multiboot_payload_orig): New variable.
23172 (grub_multiboot_payload_dest): Likewise.
23173 (grub_multiboot_payload_size): Likewise.
23174 (grub_multiboot_payload_eip): Likewise.
23175 (grub_multiboot_payload_esp): Likewise.
23176 (grub_multiboot_boot): Use grub_relocator32_boot.
23177 (grub_multiboot_unload): Free relocators.
23178 (grub_multiboot): Setup stack. Use relocators.
23179 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23180 (grub_multiboot_load_elfXX): Use relocators.
23181 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23182 (grub_multiboot_payload_size): Likewise.
23183 (grub_multiboot_payload_dest): Likewise.
23184 (grub_multiboot_payload_entry_offset): Likewise.
23185 (grub_multiboot_forward_relocator): Likewise.
23186 (grub_multiboot_backward_relocator): Likewise.
23187 (grub_multiboot_real_boot): Likewise.
23188 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23189 (grub_xnu_entry_point): Likewise.
23190 (grub_xnu_arg1): Likewise.
23191 (grub_xnu_stack): Likewise.
23192 (grub_xnu_launch): Removed.
23193 (grub_xnu_boot_resume): New function.
23194 (grub_xnu_boot): Use relocators.
23195 * loader/i386/xnu_helper.S: Removed.
23196 * loader/xnu.c (grub_xnu_heap_start): New variable.
23197 (grub_xnu_heap_size): Likewise.
23198 (grub_xnu_heap_malloc): Use relocators.
23199 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23200
29eb90c6
VS
232012009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23204 anything.
23205
31027430
CPE
232062009-12-13 Carles Pina i Estany <carles@pina.cat>
23207
23208 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23209 GRUB_ERR_NONE before calling grub_env_set.
23210
dc0c71d9
RM
232112009-12-12 Robert Millan <rmh@aybabtu.com>
23212
23213 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23214 * genmk.rb (video): New variable.
23215 (CLEANFILES, VIDEOFILES): Add #{video}.
23216 (#{video}): New target rule.
23217 * genvideolist.sh: New file.
23218 * Makefile.in (pkglib_DATA): Add video.lst.
23219 (video.lst): New target rule.
23220 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23221 `video.lst'.
23222 * util/grub.d/30_os-prober.in: Replace `vbe' with
23223 ${GRUB_VIDEO_BACKEND}.
23224
2a4bfcf0
RM
232252009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23226
23227 * THANKS: Add David Miller.
23228
2a3aa4d5
RM
232292009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23230
23231 libpciaccess support.
23232
23233 * Makefile.in (LIBPCIACCESS): New variable.
23234 (enable_grub_emu_pci): Likewise.
23235 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23236 util/pci.c and commands/lspci.c.
23237 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23238 * configure.ac (grub-emu-pci): New option.
23239 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23240 (grub_pci_device_unmap_range): Likewise.
23241 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23242 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23243 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23244 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23245 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23246 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23247 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23248 * include/grub/pciutils.h: New file.
23249 * util/pci.c: Likewise.
23250
0ad46fd7 232512009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23252
23253 * util/misc.c: Don't include <errno.h> twice.
23254
0ad46fd7 232552009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23256
23257 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23258 name in an error message.
23259 (grub_biosdisk_rw): Likewise.
23260
2e59983c
VS
232612009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 Eliminate NTFS 4Gib barrier.
23264
23265 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23266 (read_run_data): Likewise.
23267 (grub_ntfs_read_run_list): Likewise.
23268 (grub_ntfs_read_block): Likewise.
23269 (grub_ntfs_iterate_dir): Likewise.
23270 (read_mft): Likewise.
23271 (read_data): Likewise.
23272 Use COM_LOG_LEN.
23273 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23274 to avoid 64-bit division
23275 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23276 (grub_ntfs_rlst): Use grub_disk_addr_t.
23277
71ee178a
VS
232782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23279
23280 Eliminate grub-fstest 4Gib barrier.
23281
23282 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23283 (read_file): Fix error reporting.
23284
2520d4b8
VS
232852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Eliminate hexdump 4Gib barrier.
23288
23289 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23290 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23291
e1f27065
VS
232922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23295 Fixes amarsh bug.
23296
1a0f7f45
RM
232972009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23298
23299 Remove miscellaneous files in distclean target.
23300
23301 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23302
c631d9fb
CW
233032009-12-09 Colin Watson <cjwatson@ubuntu.com>
23304
23305 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23306 if they're already set. This resolves the conflict between my
23307 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23308 fixing the --grub-probe option again.
23309 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23310 change on 2009-10-06, so that we now once again source
23311 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23312
7c7b6106
RM
233132009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23314
23315 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23316 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23317 `util/devicemap.c'.
23318
e3069ec1
CPE
233192009-12-08 Carles Pina i Estany <carles@pina.cat>
23320
23321 * include/grub/misc.h (grub_printf_): New declaration.
23322 * kern/misc.c (grub_printf_): New definition.
23323 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23324 instead of `grub_printf' and `_'.
23325 * normal/menu_entry.c (store_completion): Likewise.
23326 (run): Likewise.
23327 (grub_menu_entry_run): Likewise.
23328 * normal/menu_text.c (grub_wait_after_message): Likewise.
23329 (notify_booting): Likewise.
23330 (notify_fallback): Likewise.
23331 (notify_execution_failure): Likewise.
23332
d6ceebf1
CW
233332009-12-07 Colin Watson <cjwatson@ubuntu.com>
23334
23335 * configure.ac: Check for vasprintf.
23336 * util/misc.c (asprintf): Move allocation from here ...
23337 (vasprintf): ... to here. New function.
23338 (xasprintf): New function.
23339 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23340 prototypes.
23341 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23342 * util/grub-mkfont.c (write_font): Likewise.
23343 * util/grub-probe.c (probe): Likewise.
23344 * util/hostdisk.c (make_device_name): Likewise.
23345
de6daa8b
DM
233462009-12-06 David S. Miller <davem@sunset.davemloft.net>
23347
23348 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23349 anything even prefixed with 'cdrom' as a cdrom.
23350
0ad46fd7 233512009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23352
23353 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23354 mount points.
23355
98d3dc02
CPE
233562009-12-05 Carles Pina i Estany <carles@pina.cat>
23357
23358 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23359 grub_gettext_msg_list.
23360 (grub_gettext_gettranslation_from_position): Return const char *
23361 and not char *.
a2c1332b 23362 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23363 returns from the list if existing there.
23364 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23365 (grub_gettext_delete_list): Delete the list.
23366 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23367 lang environment variable is changed.
23368 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23369
b283f108
VS
233702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23371
23372 Rename kernel.mod to kernel.img.
23373
23374 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23375 (kernel_mod_EXPORTS): Rename to ...
23376 (kernel_img_EXPORTS): ... this.
23377 (kernel_mod_SOURCES): Rename to ...
23378 (kernel_img_SOURCES): ... this.
23379 (kernel_mod_HEADERS): Rename to ...
23380 (kernel_img_HEADERS): ... this. All users updated.
23381 (kernel_mod_CFLAGS): Rename to ...
23382 (kernel_img_CFLAGS): ... this.
23383 (kernel_mod_ASFLAGS): Rename to ...
23384 (kernel_img_ASFLAGS): ... this.
23385 (kernel_mod_LDFLAGS): Rename to ...
23386 (kernel_img_LDFLAGS): ... this.
23387 * conf/x86_64-efi.rmk: Likewise.
23388 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23389 (read_kernel_image): ... this. All users updated.
23390 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23391
69055f8a
CPE
233922009-12-05 Carles Pina i Estany <carles@pina.cat>
23393
23394 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23395 (print_spaces): New function.
23396 (grub_print_ucs4): New function.
23397 (getstringwidth): New function.
23398 (print_message_indented): New function.
23399 (print_message): Gettexttize strings using print_message_indented.
23400 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23401 width.
23402 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23403 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23404 Gettextize.
23405 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23406 string.
23407 (run): Likewise.
23408 (grub_menu_entry_run): Likewise.
23409 * PO/POTFILES: Add normal/menu_entry.c.
23410
f616f51c
VS
234112009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23412
23413 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23414
57bbe3be
CPE
234152009-12-05 Carles Pina i Estany <carles@pina.cat>
23416
23417 * util/grub-install.in: Install gettext .mo files.
23418 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23419
013d67a1
CPE
234202009-12-05 Carles Pina i Estany <carles@pina.cat>
23421
23422 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23423 grub_dprintf.
23424
fb954db0
RM
234252009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23426
23427 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23428 non-firmware-dependant one in realmode.S takes precedence.
23429
6b8474f8
RM
234302009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23431
23432 * commands/halt.c: Replace misc arch-specific headers with
23433 `<grub/misc.h>'.
23434 * commands/reboot.c: Likewise.
23435 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23436 `<grub/misc.h>'.
23437 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23438 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23439 (kernel_img_SOURCES): ... to here.
23440
23441 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23442 * include/grub/i386/pc/init.h: Likewise.
23443 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23444 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23445
23446 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23447
23448 * include/grub/i386/halt.h: Remove.
23449 * include/grub/i386/reboot.h: Likewise.
23450
23451 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23452
4b2e6ca2
DM
234532009-12-03 David S. Miller <davem@sunset.davemloft.net>
23454
23455 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23456 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23457 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23458 "progname.h"
23459 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23460 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23461 (usage): Add missing comma in printf.
23462
5239348f
RM
234632009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23464
23465 Use the same reboot approach on i386 coreboot and qemu as we do on
23466 BIOS.
23467
23468 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23469 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23470 * kern/i386/reboot.c: Remove.
23471 * include/grub/i386/reboot.h (grub_reboot): Export function.
23472 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23473 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23474 0xf000:0xfff0 instead of 0xffff:0x0000.
23475 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23476 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23477
ef34cbd4
RM
234782009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23479
23480 Fix $srcdir != $objdir build.
23481
23482 * Makefile.in (po/%.po): Rewrite as ...
23483 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23484
dc9837ea
ST
234852009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23486
23487 Fix GNU/Hurd grub-install crash.
23488 * util/grub-probe.c (probe): Try to access `path' only when it is not
23489 NULL.
23490
2f857f98
VS
234912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 Correct module naming.
23494
23495 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23496 (GRUB_MOD_INIT(efi_uga)): ... to this
23497 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23498 (GRUB_MOD_FINI(efi_uga)): ... to this
23499 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23500 (GRUB_MOD_INIT(efi_gop)): ... to this
23501 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23502 (GRUB_MOD_FINI(efi_gop)): ... to this
23503
c5448046
RM
235042009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23505
23506 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23507 translatable.
23508 (usage): Translate `arg' strings using gettext().
23509 Thanks to Jordi Mallach for the suggestion.
23510
c85184ad
VS
235112009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23512
23513 GOP support. Based on patch from Bean
23514 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23515
23516 * video/efi_gop.c: New file.
23517 * include/grub/efi/graphics_output.h: Likewise.
23518 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23519 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23520 variables.
23521 * conf/x86_64-efi.rmk: Likewise.
23522
8a4c48d8
VS
235232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 Rename efi_fb to efi_uga.
23526
23527 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23528 'efi_uga.mod'.
23529 (efi_fb_mod_SOURCES): Rename this ...
23530 (efi_uga_mod_SOURCES): ... to this.
23531 (efi_fb_mod_CFLAGS): Rename this ...
23532 (efi_uga_mod_CFLAGS): ... to this.
23533 (efi_fb_mod_LDFLAGS): Rename this ...
23534 (efi_uga_mod_LDFLAGS): ... to this.
23535 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23536 'efi_uga.mod'.
23537 (efi_fb_mod_SOURCES): Rename this ...
23538 (efi_uga_mod_SOURCES): ... to this.
23539 (efi_fb_mod_CFLAGS): Rename this ...
23540 (efi_uga_mod_CFLAGS): ... to this.
23541 (efi_fb_mod_LDFLAGS): Rename this ...
23542 (efi_uga_mod_LDFLAGS): ... to this.
23543 * video/efi_fb.c: Move this ...
23544 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23545
fb6c1a7b
RM
235462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23547
23548 * po/README: New file. Explain our PO file workflow.
23549
3bc7896c
RM
235502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23551
23552 * po/ChangeLog: Remove. Move relevant entries back to ...
23553 * ChangeLog: ... here.
23554 * po/ca.po: Remove (now handled by TLP).
23555 * po/id.po: Likewise.
23556 * po/zh_CN.po: Likewise.
23557 * Makefile.in (LINGUAS): Initialize in a way that supports
23558 empty set.
23559
9ed4841d
RM
235602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23561
23562 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23563 reliing on po/LINGUAS.
23564 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23565 (po/%.po): ... this.
23566
0ad46fd7 235672009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23568
23569 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23570 (main): Use `program_name' instead of nonexistent `progname'.
23571
e30dd392
FZ
235722009-11-26 Felix Zielcke <fzielcke@z-51.de>
23573
23574 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23575 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23576
7656de4f
RM
235772009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23578
23579 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23580 commit.
23581 * conf/i386-efi.rmk: Likewise.
23582 * conf/i386-ieee1275.rmk: Likewise.
23583 * conf/powerpc-ieee1275.rmk: Likewise.
23584 * conf/sparc64-ieee1275.rmk: Likewise.
23585 * conf/x86_64-efi.rmk: Likewise.
23586
db77c4d4
FZ
235872009-11-26 Felix Zielcke <fzielcke@z-51.de>
23588
23589 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23590
a755bb04
FZ
235912009-11-26 Felix Zielcke <fzielcke@z-51.de>
23592
23593 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23594
8a4c07fd
RM
235952009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23596
23597 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23598 (grub_mkdevicemap_SOURCES): New variable.
23599 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23600 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23601 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23602 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23603 (grub_mkdevicemap_SOURCES): Remove.
23604 * conf/i386-efi.rmk: Likewise.
23605 * conf/i386-ieee1275.rmk: Likewise.
23606 * conf/i386-pc.rmk: Likewise.
23607 * conf/powerpc-ieee1275.rmk: Likewise.
23608 * conf/sparc64-ieee1275.rmk: Likewise.
23609 * conf/x86_64-efi.rmk: Likewise.
23610 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23611 (usage): Fix strings to use `program_name'.
23612 (main): Initialize gettext.
23613 * util/grub-editenv.c: Likewise.
23614 * util/grub-emu.c: Likewise.
23615 * util/grub-fstest.c: Likewise.
23616 * util/grub-mkdevicemap.c: Likewise.
23617 * util/grub-mkfont.c: Likewise.
23618 * util/grub-mkrelpath.c: Likewise.
23619 * util/grub-pe2elf.c: Likewise.
23620 * util/grub-probe.c: Likewise.
23621 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23622 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23623 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23624
23625 * util/misc.c: Include `"progname.h"'.
23626 (progname): Remove variable.
23627 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23628
6f61ed55
FZ
236292009-11-25 Felix Zielcke <fzielcke@z-51.de>
23630
23631 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23632 printf and print a newline after the menuentry header line.
23633 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23634
f022876b
FZ
236352009-11-25 Felix Zielcke <fzielcke@z-51.de>
23636
23637 autoconf >= 2.60 support $(localedir).
23638
23639 * INSTALL: Note that autoconf 2.60 is required.
23640 * configure.ac (AC_PREREQ): Bump to 2.60.
23641 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23642 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23643
6717926e
YB
236442009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23645
23646 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23647 aclocal is run.
23648
08806a54
RM
236492009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23650
23651 * normal/main.c (grub_normal_read_line): Fix off-by-one
23652 buffer overflow.
23653
13b33fba
RM
236542009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23655
23656 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23657 "parser.grub" in grub_command_execute() call.
23658
4a8572e9
CPE
236592009-11-24 Carles Pina i Estany <carles@pina.cat>
23660
23661 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23662 * conf/i386-efi.rmk: Likewise.
23663 * conf/i386-ieee1275.rmk: Likewise.
23664 * conf/i386-pc.rmk: Likewise.
23665 * conf/powerpc-ieee1275.rmk: Likewise.
23666 * conf/sparc64-ieee1275.rmk: Likewise.
23667 * conf/x86_64-efi.rmk: Likewise.
23668 * gettext/gettex.c: Include <grub/i18n.h>.
23669 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23670 here ...
23671 * include/grub/i18n.h: ... to here
23672 * include/grub/i18n.h: ... to here.
23673 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23674 (grub_gettext_dummy): Move above user.
4a8572e9 23675
bee48093
FZ
236762009-11-24 Felix Zielcke <fzielcke@z-51.de>
23677
23678 * util/Makefile.in (install-local): Convert a `for' into a normal
23679 shell expansion.
23680
a031e91c
RM
236812009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23682
23683 * autogen.sh: Add automake call.
23684 * config.guess: Remove.
23685 * config.sub: Likewise.
23686 * install-sh: Likewise.
23687
26bec39d
FZ
236882009-11-24 Felix Zielcke <fzielcke@z-51.de>
23689
23690 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23691
8e2532fd
FZ
236922009-11-24 Felix Zielcke <fzielcke@z-51.de>
23693
23694 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23695 function to a normal shell `for'.
23696
fefa1b7d
FZ
236972009-11-24 Felix Zielcke <fzielcke@z-51.de>
23698
23699 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23700
4501250b
FZ
237012009-11-24 Felix Zielcke <fzielcke@z-51.de>
23702
23703 * util/grub-mkrelpath.c: New file.
23704 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23705 (grub_mkrelpath_SOURCES): New variable.
23706 * include/grub/util/misc.h: New function prototype.
23707 * util/misc.c (make_system_path_relative_to_its_root): New function.
23708
23709 * util/grub-mkconfig_lib.in (bindir): New variable.
23710 (grub_mkrelpath): Likewise.
23711 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23712
23713 * util/probe.c (probe): Make the file path relative to its root.
23714 Change a info message to use the GRUB path. Enable again the
23715 check if we can read the file with GRUB facilities.
23716
23717 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23718 to its root.
23719
11d9778b
FZ
237202009-11-24 Felix Zielcke <fzielcke@z-51.de>
23721
23722 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23723 platform.
23724
4465287d
FZ
237252009-11-24 Felix Zielcke <fzielcke@z-51.de>
23726
23727 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23728 strncmp().
23729
62b47f22
FZ
237302009-11-24 Felix Zielcke <fzielcke@z-51.de>
23731
23732 * util/getroot.c (grub_util_is_dmraid): New function.
23733 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23734 devices as normal ones, not as LVM.
23735
1eafb9b9 237362009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23737
23738 * conf/common.rmk: Add grub-gettext_lib target and updates
23739 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23740 LDFLAGS.
23741 * gettext/gettext.c: New file. (Reads mo files).
23742 * include/grub/file.h (grub_file_pread): New prototype.
23743 * include/grub/i18n.h (_): New prototype.
23744 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23745 prototypes.
23746 * kern/misc.c (grub_gettext_dummy): New function.
23747 * normal/menu_text.c: Include <grub/i18n.h>.
23748 * normal/menu_text.c (print_timeout): Gettexttize string.
23749 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23750 * po/POTFILES: Add `normal/menu_text.c'.
23751 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23752 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23753 gettext module and defines locale_dir and lang in grub.cfg.
23754 * NEWS: Add gettext support.
23755
0fdb2568
RM
237562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * util/hostdisk.c: Include `<grub/i18n.h>'.
23759 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23760 (make_device_name): Rewrite using asprintf.
23761 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23762 (find_system_device): If a device is not found, generate one just
23763 by reusing the OS path name.
23764 (read_device_map): Make it permissible for device.map not to exist.
23765
f515aa62
RM
237662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23767
23768 * script/sh/execute.c: Move from here ...
23769 * script/execute.c: ... to here. Update all users.
23770 * script/sh/function.c: Move from here ...
23771 * script/function.c: ... to here. Update all users.
23772 * script/sh/lexer.c: Move from here ...
23773 * script/lexer.c: ... to here. Update all users.
23774 * script/sh/main.c: Move from here ...
23775 * script/main.c: ... to here. Update all users.
23776 * script/sh/parser.y: Move from here ...
23777 * script/parser.y: ... to here. Update all users.
23778 * script/sh/script.c: Move from here ...
23779 * script/script.c: ... to here. Update all users.
23780
f84b481b
RM
237812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23782
23783 * configure.ac: Detect all `emu' platforms. Define
23784 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23785 --enable-grub-emu logic. Disable include/grub/machine
23786 symlink on `emu' platforms.
23787
23788 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23789 * gensymlist.sh.in: Likewise.
23790
23791 * include/grub/i386/coreboot/machine.h: Remove file.
23792 * include/grub/i386/efi/machine.h: Likewise.
23793 * include/grub/i386/ieee1275/machine.h: Likewise.
23794 * include/grub/i386/pc/machine.h: Likewise.
23795 * include/grub/i386/qemu/machine.h: Likewise.
23796 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23797 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23798 * include/grub/x86_64/efi/machine.h: Likewise.
23799
23800 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23801 * commands/halt.c: Likewise.
23802 * commands/reboot.c: Likewise.
23803 * include/grub/autoefi.h: Likewise.
23804 * include/grub/i386/at_keyboard.h: Likewise.
23805 * include/grub/i386/kernel.h: Likewise.
23806 * include/grub/i386/loader.h: Likewise.
23807 * include/grub/i386/pc/memory.h: Likewise.
23808 * kern/dl.c: Likewise.
23809 * kern/i386/coreboot/init.c: Likewise.
23810 * loader/i386/bsd.c: Likewise.
23811 * loader/i386/linux.c: Likewise.
23812 * loader/multiboot_loader.c: Likewise.
23813 * term/i386/pc/serial.c: Likewise.
23814 * term/usb_keyboard.c: Likewise.
23815
23816 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23817 `<grub/machine/machine.h>'
23818 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23819 * util/misc.c: Remove `<grub/machine/machine.h>' and
23820 `<grub/machine/time.h>'.
23821
23822 * Makefile.in (enable_grub_emu): Remove variable.
23823 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23824
23825 * conf/any-emu.rmk: New file.
23826 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23827 (grub_emu_init.c): Move from here ...
23828 * conf/any-emu.rmk: ... to here.
23829
23830 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23831 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23832 * conf/any-emu.rmk: ... to here.
23833
4efeab03
RM
238342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23835
23836 * include/grub/parser.h (grub_parser_register): Document need
23837 of `name' parameter.
23838 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23839 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23840 "sh" to "grub".
23841
ea1dd8bf
RM
238422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23843
23844 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23845 `$(XGETTEXT)'.
23846 * include/grub/i18n.h (N_): New macro.
23847 * util/mkisofs/mkisofs.h: Likewise.
23848 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23849 around N_().
23850 (usage): Use gettext() to translate help strings when printing them.
23851
0c140626
RM
238522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 Based on patch from Bean
23855 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23856
23857 * video/efi_fb.c: New file.
23858 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23859 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23860 variables.
23861 * conf/x86_64-efi.rmk: Likewise.
23862
87d58298
RM
238632009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23864
23865 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23866 * util/i386/pc/grub-setup.c: Likewise.
23867
994cc3a3
ST
238682009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23869
23870 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23871 <hurd/fs.h>
23872 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23873 file_get_storage_info to implement grub_guess_root_device.
23874
26a61d6a
FZ
238752009-11-21 Felix Zielcke <fzielcke@z-51.de>
23876
23877 * Makefile.in (target): Use make's builtin $(shell) function
23878 instead of calling directly $(SHELL) to create the locale directories,
23879 inside the $(foreach) function.
23880
74ff1dd5
FZ
238812009-11-21 Felix Zielcke <fzielcke@z-51.de>
23882
23883 * util/grub-mkrescue.in: Print an error and usage if output option
23884 has not been given.
23885
0b787d0e
FZ
238862009-11-21 Felix Zielcke <fzielcke@z-51.de>
23887
23888 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23889 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23890 root and /boot are on different devices.
23891
1164b270
RM
238922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23893
23894 Fix build for srcdir != objdir.
23895
23896 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23897 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23898 $(srcdir).
23899 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23900 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23901 reference for input.
23902
13774a2f
RM
239032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23906 or hardlinking it). Remove -J option, Joliet is not compatible with
23907 multiple source directories.
23908
efda854e
RM
239092009-11-21 Carles Pina i Estany <carles@pina.cat>
239102009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23911
23912 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23913 (process_input_dir): New function. Process an arbitrary input
23914 directory.
23915 Misc adjustments to support both "override mode" and system-wide mode.
23916
6c09890c
FZ
239172009-11-20 Felix Zielcke <fzielcke@z-51.de>
23918
23919 * configure.ac (UNIFONT_BDF): Rename to ...
23920 (FONT_SOURCE): ... this. Update all users.
23921
a797824f
FZ
239222009-11-20 Felix Zielcke <fzielcke@z-51.de>
23923
23924 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23925 to the list of unifont files to look for.
23926
cd4f42b0
RM
239272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23928
23929 Patch from Joe Auricchio <jauricchio@gmail.com>
23930 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23931 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23932 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23933
393c783d
FZ
239342009-11-19 Felix Zielcke <fzielcke@z-51.de>
23935
23936 * Makefile.in (install-local): Add a missing backslash.
23937
b2f1e327
FZ
239382009-11-19 Felix Zielcke <fzielcke@z-51.de>
23939
23940 * include/grub/x86_64/io.h: New file.
23941
f577f7a0
RM
239422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23945 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23946 Include `"progname.h"'.
23947 (main): Initialize gettext.
23948 * util/i386/pc/grub-setup.c: Gettexttize.
23949 * util/i386/pc/grub-mkimage.c: Likewise.
23950
23951 * Makefile.in (po/*.po): Redefine as ...
23952 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23953
3bc7896c
RM
23954 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23955
c37943b6
RM
239562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23957
23958 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23959 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23960 (program_name): Remove.
23961 (main): Initialize gettext support.
6323f705
RM
23962 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23963 Include `<libintl.h>'.
23964 (_): New macro.
c37943b6
RM
23965
23966 * util/mkisofs/eltorito.c: Gettexttize.
23967 * util/mkisofs/joliet.c: Likewise.
23968 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23969 * util/mkisofs/multi.c: Likewise.
23970 * util/mkisofs/rock.c: Likewise.
23971 * util/mkisofs/tree.c: Likewise.
23972 * util/mkisofs/write.c: Likewise.
23973
3bc7896c
RM
23974 * po/POTFILES: Update with new files.
23975
5ce77c6e
RM
239762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23979 * util/mkisofs/iso9660.h: Likewise.
23980 * util/mkisofs/joliet.c: Likewise.
23981 * util/mkisofs/mkisofs.c: Likewise.
23982 * util/mkisofs/mkisofs.h: Likewise.
23983 * util/mkisofs/rock.c: Likewise.
23984 * util/mkisofs/tree.c: Likewise.
23985 * util/mkisofs/write.c: Likewise.
23986
23987 * util/mkisofs/eltorito.c (rcsid): Remove.
23988 * util/mkisofs/hash.c: Likewise.
23989 * util/mkisofs/joliet.c: Likewise.
23990 * util/mkisofs/name.c: Likewise.
23991 * util/mkisofs/rock.c: Likewise.
23992 * util/mkisofs/tree.c: Likewise.
23993 * util/mkisofs/write.c: Likewise.
23994
1dabbc77
RM
239952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23996
23997 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23998 instead of static allocation.
23999 * util/mkisofs/match.h: Likewise.
24000
633877cb
RM
240012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24002
3bc7896c
RM
24003 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24004 and `util/grub.d/10_linux.in'.
633877cb
RM
24005 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24006 translatable Shell files.
24007
af1c0c85
RM
240082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24009
24010 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24011
769ae37b
RM
240122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24013
24014 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24015 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24016 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24017 Add gettext initialization.
24018 (kfreebsd_entry): Make menuentry output translatable.
24019
240202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24023 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24024 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24025 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24026 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24027 * po/LINGUAS: New file.
769ae37b
RM
24028
240292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24030
24031 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24032 other things).
24033 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24034 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24035 bindtextdomain() calls for gettext initialization.
24036
240372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24038
24039 * gnulib/progname.c: New file (imported from Gnulib).
24040 * gnulib/progname.h: Likewise.
24041 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24042 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24043 (usage): Replace `progname' with `program_name'.
24044 (main): Use set_program_name() for program name initialization.
24045
240462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24047
24048 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24049 from here ...
24050 * Makefile.in (CPPFLAGS): ... to here.
24051
240522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24053
24054 * aclocal.m4: Move from here ...
24055 * acinclude.m4: ... to here.
24056 * autogen.sh: Add call to `aclocal'.
24057 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24058
240592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24060
24061 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24062 (LINGUAS): New variable.
24063 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24064 (install-local): Install MO files.
24065 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24066 * include/grub/i18n.h: New file.
3bc7896c
RM
24067 * po/POTFILES: New file.
24068 * po/ca.po: New file.
769ae37b
RM
24069 * util/grub.d/10_linux.in (bindir): New variable.
24070 Add gettext initialization.
24071 (linux_entry): Make menuentry output translatable.
24072 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24073 (usage): Make --help output translatable.
24074 (main): Initialize gettext.
24075
02c0a6ad
RM
240762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24077
24078 * import_gcry.py: New file (written by Vladimir with minor
24079 adjustments).
24080 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24081 ciphers.
24082 * INSTALL: Document that Python is required for bootstrap.
24083
240842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24085
24086 Import ciphers from libgcrypt 1.4.4.
24087
24088 * lib/libgcrypt/cipher/ChangeLog
24089 * lib/libgcrypt/cipher/ac.c
24090 * lib/libgcrypt/cipher/arcfour.c
24091 * lib/libgcrypt/cipher/bithelp.h
24092 * lib/libgcrypt/cipher/blowfish.c
24093 * lib/libgcrypt/cipher/camellia-glue.c
24094 * lib/libgcrypt/cipher/camellia.c
24095 * lib/libgcrypt/cipher/camellia.h
24096 * lib/libgcrypt/cipher/cast5.c
24097 * lib/libgcrypt/cipher/cipher.c
24098 * lib/libgcrypt/cipher/crc.c
24099 * lib/libgcrypt/cipher/des.c
24100 * lib/libgcrypt/cipher/dsa.c
24101 * lib/libgcrypt/cipher/ecc.c
24102 * lib/libgcrypt/cipher/elgamal.c
24103 * lib/libgcrypt/cipher/hash-common.c
24104 * lib/libgcrypt/cipher/hash-common.h
24105 * lib/libgcrypt/cipher/hmac-tests.c
24106 * lib/libgcrypt/cipher/md.c
24107 * lib/libgcrypt/cipher/md4.c
24108 * lib/libgcrypt/cipher/md5.c
24109 * lib/libgcrypt/cipher/primegen.c
24110 * lib/libgcrypt/cipher/pubkey.c
24111 * lib/libgcrypt/cipher/rfc2268.c
24112 * lib/libgcrypt/cipher/rijndael-tables.h
24113 * lib/libgcrypt/cipher/rijndael.c
24114 * lib/libgcrypt/cipher/rmd.h
24115 * lib/libgcrypt/cipher/rmd160.c
24116 * lib/libgcrypt/cipher/rsa.c
24117 * lib/libgcrypt/cipher/seed.c
24118 * lib/libgcrypt/cipher/serpent.c
24119 * lib/libgcrypt/cipher/sha1.c
24120 * lib/libgcrypt/cipher/sha256.c
24121 * lib/libgcrypt/cipher/sha512.c
24122 * lib/libgcrypt/cipher/tiger.c
24123 * lib/libgcrypt/cipher/twofish.c
24124 * lib/libgcrypt/cipher/whirlpool.c
24125
af2f93ac
RM
241262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 Fix build for systems without error().
24129
24130 * gnulib/error.c: New file (imported from Gnulib).
24131 * gnulib/error.h: Likewise.
24132 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24133 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24134 (this variable is now used by error()).
24135
73fb3dd5
FZ
241362009-11-16 Felix Zielcke <fzielcke@z-51.de>
24137
814f5e96
FZ
24138 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24139 instead of relying that char is signed.
73fb3dd5 24140
a691ca33
VS
241412009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24144 blocksize different from specified.
24145 (grub_pxefs_read): Likewise.
24146
2af8f0f4
FZ
241472009-11-16 Felix Zielcke <fzielcke@z-51.de>
24148
24149 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24150
24151 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24152 (grub_ata_readwrite): Likewise. Update 2 format strings.
24153 (grub_atapi_read): Likewise.
24154
24155 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24156 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24157 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24158 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24159 (ata_mod_LDFLAGS): Move from here ...
24160 * conf/i386.rmk: ... to here ...
24161 * conf/x86_64-efi.rmk: ... and here.
24162 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24163 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24164
83bdecaf
RM
241652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24166
24167 Relicense multiboot.h, with RMS' blessing.
24168
24169 * include/multiboot.h: Change to X11 license.
24170
fd6fd3d7
RM
241712009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24172
24173 Support --version in grub-mkisofs.
24174
24175 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24176 (OPTION_VERSION): New macro.
24177 (ld_options): Recognize --version.
24178 (usage): Move `program_name' from here ...
24179 (program_name): ... to here. Add `static' qualifier.
24180 (main): Recognize `OPTION_VERSION'.
24181
16a88c49
FZ
241822009-11-15 Felix Zielcke <fzielcke@z-51.de>
24183
24184 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24185 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24186
a4158476
RM
241872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24188
24189 Fix help2man generation for mkisofs.
24190
24191 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24192 (usage): Send output to stdout (rather than stderr).
24193
fc2208b0
RM
241942009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24195
24196 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24197 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24198 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24199 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24200 (bin_SCRIPTS): Add `grub-mkfloppy'.
24201 (grub_mkfloppy_SOURCES): New variable.
24202
24203 * util/grub-mkrescue.in: New file.
24204 * util/i386/pc/grub-mkfloppy.in: New file.
24205
24206 * util/i386/coreboot/grub-mkrescue.in: Remove.
24207 * util/i386/pc/grub-mkrescue.in: Remove.
24208
8d0edf4a
RM
242092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24212 from here ...
24213 * include/multiboot.h (struct multiboot_header): ... to here. Update
24214 all users.
24215 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24216 from here ...
24217 * include/multiboot.h (struct multiboot_info): ... to here. Update
24218 all users.
24219 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24220 from here ...
24221 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24222 Update all users.
24223 * include/grub/multiboot.h (struct grub_mod_list): Move
24224 from here ...
24225 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24226 Update all users.
24227
a73f5969
RM
242282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24229
24230 * include/multiboot2.h (multiboot_word): Rename from this ...
24231 (multiboot2_word): ... to this. Update all users.
24232 (multiboot_header): Rename from this ...
24233 (multiboot2_header): ... to this. Update all users.
24234 (multiboot_tag_header): Rename from this ...
24235 (multiboot2_tag_header): ... to this. Update all users.
24236 (multiboot_tag_start): Rename from this ...
24237 (multiboot2_tag_start): ... to this. Update all users.
24238 (multiboot_tag_name): Rename from this ...
24239 (multiboot2_tag_name): ... to this. Update all users.
24240 (multiboot_tag_module): Rename from this ...
24241 (multiboot2_tag_module): ... to this. Update all users.
24242 (multiboot_tag_memory): Rename from this ...
24243 (multiboot2_tag_memory): ... to this. Update all users.
24244 (multiboot_tag_unused): Rename from this ...
24245 (multiboot2_tag_unused): ... to this. Update all users.
24246 (multiboot_tag_end): Rename from this ...
24247 (multiboot2_tag_end): ... to this. Update all users.
24248
1c8927f0
RM
242492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24250
24251 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24252 this platform we should support Multiboot1 first.
24253
24254 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24255 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24256 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24257
6e1e0d89
RM
242582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24261 of write calls (converting them to fwrite() if they aren't already).
24262 (get_torito_desc): Likewise.
24263 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24264
7f2b34d8
RM
242652009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24266
24267 * util/i386/pc/grub-install.in: Move from here ...
24268 * util/grub-install.in: ... to here. Update all users.
24269
c0ef3311
CW
242702009-11-11 Colin Watson <cjwatson@ubuntu.com>
24271
24272 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24273
e1f240ff
RM
242742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24275
24276 Support for El Torito without floppy emulation.
24277
24278 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24279 (init_boot_catalog): Improve error handling.
24280 (get_torito_desc): Don't use floppy emulation unless requested by
24281 user. Patch boot information table when requested via
24282 `-boot-info-table'.
24283 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24284 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24285 (use_boot_info_table): New variables.
24286 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24287 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24288 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24289 `--eltorito-emul-floppy'.
24290 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24291 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24292 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24293 (use_boot_info_table, get_731): New prototypes.
24294 * util/mkisofs/write.c (get_731): New function.
24295
af7d4de5
FZ
242962009-11-11 Felix Zielcke <fzielcke@z-51.de>
24297
24298 Fix the generation of the man page.
24299
24300 * util/pc/i386/grub-install.in: Source
24301 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24302
2c55dbc0
RM
243032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24304
24305 Large file support for grub-mkisofs.
24306
24307 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24308 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24309 (session_start): Upgrade type to `uint64_t'. Update all users.
24310 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24311 (struct directory_entry): Upgrade type of `starting_block' and
24312 `size' to `uint64_t'. Update all users.
24313 (struct deferred): Remove unused structure.
24314 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24315 Update all users.
24316 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24317 file is larger than `UINT32_MAX'.
24318 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24319 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24320 return value.
24321 (struct deferred_write): Upgrade type of `extent' and `size' to
24322 `uint64_t'. Update all users.
24323 (last_extent_written): Upgrade type to `uint64_t'. Update all
24324 users.
24325 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24326 Update all users. Upgrade type of `remain' to `int64_t' and
24327 `use' to `size_t'. Use error() to handle fread() errors.
24328 (write_files): Rely on write_one_file() rather than calling
24329 xfwrite() directly.
24330
6a9cead5
FZ
243312009-11-09 Felix Zielcke <fzielcke@z-51.de>
24332
24333 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24334
4825d790
RM
243352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24336
24337 * util/mkisofs/fnmatch.c: Remove.
24338 * util/mkisofs/getopt1.c: Likewise.
24339 * util/mkisofs/getopt.c: Likewise.
24340 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24341 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24342 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24343 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24344 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24345
24346 * configure.ac: Detect `mingw32msvc' host_os.
24347 Check for lstat(), getuid() and getgid().
24348
24349 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24350 instances of `u_char' with `uint8_t'.
24351
24352 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24353 [!HAVE_GETUID] (getuid): New function (stub).
24354 [!HAVE_GETGID] (getgid): Likewise.
24355 [!HAVE_LSTAT] (lstat): Likewise.
24356 [!S_IROTH] (S_IROTH): New macro (dummy).
24357 [!S_IRGRP] (S_IRGRP): Likewise.
24358
84b860d8
RM
243592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24360
24361 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24362 conditional expression).
24363
66e9b712
RM
243642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24365
24366 Import from Gnulib.
24367
24368 * gnulib/fnmatch.c: New file.
24369 * gnulib/fnmatch.h: Likewise.
24370 * gnulib/fnmatch_loop.c: Likewise.
24371 * gnulib/getopt.c: Likewise.
24372 * gnulib/getopt.h: Likewise.
24373 * gnulib/getopt1.c: Likewise.
24374 * gnulib/getopt_int.h: Likewise.
24375 * gnulib/gettext.h: Likewise.
24376
34f4a5b0
RM
243772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24380 * normal/handler.c (read_handler_list): Likewise.
24381
ac451143
RM
243822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24383
24384 Misc cleanup.
24385
24386 * kern/command.c (grub_register_command_prio): Use
24387 grub_zalloc() instead of explicitly zeroing data.
24388 * kern/list.c: Include `<grub/mm.h>'.
24389 (grub_named_list_find): Replace `0' with `NULL'.
24390 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24391 (fs_module_list): Change type to `grub_named_list_t'. Update all
24392 users.
24393 * normal/dyncmd.c (read_command_list): Add space between function
24394 call and parenthesis.
24395 * normal/handler.c (read_handler_list): Likewise.
24396
4089b167
RM
243972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24398
24399 * normal/auth.c (punishment_delay): Moved from here ...
24400 (grub_auth_strcmp): ... to here (inside function).
24401
325f5037
RM
244022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24403
24404 * include/grub/list.h (struct grub_named_list): Remove `const'
24405 qualifier from `name'.
24406 (struct grub_prio_list): Likewise.
24407
7aea29a3
RM
244082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24409
24410 * normal/auth.c: Include `<grub/time.h>'.
24411 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24412
3fd6f044
RM
244132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24414
24415 * normal/auth.c (punishment_delay): New variable.
24416 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24417 (grub_auth_check_authentication): Punish failed login attempts with
24418 an incremental (2^N) delay.
24419
a4cd68e4
RM
244202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24421
24422 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24423 path with $(srcdir).
24424
7ad12f43
VS
244252009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24428
c1129f03
RM
244292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24430
24431 * util/i386/coreboot/grub-mkrescue.in: New file.
24432 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24433 variables.
24434
24435 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24436 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24437 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24438 requirements.
24439 * util/mkisofs/defaults.h: New file.
24440 * util/mkisofs/eltorito.c: Likewise.
24441 * util/mkisofs/exclude.h: Likewise.
24442 * util/mkisofs/fnmatch.c: Likewise.
24443 * util/mkisofs/getopt.c: Likewise.
24444 * util/mkisofs/getopt1.c: Likewise.
24445 * util/mkisofs/hash.c: Likewise.
24446 * util/mkisofs/include/fctldefs.h: Likewise.
24447 * util/mkisofs/include/mconfig.h: Likewise.
24448 * util/mkisofs/include/prototyp.h: Likewise.
24449 * util/mkisofs/include/statdefs.h: Likewise.
24450 * util/mkisofs/iso9660.h: Likewise.
24451 * util/mkisofs/joliet.c: Likewise.
24452 * util/mkisofs/match.c: Likewise.
24453 * util/mkisofs/match.h: Likewise.
24454 * util/mkisofs/mkisofs.c: Likewise.
24455 * util/mkisofs/mkisofs.h: Likewise.
24456 * util/mkisofs/multi.c: Likewise.
24457 * util/mkisofs/name.c: Likewise.
24458 * util/mkisofs/rock.c: Likewise.
24459 * util/mkisofs/tree.c: Likewise.
24460 * util/mkisofs/write.c: Likewise.
24461
ec8bb77d
VS
244622009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24465 being insecure.
24466
3716b12c
RM
244672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24468
24469 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24470 `grub-mkimage' (and use $0 when possible).
24471
b97b7b91
RM
244722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24473
24474 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24475 error message for excessively large memory map.
24476
04114812
RM
244772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24478
24479 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24480 executable bit.
24481
e4eb2373
RM
244822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24483
24484 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24485 message for coreboot users.
24486
c926e1d5 244872009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 Fix build with GNU gold.
24490
24491 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24492 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24493 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24494 link addresses.
24495 * aclocal.m4: Likewise.
24496
86e5b1db 244972009-11-04 Felix Zielcke <fzielcke@z-51.de>
24498
24499 * configure.ac (AC_PREREQ): Bump to 2.59d.
24500 * INSTALL: Make it more clear when Autoconf and Ruby are
24501 needed and when to run `./autogen.sh'.
24502
246cd78f 245032009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24504
24505 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24506 OSes.
24507
4f9dfb37 245082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24509
24510 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24511
b82bd5e1 245122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24513
24514 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24515 giving it to GNU Mach.
24516
ff1a9bca 245172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24518
24519 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24520 GNU partition number to get internal GRUB partition number.
24521
61697d9c 245222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24523
24524 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24525 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24526
a50569e1 245272009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24528
24529 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24530 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24531 case.
24532
5b153867 245332009-11-01 Felix Zielcke <fzielcke@z-51.de>
24534
24535 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24536
d9e2cd70 245372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24538
24539 Fix build problem.
24540
24541 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24542 `-isystem=$(srcdir)/include'.
24543
805111a4 245442009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24547 checked (grub-install doesn't currently rely on it).
24548
fa6e945f 245492009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 Revert SVN r2660.
24552
24553 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24554 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24555 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24556 * conf/i386-ieee1275.rmk: Likewise.
24557 * conf/i386-pc.rmk: Likewise.
24558 * conf/powerpc-ieee1275.rmk: Likewise.
24559 * conf/sparc64-ieee1275.rmk: Likewise.
24560 * conf/x86_64-efi.rmk: Likewise.
24561
cee15086 245622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24563
24564 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24565
95b9239e 245662009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24567
24568 * include/grub/misc.h: Stop checking for APPLE_CC.
24569
2ed19dfd 245702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24571
24572 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24573 doesn't cause an infinite call loop.
24574
fdcdde19 245752009-10-28 Felix Zielcke <fzielcke@z-51.de>
24576
24577 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24578 strings.
24579
cefabfe1 245802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24581
24582 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24583 variable.
24584 * Makefile.in: Likewise.
24585
ed96ab6d 245862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24587
24588 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24589
0579b753 245902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24591
24592 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24593
478df409 245942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24595
24596 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24597
083d1679 245982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24599
24600 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24601 from here ...
24602 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24603
5947ae32 246042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24607 in $(MAKEINFO) invocation. This makes it clear in output that
24608 errors are being ignored.
24609
94180ff6 246102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24611
24612 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24613 from here ...
24614 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24615 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24616 * conf/i386-ieee1275.rmk: Likewise.
24617 * conf/i386-pc.rmk: Likewise.
24618 * conf/powerpc-ieee1275.rmk: Likewise.
24619 * conf/sparc64-ieee1275.rmk: Likewise.
24620 * conf/x86_64-efi.rmk: Likewise.
24621
9031b03a 246222009-10-26 Colin Watson <cjwatson@ubuntu.com>
24623
24624 * util/grub-editenv.c (main): If only a command is given, use
24625 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24626 (usage): FILENAME is now optional and has a default.
24627
e4f6809b 246282009-10-26 Colin Watson <cjwatson@ubuntu.com>
24629
24630 Improve grub-mkconfig performance when there are several menu
24631 entries on a single filesystem.
24632
24633 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24634 prepare_grub_to_access_device.
24635 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24636 * util/grub.d/30_os-prober.in: Likewise.
24637
67937d4d 246382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24639
24640 * util/grub.d/10_freebsd.in: Remove.
24641 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24642 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24643
ee3756cc 246442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24645
5c35048e 24646 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24647
4dea1c6f 246482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24649
24650 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24651 grub_util_error() call.
24652
042484d7 246532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24654
24655 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24656 `reserved_first_sector' member.
24657 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24658 `reserved_first_sector' to 1.
24659 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24660 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24661 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24662 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24663 filesystems which begin at first sector.
24664 (options): New option --skip-fs-probe.
24665 (main): Handle --skip-fs-probe and pass it to setup().
24666
d64448a7 246672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24670 (memset): Fix function prototype.
24671
508d42ec 246722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
246732009-10-25 Vasily Averin <vvs@parallels.com>
24674
24675 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24676 `dirent.direntlen == 0'.
24677
b240e30c 246782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24681 `cpio'.
24682 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24683
346e7fbe 246842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24685
24686 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24687 `__trampoline_setup' and `__ucmpdi2'.
24688 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24689 that libgcc provides.
24690
cdb308b0 246912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24694 * include/grub/sparc64/libgcc.h (memset): Likewise.
24695 * include/grub/misc.h (memset, memcmp): New function prototypes.
24696
fb26abc2 246972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24698
24699 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24700 `cpio'.
24701 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24702
f6693890 247032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24704
24705 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24706 * docs/grub.cfg: Compensate for recent change in multiboot
24707 loader (since 2009-08-14 it won't pass filename to payload).
24708 * util/grub.d/10_hurd.in: Likewise.
24709
0933cdc0 247102009-10-21 Felix Zielcke <fzielcke@z-51.de>
24711
24712 * config.guess: Update to latest version from config git
24713 repository.
24714 * config.sub: Likewise.
24715
3b2fe8c2 247162009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24717
24718 Fix build on sparc64.
24719
24720 * configure.ac: Perform checks for libgcc symbols before
24721 adding `-nostdlib' to LDFLAGS.
24722
46695a62 247232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 Let user specify OpenBSD root device.
24726
24727 * loader/i386/bsd.c (openbsd_root): New variable.
24728 (openbsd_opts): New option 'root'.
24729 (OPENBSD_ROOT_ARG): New macro.
24730 (grub_openbsd_boot): Use 'openbsd_root'.
24731 (grub_cmd_openbsd): Fill 'openbsd_root'.
24732
d2b6b7fc 247332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24734
24735 * NEWS: Misc adjustments.
24736
421bd7ac 247372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24740
f1d29d87 247412009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24742
24743 * configure.ac: Bump version to 1.97.
24744
6f3cd880 247452009-10-16 Colin Watson <cjwatson@ubuntu.com>
24746
24747 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24748 -mno-3dnow on x86 architectures. Some toolchains enable these
24749 features by default, but they rely on registers that aren't enabled
24750 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24751
035f7122 247522009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24753
24754 Make entry text a bit more readable.
24755
24756 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24757
44998e58 247582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24759
24760 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24761
cd2851b3 247622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24765 operations.
24766
c6f3b249 247672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 * configure.ac: Add missing dollar.
24770
6b5886ba 247712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24774
24775 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24776 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24777 exports.
24778 * include/grub/sparc64/libgcc.h: Likewise. Use
24779 preprocessor conditionals.
24780
e9d66f6d 247812009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24782
24783 * conf/common.rmk (grub-dumpbios): Remove rule.
24784 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24785 * util/grub-dumpbios.in: Remove file.
24786
9155bc17 247872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24788
24789 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24790 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24791
24792 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24793 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24794 users.
24795
24796 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24797 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24798 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24799 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24800 users.
24801
bf7f7a18 248022009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24803
24804 * term/tparm.c: Switch to GPLv3.
24805
86564c26 248062009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24807
24808 * include/grub/i386/cpuid.h: Add header protection.
24809
5c936493 248102009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24811
24812 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24813
24814 * include/grub/i386/cpuid.h: New file.
24815 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24816 (has_longmode): Rename to ...
24817 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24818 `static' attribute.
24819 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24820 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24821 on a CPU that doesn't implement AMD64 instruction set.
24822
186e7cf2 248232009-10-06 Colin Watson <cjwatson@ubuntu.com>
24824
24825 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24826 that version.texi is rebuilt on version number changes.
24827
83b65c4a 248282009-10-06 Colin Watson <cjwatson@ubuntu.com>
24829
24830 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24831 Fixes bug #27602.
24832
d244281c 248332009-10-06 Colin Watson <cjwatson@ubuntu.com>
24834
24835 * util/i386/pc/grub-install.in: Source
24836 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24837 that the --grub-probe option will work.
24838 * util/sparc64/ieee1275/grub-install.in: Likewise.
24839
da25306d 248402009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24841
24842 * configure.ac: Bump version to 1.97~beta4.
24843
e8ee83c0 248442009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24845
24846 Resync grub-mkdevicemap in x86_64-efi.
24847
24848 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24849 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24850 `util/devicemap.c'.
24851
50dcabcf 248522009-10-01 Colin Watson <cjwatson@ubuntu.com>
24853
24854 * util/grub-editenv.c (create_envblk_file): Write new block with a
24855 .new suffix and then rename it into place, to ensure atomic
24856 creation.
24857
0e51c3a7 248582009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24859
24860 Do not automatically install headers.
24861
24862 * Makefile.in (include_DATA): Remove. Update all users.
24863
31299a95 248642009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24865
24866 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24867 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24868
24869 * util/osdetect.lua: Remove.
24870 * script/lua/lauxlib.c: Likewise.
24871 * script/lua/ldebug.c: Likewise.
24872 * script/lua/grub_main.c: Likewise.
24873 * script/lua/lauxlib.h: Likewise.
24874 * script/lua/ldebug.h: Likewise.
24875 * script/lua/ltablib.c: Likewise.
24876 * script/lua/liolib.c: Likewise.
24877 * script/lua/lstrlib.c: Likewise.
24878 * script/lua/lualib.h: Likewise.
24879 * script/lua/ldo.c: Likewise.
24880 * script/lua/ldump.c: Likewise.
24881 * script/lua/ldo.h: Likewise.
24882 * script/lua/loslib.c: Likewise.
24883 * script/lua/lundump.c: Likewise.
24884 * script/lua/grub_lib.c: Likewise.
24885 * script/lua/ldblib.c: Likewise.
24886 * script/lua/lundump.h: Likewise.
24887 * script/lua/lmem.c: Likewise.
24888 * script/lua/grub_lib.h: Likewise.
24889 * script/lua/lmathlib.c: Likewise.
24890 * script/lua/lstate.c: Likewise.
24891 * script/lua/ltm.c: Likewise.
24892 * script/lua/lvm.c: Likewise.
24893 * script/lua/lmem.h: Likewise.
24894 * script/lua/lstate.h: Likewise.
24895 * script/lua/ltm.h: Likewise.
24896 * script/lua/ltable.c: Likewise.
24897 * script/lua/lvm.h: Likewise.
24898 * script/lua/llex.c: Likewise.
24899 * script/lua/lgc.c: Likewise.
24900 * script/lua/grub_lua.h: Likewise.
24901 * script/lua/loadlib.c: Likewise.
24902 * script/lua/lfunc.c: Likewise.
24903 * script/lua/lopcodes.c: Likewise.
24904 * script/lua/lparser.c: Likewise.
24905 * script/lua/ltable.h: Likewise.
24906 * script/lua/llex.h: Likewise.
24907 * script/lua/lgc.h: Likewise.
24908 * script/lua/lfunc.h: Likewise.
24909 * script/lua/lbaselib.c: Likewise.
24910 * script/lua/lopcodes.h: Likewise.
24911 * script/lua/lparser.h: Likewise.
24912 * script/lua/lzio.c: Likewise.
24913 * script/lua/linit.c: Likewise.
24914 * script/lua/lobject.c: Likewise.
24915 * script/lua/llimits.h: Likewise.
24916 * script/lua/lstring.c: Likewise.
24917 * script/lua/lzio.h: Likewise.
24918 * script/lua/lapi.c: Likewise.
24919 * script/lua/lcode.c: Likewise.
24920 * script/lua/lua.h: Likewise.
24921 * script/lua/lobject.h: Likewise.
24922 * script/lua/lstring.h: Likewise.
24923 * script/lua/lapi.h: Likewise.
24924 * script/lua/lcode.h: Likewise.
24925 * script/lua/luaconf.h: Likewise.
24926
cb8a2c38 249272009-09-26 Colin Watson <cjwatson@ubuntu.com>
24928
24929 * docs/grub.texi (Command-line and menu entry commands): Document
24930 date and echo commands.
24931
6b9b6276 249322009-09-24 Pavel Roskin <proski@gnu.org>
24933
24934 * include/grub/kernel.h (struct grub_module_header): Remove
24935 `grub_module_header_types'. Make `type' unsigned. Make `size'
24936 32-bit on all platforms.
24937 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24938 8-bit field. Use grub_host_to_target32() for `size'.
24939 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24940 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24941 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24942
4e5a02a7 249432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24944
24945 Fix "lost keypress" bug in at_keyboard.
24946
24947 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24948 Checks for readyness of input buffer (without flushing it).
24949 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24950 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24951
c6dcedf6 249522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24953
24954 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24955 size check within GRUB_MACHINE_PCBIOS section.
24956
74c958b1 249572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24958
24959 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24960 return value.
24961 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24962 KEYBOARD_ISREADY check.
24963 (grub_at_keyboard_checkkey): Rename to ...
24964 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24965 Remove gratuitous cast.
24966
ff420223 249672009-09-23 Colin Watson <cjwatson@ubuntu.com>
24968
24969 * configure.ac: Call AC_PROG_MKDIR_P.
24970 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24971 version.texi in $(builddir) rather than $(srcdir).
24972 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24973 to makeinfo's @include search path.
24974
d96875df 249752009-09-23 Felix Zielcke <fzielcke@z-51.de>
24976
24977 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24978
9b3f8365 249792009-09-23 Felix Zielcke <fzielcke@z-51.de>
24980
24981 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24982 for `*.dpkg-new'.
24983
c44c90db 249842009-09-21 Colin Watson <cjwatson@ubuntu.com>
24985
24986 Build info documentation. Some code borrowed from Automake.
24987
24988 * configure.ac: Check for makeinfo.
24989 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24990 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24991 docs/version.texi.
24992 (MOSTLYCLEANFILES): Add vti.tmp.
24993 (docs/version.texi, docs/stamp-vti): Update automatically.
24994 (docs/grub.info): Build info documentation. Use --force and ignore
24995 errors for now.
24996 (all-local): Add $(INFOS).
24997 (install-local): Install info files.
24998 (uninstall): Uninstall info files.
24999 * docs/version.texi: Remove from revision control. This file is
25000 automatically generated on build now.
25001 * gendistlist.sh: Add `*.info'.
25002
e0b37bb5 250032009-09-21 Felix Zielcke <fzielcke@z-51.de>
25004
25005 * kern/term.c: Fix indentation.
25006
5a78865b 250072009-09-21 Felix Zielcke <fzielcke@z-51.de>
25008
25009 * util/hostdisk.c: Fix a comment.
25010
dace7e8a 250112009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25012
25013 Fix regression introduced in r2539.
25014
25015 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25016 to 0xA1.
25017
a83d079b 250182009-09-19 Colin Watson <cjwatson@ubuntu.com>
25019
25020 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25021 os-prober. Under normal operation, it does not print anything to
25022 stderr; if it does, we need to debug it, and throwing away stderr
25023 makes that excessively difficult.
a83d079b 25024
be94a509 250252009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25028
63f745e8 250292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25030
25031 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25032 AC_LANG_PROGRAM from autoconf.
25033 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25034 prototypes (fixes warning).
25035
25036 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25037 `--disable-werror' was used.
25038
bbb2a70f 250392009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25040
25041 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25042 uninitialized `lastaddr'.
25043
77c24f1d 250442009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25045
0f0b8c87 25046 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25047
07197f23 250482009-09-14 Colin Watson <cjwatson@ubuntu.com>
25049
25050 * commands/test.c (get_fileinfo): Return immediately if
25051 grub_fs_probe fails.
25052
dabf1798 250532009-09-14 José Martínez <xosemp@gmail.com>
25054
25055 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25056
d52109a7 250572009-09-14 Colin Watson <cjwatson@ubuntu.com>
25058
25059 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25060 output.
25061
56532179 250622009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25063
25064 * configure.ac: Remove --enable-grub-pe2elf. Only build
25065 grub-pe2elf when needed by the build system itself.
25066 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25067
8ef070f5 250682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25069
25070 * configure.ac: Bump version to 1.97~beta3.
25071 * docs/version.texi: Likewise.
25072
61229557 250732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25074
25075 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25076 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25077 from here ...
25078 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25079 (grub_linux_setup_video): ... to here (with some adjustments).
25080
5c9f8d84 250812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25082
25083 Fix memory corruption issue (spotted by Colin Watson).
25084
25085 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25086 causing returned size to be stored in an incorrect memory location.
25087 Fix use of uninitialized value when storing the returned size.
25088
e8f5d6e9 250892009-09-12 Yves Blusseau <blusseau@zetam.org>
25090
25091 Change clean rules to properly remove files
25092
25093 * genmk.rb: add new clean rules
25094 * Makefile.in (clean): add the new targets
25095 (mostlyclean): likewise
25096
cda2a409 250972009-09-11 Colin Watson <cjwatson@ubuntu.com>
25098
25099 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25100 to grub_uint64_t.
25101 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25102 non-resident files.
25103
86695375 251042009-09-11 Colin Watson <cjwatson@ubuntu.com>
25105
25106 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25107 part of bug #27349.
25108
8aa1541a 251092009-09-10 Felix Zielcke <fzielcke@z-51.de>
25110
25111 * util/grub-mkconfig.in: Make the created config mode 400 and
25112 print a warning if it fails.
25113
48d9bb0a 251142009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25115
25116 * util/grub.d/40_custom.in: Ask user to type custom entries below
25117 comment, rather than below 'exec tail' line.
25118
3b0521be 251192009-09-10 Colin Watson <cjwatson@ubuntu.com>
25120
25121 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25122 visible in grub.cfg.
25123
50051d55 251242009-09-10 Colin Watson <cjwatson@ubuntu.com>
25125
25126 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25127 file.
25128
c0d34387 251292009-09-10 Felix Zielcke <fzielcke@z-51.de>
25130
25131 * docs/grub.cfg: Add an example menu entry for memtest86+.
25132
80a608f3 251332009-09-09 Felix Zielcke <fzielcke@z-51.de>
25134
a2094832 25135 * config.guess: Update to latest version from config git.
80a608f3 25136 * config.sub: Likewise.
25137
99423078 251382009-09-08 Colin Watson <cjwatson@ubuntu.com>
25139
25140 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25141 unknown-command case. Fixes bug #27320.
25142
44454e4c 251432009-09-08 Felix Zielcke <fzielcke@z-51.de>
25144
25145 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25146 `help' if the command exists.
25147
e30d87ad 251482009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25149
25150 * INSTALL: Require GCC 4.1.3 or later.
25151
9a86f1ec 251522009-09-06 Yves Blusseau <blusseau@zetam.org>
25153
25154 * Makefile.in (RMKFILES): add i386-qemu.rmk
25155 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25156 $(srcdir)/stamp-h.in
25157
7f26d466 251582009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25159
25160 * util/grub-probe.c (probe): Comment out buggy codepath, which
25161 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25162 should be re-enabled after 1.97.
25163
3a613259 251642009-09-05 Felix Zielcke <fzielcke@z-51.de>
25165
25166 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25167 find searches for.
25168
197f76c7 251692009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25172 unnecessary calls to grub_error.
25173
70ba68ce 251742009-09-04 Colin Watson <cjwatson@ubuntu.com>
25175
25176 * NEWS: Mention `keystatus' and Unicode fonts.
25177
4ff0d7a4 251782009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25179
25180 * configure.ac: Bump version to 1.97~beta2.
25181 * docs/version.texi: Likewise.
25182
77c55a87 251832009-09-03 Colin Watson <cjwatson@ubuntu.com>
25184
25185 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25186 containing unwind information in some cases where it previously did
25187 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25188 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25189 discussion.
25190
f79572cd 251912009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25192
25193 Embedding loadenv module into grub-emu
25194
25195 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25196 commands/loadenv.c
25197 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25202 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25203
93a81088 252042009-09-03 Magnus Granberg <zorry@ume.nu>
25205
25206 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25207 include -fPIE in the default specs.
25208 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25209 to TARGET_CFLAGS.
25210
160034b2 252112009-09-03 Felix Zielcke <fzielcke@z-51.de>
25212
25213 * INSTALL: Note that GNU Bison 2.3 or later is required.
25214
087c07c4 252152009-09-03 Colin Watson <cjwatson@ubuntu.com>
25216
25217 * kern/i386/pc/startup.S: Fix typo.
25218
cbf978c0 252192009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25220
25221 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25222 according to GCS.
25223
252242009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25225
25226 * docs/grub.texi (Naming convention): Describe one-based partition
25227 numbering.
25228 (Device syntax): Likewise.
25229 (File name syntax): Likewise.
25230 (Block list syntax): Likewise.
25231 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25232 menu.lst.
25233 (File name syntax): Likewise.
25234 (Command-line and menu entry commands): Document acpi, blocklist,
25235 crc, export, insmod, keystatus, ls, set, and unset commands.
25236
f3e8cdfd 252372009-09-02 Colin Watson <cjwatson@ubuntu.com>
25238
25239 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25240 to avoid implying that only one of --shift, --ctrl, or --alt may be
25241 used.
25242
c0bc232b 252432009-09-02 Colin Watson <cjwatson@ubuntu.com>
25244
25245 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25246 rather than comparing against S_IFREG, which will almost never work.
25247
aa0f752d 252482009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25251 (write_blocklists): Likewise.
25252
ecb3166a 252532009-09-01 Colin Watson <cjwatson@ubuntu.com>
25254
25255 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25256 argument to grub_printf.
25257
c403a125 252582009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25259
25260 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25261 non GNU test.
31aba781 25262
b5e7312c 252632009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 * kern/file.c (grub_file_read): Spelling fix
25266
fe00f472 252672009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25268
25269 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25270 loading of headers in some cases.
25271
cc55302e 252722009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25273
25274 * configure.ac: Bump version to 1.97~beta1.
25275 * docs/version.texi: Likewise.
25276
5c90cdd2 252772009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25278
25279 * include/grub/i386/xnu.h: Add license header.
25280 include grub/err.h explicitly.
25281
c90edae4 252822009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25283
25284 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25285 to `ufs' in the vfs.root.mountfrom kernel parameter.
25286
d8888b5c 252872009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25288
25289 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25290
25291 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25292 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25293
25294 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25295 `ARRAY_SIZE' macro.
25296
6f07b921 252972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25298
25299 * kern/file.c (grub_file_read): Check offset.
25300 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25301 * fs/jfs.c (grub_jfs_read_file): Likewise.
25302 * fs/ntfs.c (grub_ntfs_read): Likewise.
25303 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25304 * fs/minix.c (grub_minix_read_file): Correct offset check.
25305 * fs/ufs.c (grub_ufs_read_file): Likewise.
25306
b4f34077 253072009-08-28 Colin Watson <cjwatson@ubuntu.com>
25308
25309 * term/i386/pc/console.c (bios_data_area): Cast
25310 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25311
e7c69859 253122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25313
25314 1-bit optimised blitters.
25315
25316 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25317 prototype.
25318 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25319 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25320 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25321 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25322 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25323 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25324 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25325 function.
25326 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25327 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25328 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25329 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25330 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25331 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25332 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25333 when possible.
25334 * video/video.c (grub_video_get_blit_format): Return
25335 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25336
a57da43f 253372009-08-28 Colin Watson <cjwatson@ubuntu.com>
25338
25339 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25340 the first argument to grub_printf.
25341
4cbe67e5 253422009-08-28 Colin Watson <cjwatson@ubuntu.com>
253432009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25344
25345 Add `getkeystatus' terminal method. Add a new `keystatus' command
25346 to query it.
25347
25348 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25349 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25350 modifier key bitmasks.
25351 (struct grub_term_input): Add `getkeystatus' member.
25352 (grub_getkeystatus): Add prototype.
25353 * kern/term.c (grub_getkeystatus): New function.
25354
25355 * include/grub/i386/pc/memory.h
25356 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25357 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25358 Data Area layout.
25359 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25360 (grub_console_term_input): Set `getkeystatus' member.
25361 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25362 constants.
25363 (grub_usb_keyboard_getreport): Likewise.
25364 (grub_usb_keyboard_checkkey): Likewise.
25365 (grub_usb_keyboard_getkeystatus): New function.
25366 (grub_usb_keyboard_term): Set `getkeystatus' member.
25367
25368 * commands/keystatus.c: New file.
25369 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25370 (keystatus_mod_SOURCES): New variable.
25371 (keystatus_mod_CFLAGS): Likewise.
25372 (keystatus_mod_LDFLAGS): Likewise.
25373 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25374 commands/keystatus.c.
25375 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25377 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25379 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25380 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25381
6e2a9085 253822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25383
25384 Split befs.mod and afs.mod into *_be.mod and *.mod
25385
25386 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25387 (grub_fstest_SOURCES): Likewise.
25388 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25389 (afs_be_mod_SOURCES): New variable.
25390 (afs_be_mod_CFLAGS): Likewise.
25391 (afs_be_mod_LDFLAGS): Likewise.
25392 (befs_be_mod_SOURCES): Likewise.
25393 (befs_be_mod_CFLAGS): Likewise.
25394 (befs_be_mod_LDFLAGS): Likewise.
25395 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25396 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25397 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25398 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25399 (grub_emu_SOURCES): Likewise.
25400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25403 * fs/afs_be.c: New file.
25404 * fs/befs_be.c: New file.
25405 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25406 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25407 (U16): Replaced with ...
25408 (grub_afs_to_cpu16): ...this. All users updated.
25409 (U32): Replaced with ...
25410 (grub_afs_to_cpu32): ...this. All users updated.
25411 (U64): Replaced with ...
25412 (grub_afs_to_cpu64): ...this. All users updated.
25413 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25414 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25415 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25416 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25417 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25418 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25419 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25420 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25421 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25422 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25423 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25424
32a71655 254252009-08-26 Bean <bean123ch@gmail.com>
25426
25427 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25428 64-bit number.
25429 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25430 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25431 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25432
552bf6c5 254332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 NetBSD memory map support.
25436
25437 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25438 (grub_netbsd_btinfo_mmap_header): New structure.
25439 (grub_netbsd_btinfo_mmap_entry): Likewise.
25440 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25441
1ae2078c 254422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 Enable bsd.mod on coreboot.
25445
25446 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25447 (bsd_mod_SOURCES): New variable.
25448 (bsd_mod_CFLAGS): Likewise.
25449 (bsd_mod_LDFLAGS): Likewise.
25450 (bsd_mod_ASFLAGS): Likewise.
25451 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25452 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25453
beefc598 254542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25455
25456 Cleanup NetBSD root support.
25457
25458 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25459 grub_bsd_get_device.
25460 Fix typo.
25461
3b76e68b 254622009-08-25 Felix Zielcke <fzielcke@z-51.de>
25463
25464 * util/grub.d/00_header.in: Move check for the video backend of
25465 gfxterm from here ...
25466 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25467 a suitable video backend.
25468
aea664ea 254692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25470
25471 Fix breakage in grub-setup.
25472
25473 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25474 "msdos_partition_map".
25475
ff747d50 254762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Fix breakage in normal/auth.c.
25479
25480 * normal/auth.c (grub_iswordseparator): New function.
25481
e7e1f93f 254822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25483
25484 Authentication support.
25485
25486 * commands/password.c: New file.
25487 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25488 (password_mod_SOURCES): New variable.
25489 (password_mod_CFLAGS): Likewise.
25490 (password_mod_LDFLAGS): Likewise.
25491 (normal_mod_SOURCES): Add normal/auth.c.
25492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25493 normal/auth.c.
25494 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25495 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25496 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25498 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25499 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25500 * include/grub/auth.h: New file.
25501 * include/grub/err.h (grub_err_t): New enum value
25502 GRUB_ERR_ACCESS_DENIED.
25503 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25504 'users'.
25505 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25506 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25507 users updated.
25508 * normal/auth.c: New file.
25509 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25510 (grub_cmdline_run): Don't allow to go to command line without
25511 authentication.
25512 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25513 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25514 menuentry without superuser rights.
25515 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25516 user isn't a superuser.
25517
70f1161d 255182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 Save space by inlining misc.c functions.
25521
25522 * kern/misc.c (grub_iswordseparator): Made static.
25523 * kern/misc.c (grub_strcat): Moved from here ...
25524 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25525 * kern/misc.c (grub_strncat): Moved from here ...
25526 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25527 * kern/misc.c (grub_strcasecmp): Moved from here ...
25528 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25529 * kern/misc.c (grub_strncasecmp): Moved from here ...
25530 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25531 * kern/misc.c (grub_isalpha): Moved from here ...
25532 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25533 * kern/misc.c (grub_isdigit): Moved from here ...
25534 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25535 * kern/misc.c (grub_isgraph): Moved from here ...
25536 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25537 * kern/misc.c (grub_tolower): Moved from here ...
25538 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25539
48e40bff 255402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25541
25542 * script/sh/function.c (grub_script_function_find): Cut error message
25543 not to flood terminal.
25544 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25545 limit.
25546 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25547
c385bfc3 255482009-08-24 Colin Watson <cjwatson@ubuntu.com>
25549
25550 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25551 `report' grub_uint8_t *.
25552 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25553 Use a 50-millisecond timeout rather than just repeating
25554 grub_usb_keyboard_getreport 50 times.
25555 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25556
2d21e3e8 255572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25558
25559 Rename *_partition_map to part_*
25560
25561 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25562 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25563 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25564 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25565 All users updated.
25566 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25567 All users updated.
25568 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25569 * util/grub-probe.c (probe_partmap): Don't transform partition name
25570 to get module name.
25571
dd103c4e 255722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25573
25574 Fix OpenBSD and NetBSD support.
25575
25576 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25577 memory address conflict.
25578 (OPENBSD_MMAP_ACPI): New definition.
25579 (OPENBSD_MMAP_NVS): Likewise.
25580 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25581 and OPENBSD_MMAP_NVS.
25582 Add memory map terminator
25583 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25584 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25585
16c84d74 255862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25587
25588 Let user specify NetBSD root device.
25589
25590 * loader/i386/bsd.c (netbsd_root): New variable.
25591 (netbsd_opts): New option 'root'.
25592 (NETBSD_ROOT_ARG): New macro.
25593 (grub_netbsd_boot): Use 'netbsd_root'.
25594 (grub_bsd_unload): Free 'netbsd_root'.
25595 (grub_cmd_netbsd): Fill 'netbsd_root'.
25596
adb29902 255972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 Support for 64-bit NetBSD.
25600
25601 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25602 point when booting non-FreeBSD.
25603
f5ae9f74 256042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 Support --no-smp and --no-acpi for NetBSD.
25607
25608 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25609 (NETBSD_AB_NOACPI): Likewise.
25610 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25611 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25612
de74f136 256132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25616 errors.
25617 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25618 errors. Call grub_error when needed.
25619
e9a925da 256202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25621
25622 * commands/search.c (search_fs): Try searching without autoload first.
25623 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25624 filesystem module explicitly for faster booting.
25625
5174302b 256262009-08-23 Colin Watson <cjwatson@ubuntu.com>
25627
25628 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25629
c8c80635 256302009-08-23 Colin Watson <cjwatson@ubuntu.com>
25631
25632 * util/grub.d/30_os-prober.in: Disable os-prober if
25633 `GRUB_DISABLE_OS_PROBER' was set to true.
25634
71acf5e5 256352009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25636
25637 * partmap/pc.c: Rename to ...
25638 * partmap/msdos.c: ... this. Update all users.
25639 (grub_pc_partition_map): Rename to ...
25640 (grub_msdos_partition_map): ... this. Update all users.
25641
25642 * parttool/pcpart.c: Rename to ...
25643 * parttool/msdospart.c: ... this. Update all users.
25644
25645 * include/grub/pc_partition.h: Rename to ...
25646 * include/grub/msdos_partition.h: ... this. Update all users.
25647 (grub_pc_partition_bsd_entry): Rename to ...
25648 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25649 (grub_pc_partition_disk_label): Rename to ...
25650 (grub_msdos_partition_disk_label): ... this. Update all users.
25651 (grub_pc_partition_entry): Rename to ...
25652 (grub_msdos_partition_entry): ... this. Update all users.
25653 (grub_pc_partition_mbr): Rename to ...
25654 (grub_msdos_partition_mbr): ... this. Update all users.
25655 (grub_pc_partition): Rename to ...
25656 (grub_msdos_partition): ... this. Update all users.
25657 (grub_pc_partition_is_empty): Rename to ...
25658 (grub_msdos_partition_is_empty): ... this. Update all users.
25659 (grub_pc_partition_is_extended): Rename to ...
25660 (grub_msdos_partition_is_extended): ... this. Update all users.
25661 (grub_pc_partition_is_bsd): Rename to ...
25662 (grub_msdos_partition_is_bsd): ... this. Update all users.
25663
25664 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25665 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25666 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25667 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25668 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25669 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25670 (gpt_mod_LDFLAGS): Rename to ...
25671 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25672 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25673 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25674 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25675 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25676 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25677 (part_gpt_mod_LDFLAGS): ... this.
25678 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25679 `pcpart.mod' to `msdospart.mod'.
25680 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25681 to ...
25682 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25683 (msdospart_mod_LDFLAGS): ... this.
25684
c11fded5 256852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25688 (openbsd_opts): Likewise.
25689 (netbsd_opts): Likewise.
25690 (freebsd_flags): Added 0 terminator.
25691 (openbsd_flags): Likewise.
25692 (netbsd_flags): Likewise.
25693 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25694 (grub_cmd_freebsd): Transformed into extended command.
25695 (grub_cmd_openbsd): Likewise.
25696 (grub_cmd_netbsd): Likewise.
25697 (cmd_freebsd): Changed type to grub_extcmd_t.
25698 (cmd_openbsd): Likewise.
25699 (cmd_netbsd): Likewise.
25700 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25701 grub_cmd_openbsd as extended commands.
25702 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25703 cmd_netbsd and cmd_openbsd
25704
11d1c769 257052009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25708
7a9094e5 257092009-08-21 Pavel Roskin <proski@gnu.org>
25710
5496c37e 25711 * Makefile.in (install-local): When checking if a file is in the
25712 build directory, use "test -e" to detect symlinks.
25713
7a9094e5 25714 * Makefile.in (install-local): Remove all files in
25715 $(DESTDIR)$(pkglibdir) before installing new files there.
25716
e53cea11 257172009-08-18 Felix Zielcke <fzielcke@z-51.de>
25718
25719 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25720 grub-mkelfimage.
25721
9aced544 257222009-08-18 Felix Zielcke <fzielcke@z-51.de>
25723
25724 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25725 explicitly specified by the user.
25726
b7da6bab 257272009-08-18 Pavel Roskin <proski@gnu.org>
25728
25729 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25730 grub_uint8_t pointer for data.
25731 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25732 Likewise.
25733 * video/fb/fbutil.c: Remove unnecessary casts.
25734
19f1b335 257352009-08-17 Michal Suchanek <hramrach@centrum.cz>
25736
25737 VBE cleanup.
25738
25739 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25740 (grub_vbe_set_video_mode): Save active mode info
25741 only after setting the mode.
25742 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25743 second argument.
25744
2f467aa9 257452009-08-17 Michal Suchanek <hramrach@centrum.cz>
25746
25747 Rename variables for clarity.
25748
25749 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25750 (active_vbe_mode_info): ... this. All users updated.
25751 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25752 All users updated.
25753 (initial_mode): Rename to ...
25754 (initial_vbe_mode): ... this. All users updated.
25755 (mode_in_use): Rename to ..
25756 (vbe_mode_in_use): ... this. All users updated.
25757 (mode_list): Rename to ..
25758 (vbe_mode_list): ... this. All users updated.
25759 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25760 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25761 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25762 'mode_list_size' to 'vbe_mode_list_size'.
25763 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25764 'best_mode_info' to 'best_vbe_mode_info' and
25765 'best_mode' to 'best_vbe_mode'
25766
6025fcd7 257672009-08-17 Michal Suchanek <hramrach@centrum.cz>
25768
25769 Remove duplicate grub_video_fb_get_video_ptr.
25770
25771 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25772 (grub_video_fb_get_video_ptr): ... this.
25773 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25774 * video/fb/fbutil.c: Add comment about addressing.
25775 (get_data_ptr): Rename to ...
25776 (grub_video_fb_get_video_ptr): ... this. All users updated.
25777 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25778
cc8c6faf 257792009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25780
25781 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25782 grub_dprintf() that was just added.
25783
08aa61f0 257842009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25785
25786 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25787 (DEFAULT_VIDEO_MODE): Remove macros.
25788 (grub_linux_boot): Remove assumption that Linux has FB support,
25789 and use "text" as default video mode.
25790
7cef4f75 257912009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25792
25793 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25794 grub_dprintf.
25795 * fs/fat.c (grub_fat_read_data): Likewise.
25796
e1f39873 257972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25798
25799 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25800 payload.
25801 (grub_module): Likewise.
25802
c166d79e 258032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25804
25805 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25806 mbi->cmdline but free playground.
25807
c60cee8e 258082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25809
25810 Handle group offset on UFS1.
25811
25812 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25813 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25814
c0d8b5d4 258152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 Split ufs.mod into ufs1.mod and ufs2.mod.
25818
25819 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25820 (grub_fstest_SOURCES): Likewise.
25821 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25822 (ufs_mod_SOURCES): Remove.
25823 (ufs_mod_CFLAGS): Likewise.
25824 (ufs_mod_LDFLAGS): Likewise.
25825 (ufs1_mod_SOURCES): New variable.
25826 (ufs1_mod_CFLAGS): Likewise.
25827 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25828 (ufs2_mod_SOURCES): New variable.
25829 (ufs2_mod_CFLAGS): Likewise.
25830 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25832 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25833 Likewise.
25834 (grub_emu_SOURCES): Likewise.
25835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25836 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25837 (grub_setup_SOURCES): Likewise.
25838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25839 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25840 (grub_setup_SOURCES): Likewise.
25841 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25842 Likewise.
25843 * fs/ufs2.c: New file.
25844 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25845
d3539132 258462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25847
25848 Framebuffer split.
25849
25850 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25851 subsystem at the end.
25852 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25853 (video_fb_mod_SOURCES): New variable.
25854 (video_fb_mod_CFLAGS): Likewise.
25855 (video_fb_mod_LDFLAGS): Likewise.
25856 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25857 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25858 * video/i386/pc/vbeblit.c: Moved from here ...
25859 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25860 * video/i386/pc/vbefill.c: Moved from here ...
25861 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25862 * video/i386/pc/vbeutil.c: Moved from here ...
25863 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25864 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25865 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25866 * include/grub/i386/pc/vbefill.h: Moved from here ...
25867 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25868 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25869 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25870 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25871 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25872 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25873 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25874 (grub_video_adapter): Added 'get_info_and_fini'.
25875 (grub_video_get_info_and_fini): New prototype.
25876 (grub_video_set_mode): make modestring const char *.
25877 * loader/i386/linux.c (grub_linux_setup_video): Use
25878 grub_video_get_info_and_fini.
25879 (grub_linux_boot): Move modesetting just before booting.
25880 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25881 grub_video_get_info_and_fini.
25882 * video/i386/pc/vbe.c: Moved framebuffer part ...
25883 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25884 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25885 grub_video_fbstd_colors and grub_video_fb_set_palette.
25886 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25887 grub_video_fb_init.
25888 (grub_video_vbe_fini): Use grub_video_fb_fini.
25889 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25890 render_target and use grub_video_fb_set_active_render_target and
25891 grub_video_fb_set_palette.
25892 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25893 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25894 (grub_video_vbe_adapter): Use framebuffer.
25895 * video/video.c (grub_video_get_info_and_fini): New function.
25896 (grub_video_set_mode): Make modestring const char *.
25897 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25898 values are already initialised.
25899
d404ee56 259002009-08-14 Pavel Roskin <proski@gnu.org>
25901
25902 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25903 ABS and APPLE_CC.
25904 * boot/i386/pc/diskboot.S: Likewise.
25905 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25906 sectors allow compilation on MacOSX.
25907 * conf/i386-pc.rmk: Enable unconditional compilation of
25908 lnxboot.img.
25909
9a10df16 259102009-08-13 Colin Watson <cjwatson@ubuntu.com>
25911
25912 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25913 * util/grub.d/00_header.in: Enter interruptible sleep if
25914 GRUB_HIDDEN_TIMEOUT is set.
25915
be3c9ca7 259162009-08-13 Yves Blusseau <blusseau@zetam.org>
25917
25918 * include/grub/symbol.h: Add the LOCAL macro.
25919 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25920 starting with "L_".
25921
1f9e557e 259222009-08-13 Pavel Roskin <proski@gnu.org>
25923
9ca62843 25924 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25925 any modern compilers we support.
25926
1f9e557e 25927 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25928 Use local labels starting with "L_" so that Apple assembler
25929 knows they are local.
25930
81623db6 259312009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25932
25933 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25934 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25935 (bsd_kernel_types): ... this enum.
25936
25937 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25938 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25939 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25940
25941 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25942 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25943 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25944 messages.
25945
f5d35e7a 259462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25947
25948 * util/grub-dumpdevtree: Moved from here ...
25949 * util/i386/efi/grub-dumpdevtree: ... to here.
25950 (hexify): New function. Converts a string to its hex version.
25951 Generate hex versions of "efi" and "device-properties" by calling
25952 hexify() on the ASCII strings rather than by hardcoding numbers.
25953
d1e1d527 259542009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25955
25956 * fs/jfs.c: Update copyright year.
25957
1ebbe064 259582009-08-08 Felix Zielcke <fzielcke@z-51.de>
25959
25960 * util/grub.d/00_header.in: Fix a comment.
25961 * util/grub.d/10_linux.in: Likewise.
25962 * util/grub.d/10_windows.in: Likewise.
25963 * util/grub.d/10_hurd.in: Likewise.
25964
a78c8d24 259652009-08-08 Felix Zielcke <fzielcke@z-51.de>
25966
25967 * util/grub-mkconfig.in: Allow the user to specify the used font
25968 with GRUB_FONT.
25969
29a6b9e8 259702009-08-08 Pavel Roskin <proski@gnu.org>
25971
b5f16cc4 25972 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25973 available, xfs.mod needs it now.
25974
2f5cb827 25975 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25976 the "g" modifier in sed when the intention is to strip something
25977 once. This fixes comparison of kernels with multiple dashes.
25978
29a6b9e8 25979 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25980 on it. Add missing space before closing bracket. Fix
25981 misleading formatting.
25982
892a3d98 259832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25984
25985 * docs/grub.texi: Major overhaul. Remove all sections that are
25986 specific to GRUB Legacy, or mostly composed of Legacy-specific
25987 information.
25988
ed94253f 259892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25990
25991 * docs/version.texi: New file. Provides version information for
25992 grub.texi.
25993
126d6628 259942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25995
25996 * docs/grub.texi: Update CVS information to SVN.
25997 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25998
998b5aa9 259992009-08-07 Felix Zielcke <fzielcke@z-51.de>
26000
26001 * util/grub-mkconfig.in: Remove a wrong `fi'.
26002
818e094a 260032009-08-07 Felix Zielcke <fzielcke@z-51.de>
26004
26005 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26006 (grub_jfs_uuid): New function.
26007 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26008
b969c52f 260092009-08-07 Felix Zielcke <fzielcke@z-51.de>
26010
26011 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26012 of it to ...
26013 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26014 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26015
7a4894cc 260162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26017
26018 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26019 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26020 Update all users.
26021
26022 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26023 not just "vmlinu[zx]".
26024 Moved from here ...
26025 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26026 all users.
26027
26028 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26029 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26030 all users.
26031
4e2171f8 260322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 * util/grub.d/10_freebsd.in: Use an absolute device path for
26035 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26036
6dcfcb32 260372009-08-06 Felix Zielcke <fzielcke@z-51.de>
26038
26039 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26040 handling of multiple abstraction modules.
26041
f56a8756 260422009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26043
26044 Fix a bug resulting in black screen when loading Linux using a
26045 packed video mode.
26046
26047 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26048 function.
26049
26050 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26051 (grub_vbe_bios_getset_dac_palette_width): New function.
26052 (grub_vbe_bios_get_dac_palette_width)
26053 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26054 grub_vbe_bios_getset_dac_palette_width()).
26055
26056 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26057 check for return status.
26058 (grub_vbe_get_video_mode_info): When getting information for a packed
26059 mode (<= 8 bpp), obtain DAC palette width using
26060 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26061 {red,green,blue}_mark_size.
26062
222671b2 260632009-08-04 Felix Zielcke <fzielcke@z-51.de>
26064
ecb1a6d9 26065 * commands/search.c (options): Fix help output to match actual code.
222671b2 26066
f84114f5 260672009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26070 of homegrown code.
26071
bd288a20 260722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26073
26074 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26075 on XFS or ReiserFS.
26076
8aab5e25 260772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26078
26079 Support Apple partition map with sector size different from 512 bytes.
26080
26081 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26082 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26083 and 'apart.partmap_size'.
26084
6ad6258a 260852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
260862009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26087
26088 Fix cpuid command.
26089
26090 * commands/i386/cpuid.c (options): New variable.
26091 (grub_cmd_cpuid): Return real error.
26092 (GRUB_MOD_INIT(cpuid)): Declare options.
26093
67459bc6 260942009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26095
26096 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26097 valid.
26098
fbc6ab54 260992009-07-31 Bean <bean123ch@gmail.com>
26100
26101 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26102 log2_inode.
26103 (grub_fshelp_node): Move inode field to the end.
26104 (grub_xfs_data): Remove inode field.
26105 (grub_xfs_inode_block): Calculate inode size using sblock.
26106 (grub_xfs_inode_offset): Likewise.
26107 (grub_xfs_read_inode): Calculate inode size using sblock.
26108 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26109 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26110 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26111 to match inode size.
26112 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26113 not accessible when data is null.
26114 (grub_xfs_open): Likewise.
26115
f45d6cfc 261162009-07-31 Bean <bean123ch@gmail.com>
26117
26118 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26119 Don't change pv->disk if it's already set.
26120
26121 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26122 (grub_raid_register): ... here.
26123 (grub_raid_rescan): Removed.
26124
26125 * include/grub/raid.h (grub_raid_rescan): Removed.
26126
26127 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26128 (fstest): Replace grub_raid_rescan with module fini function followed
26129 by init function.
26130
26131 * util/grub-probe.c: Add include file <grub/raid.h>.
26132 (probe_raid_level): New function.
26133 (probe): Detect abstraction by walking the disk device, support two
26134 level of abstraction (LVM on RAID) when detecting partition map.
26135
24443b5a 261362009-07-31 Pavel Roskin <proski@gnu.org>
26137
26138 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26139 to grub_zalloc(), it was erroneous.
26140 Reported by Bean <bean123ch@gmail.com>
26141
a275d9e7 261422009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26143
26144 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26145 embedding zone, not only the first one.
a275d9e7 26146
56c5a47f 261472009-07-29 Joe Auricchio <jauricchio@gmail.com>
26148
26149 * term/gfxterm.c (clear_char): New function.
26150 (grub_virtual_screen_setup): Use clear_char.
26151 (scroll_up): Likewise.
26152 (grub_virtual_screen_cls): Likewise.
26153
67bb323a 261542009-07-29 Felix Zielcke <fzielcke@z-51.de>
26155
26156 * util/deviceiter.c (get_acceleraid_disk_name): New static
26157 function.
26158 (grub_util_iterate_devices): Handle Accelraid devices.
26159 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26160
388a7c75 261612009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26162
26163 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26164 separator for the suggested gfxpayload string (';' collides with the
26165 parser and needs escaping).
26166
3bb7abcf 261672009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26170 Clear direction flag before jumping to OS.
26171 (grub_multiboot2_real_boot): Likewise.
26172
2ddd36d7 261732009-07-28 Felix Zielcke <fzielcke@z-51.de>
26174
26175 * util/i386/pc/grub-install: Fix parsing of --disk-module
26176 option.
26177
c521b62b 261782009-07-28 Felix Zielcke <fzielcke@z-51.de>
26179
26180 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26181 when embedding.
26182
880e0a0c 261832009-07-26 Felix Zielcke <fzielcke@z-51.de>
26184
26185 * util/grub-mkconfig.in (package_version): New variable.
26186 Use it do display the version.
26187
2366e356 261882009-07-25 Felix Zielcke <fzielcke@z-51.de>
26189
26190 * kern/file.c (grub_file_open): Revert to previous check with
26191 grub_errno.
26192
7ad8c80e 261932009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26196 from help line. It's out of sync with code.
26197
72b9658b 261982009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26199
26200 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26201 entries on failed boot.
26202
77435277 262032009-07-25 Felix Zielcke <fzielcke@z-51.de>
26204
26205 * kern/file.c (grub_file_open): Fix an error check.
26206
fcaa8b21 262072009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26208
35d16c74 26209 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26210 partition map couldn't be identified.
fcaa8b21 26211
48904cd1 262122009-07-23 Pavel Roskin <proski@gnu.org>
26213
ef3c317f 26214 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26215 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26216 case of little endian words becomes just an optimization.
26217 Respect const modifier.
ad8ea1f4 26218 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26219
48904cd1 26220 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26221 to avoid loss of upper bits if align is unsigned and shorter
26222 than addr.
26223
260c9a89 262242009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26225
26226 UUID support for UFS
26227
26228 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26229 (grub_ufs_uuid): New function.
26230 (grub_ufs_fs): add .uuid
26231
f76ce889 262322009-07-21 Pavel Roskin <proski@gnu.org>
26233
26234 * kern/dl.c (grub_dl_check_header): Make static.
26235
6a6cbcaf 262362009-07-21 Felix Zielcke <fzielcke@z-51.de>
26237
26238 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26239 add drivemap for Vista. It breaks Windows 7.
26240
cffcddb2 262412009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26244 128 bytes
26245
1ef44b80 262462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26247
26248 Add BFS support
26249
26250 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26251 (grub_fstest_SOURCES): Likewise.
26252 (pkglib_MODULES): Add befs.mod.
26253 (befs_mod_SOURCES): New variable.
26254 (befs_mod_CFLAGS): Likewise.
26255 (befs_mod_LDFLAGS): Likewise.
26256 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26257 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26258 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26259 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26260 (grub_setup_SOURCES): Likewise.
26261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26262 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26263 (grub_setup_SOURCES): Likewise.
26264 * fs/befs.c: New file.
26265 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26266 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26267 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26268 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26269 (B_KEY_INDEX_ALIGN): New declaration.
26270 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26271 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26272 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26273 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26274 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26275 (grub_afs_mount) [MODE_BFS]: Likewise.
26276 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26277 (grub_afs_fs): Use GRUB_AFS_FSNAME
26278 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26279 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26280 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26281 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26282
4f253044 262832009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26284
26285 * util/getroot.c (find_root_device): Add support for MacOSX.
26286 * util/hostdisk.c: Likewise.
26287
57a55913 262882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26289
26290 * font/font.c (find_glyph): Check whether a font is present to avoid
26291 segmentation fault.
75421ca9 26292
262932009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26294
26295 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26296
e98cd0c2 262972009-07-20 Pavel Roskin <proski@gnu.org>
26298
26299 * configure.ac: Trim excessively wordy excuses.
26300
1d2d169a 263012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26302
26303 Add symlink, mtime and label support to AtheFS.
26304
26305 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26306 (grub_afs_iterate_dir): Handle symlinks.
26307 (grub_afs_open): Use grub_afs_read_symlink.
26308 (grub_afs_dir): Likewise.
26309 Pass mtime.
26310 (grub_afs_label): New function.
26311 (grub_afs_fs): Add grub_afs_label.
26312 (grub_afs_read_symlink): New function.
26313
186f3189 263142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 Fix AtheFS support.
26317
26318 * fs/afs.c: Fix comments style.
26319 (grub_afs_blockrun): Declare as packed.
26320 (grub_afs_datastream): Likewise.
26321 (grub_afs_bnode): Likewise.
26322 (grub_afs_btree): Likewise.
26323 (grub_afs_sblock): Likewise.
26324 Declare `name' as char.
26325 (grub_afs_inode): Declare as packed.
26326 Change void *vnode to grub_uint32_t unused.
26327 (grub_afs_iterate_dir): Check that key_size is positive.
26328 (grub_afs_mount): Don't read superblock twice.
75421ca9 26329 (grub_afs_dir): Don't free node in case of error,
186f3189 26330 grub_fshelp_find_file already handles this.
26331 (grub_afs_open): Likewise.
26332
5680109e 263332009-07-19 Pavel Roskin <proski@gnu.org>
26334
26335 * Makefile.in: Remove LIBLZO and enable_lzo.
26336 * conf/i386-pc.rmk: Remove lzo support.
26337 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26338 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26339 support.
26340 * kern/i386/pc/lzo1x.S: Remove.
26341 * kern/i386/pc/startup.S: Remove lzo support.
26342 * util/i386/pc/grub-mkimage.c: Likewise.
26343
ac70fa32 263442009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26345
26346 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26347 * fs/xfs.c (grub_xfs_dir): Likewise.
26348 * fs/afs.c (grub_afs_dir): Likewise.
26349 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26350 (grub_iso9660_open): Likewise.
26351 * fs/jfs.c (grub_jfs_open): Likewise.
26352 * fs/ext2.c (grub_ext2_dir): Likewise.
26353 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26354 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26355
eab58da2 263562009-07-16 Pavel Roskin <proski@gnu.org>
26357
d2838156 26358 * configure.ac: Never add "-c" to CFLAGS.
26359
55c70904 26360 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26361
43e6200c 26362 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26363 grub_cv_cc_efiemu should be used.
26364
ce7a733d 26365 * configure.ac: Typo fixes.
26366
eab58da2 26367 * kern/mm.c (grub_zalloc): New function.
26368 (grub_debug_zalloc): Likewise.
26369 * include/grub/mm.h: Declare grub_zalloc() and
26370 grub_debug_zalloc().
26371 * util/misc.c (grub_zalloc): New function.
26372 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26373 instead of grub_malloc(), remove unneeded initializations.
26374 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26375 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26376 * commands/parttool.c (grub_cmd_parttool): Likewise.
26377 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26378 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26379 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26380 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26381 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26382 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26383 (grub_cmd_efiemu_pnvram): Likewise.
26384 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26385 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26386 (grub_iso9660_iterate_dir): Likewise.
26387 * fs/jfs.c (grub_jfs_opendir): Likewise.
26388 * fs/ntfs.c (list_file): Likewise.
26389 (grub_ntfs_mount): Likewise.
26390 * kern/disk.c (grub_disk_open): Likewise.
26391 * kern/dl.c (grub_dl_load_core): Likewise.
26392 * kern/elf.c (grub_elf_file): Likewise.
26393 * kern/env.c (grub_env_context_open): Likewise.
26394 (grub_env_set): Likewise.
26395 (grub_env_set_data_slot): Likewise.
26396 * kern/file.c (grub_file_open): Likewise.
26397 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26398 * loader/i386/multiboot.c (grub_module): Likewise.
26399 * loader/xnu.c (grub_xnu_create_key): Likewise.
26400 (grub_xnu_create_value): Likewise.
26401 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26402 (read_config_file): Likewise.
26403 * normal/menu_entry.c (make_screen): Likewise.
26404 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26405 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26406 * script/sh/script.c (grub_script_parse): Likewise.
26407 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26408 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26409 * video/readers/png.c (grub_png_output_byte): Likewise.
26410 (grub_video_reader_png): Likewise.
26411
830afef7 264122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26413
26414 Enable all targets that can be built by default
26415
830afef7 26416 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26417 grub-mkfont and grub-fstest if they can be built
26418
ee293aee 264192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26420
26421 Fix hang and segmentation fault in grub-emu-usb
26422
26423 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26424 * util/usb.c (grub_libusb_devices): likewise
26425 (grub_libusb_init): rename to ...
26426 (GRUB_MOD_INIT (libusb)):...this
26427 (grub_libusb_fini): rename to ..
26428 (GRUB_MOD_FINI (libusb)):...this
26429 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26430 * include/grub/disk.h (grub_raid_init): removed, it's useless
26431 (grub_raid_fini): likewise
26432 (grub_lvm_init): likewise
26433 (grub_lvm_fini): likewise
26434 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26435 by grub_init_all
26436
94414221 264372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26438
26439 Fix libusb
26440
26441 * Makefile.in (LIBUSB): new macro
26442 * genmk.rb (Utility/print_tail): new method
26443 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26444 (top level): call util.print_tail at the end.
26445
59ade63d 264462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26447
26448 Make FreeBSD accept zpool.cache
26449
26450 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26451 type is /boot/zfs/zpool.cache
26452
a58da8c7 264532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26454
26455 Fix 64-bit efiemu
26456
26457 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26458 correct wrong typedef
26459 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26460
20591577 264612009-07-15 Pavel Roskin <proski@gnu.org>
26462
560ca572 26463 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26464 * kern/disk.c (struct grub_disk_cache): Likewise.
26465
e8e8e4fd 26466 * commands/probe.c (options): Typo fix.
26467
fde24e10 26468 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26469 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26470 accordingly.
26471 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26472
379c54c1 26473 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26474 the end of "Error" to make the message more readable.
26475
7bd8f5bf 26476 * boot/i386/pc/boot.S (kernel_segment): Remove.
26477 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26478 for destination.
26479
40b132c5 26480 * boot/i386/pc/boot.S (boot_version): Remove.
26481 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26482 Remove.
26483
20591577 26484 * include/grub/i386/pc/boot.h: Sort all offsets.
26485 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26486 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26487 * boot/i386/pc/boot.S: Assert location of every offset listed in
26488 include/grub/i386/pc/boot.h.
26489
2df32b2c 264902009-07-13 Pavel Roskin <proski@gnu.org>
26491
44b5d879 26492 * include/grub/i386/coreboot/machine.h: Rename
26493 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26494 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26495 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26496
17dc3751 26497 * kern/dl.c: Force native word size to suppress warnings when
26498 compiling grub-emu.
26499
2df32b2c 26500 * kern/device.c (grub_device_iterate): Change struct part_ent to
26501 hold the name, not a pointer to it. Use one grub_malloc() per
26502 partition, not two. Free partition_name if grub_malloc() fails.
26503 Set ents to NULL only before grub_partition_iterate() is called.
26504
75c59f59 265052009-07-11 Bean <bean123ch@gmail.com>
26506
26507 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26508 childname.
26509
0ae1bf88 265102009-07-10 Bean <bean123ch@gmail.com>
265112009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26512
26513 * kern/ieee1275/openfw.c (grub_children_iterate)
26514 (grub_devalias_iterate): Fix size evaluation for property or path
26515 strings, which was broken since r2132.
26516
8279cade 265172009-07-07 Pavel Roskin <proski@gnu.org>
26518
7d8a52d3 26519 * commands/search.c (search_file): Merge into ...
26520 (search_fs): ... this. Accept search type as argument.
26521 (grub_cmd_search): Pass search type to search_fs().
26522
25f9a05a 26523 * include/grub/util/console.h: New file.
26524 * util/console.c: Use it instead of grub/machine/console.h.
26525 * util/grub-emu.c: Likewise.
26526
8279cade 26527 * lib/arg.c (find_long_option): Remove.
26528 (find_long): Add `len' argument, make `s' const char *.
26529 (grub_arg_parse): Parse long options in place, not in a
26530 temporary buffer.
26531
4a11b60f 265322009-07-06 Pavel Roskin <proski@gnu.org>
26533
99f68041 26534 * commands/search.c (search_fs): Fix potential NULL pointer
26535 dereference.
26536
4a11b60f 26537 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26538 function pointer.
26539
e110f4de 265402009-07-06 Daniel Mierswa <impulze@impulze.org>
26541
26542 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26543 comparison.
26544
46eeb6a2 265452009-07-05 Pavel Roskin <proski@gnu.org>
26546
bab74958 26547 * include/grub/i386/linux.h (struct linux_kernel_params):
26548 Restore padding3, it's still needed.
26549
46eeb6a2 26550 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26551 FreeBSD.
26552 * util/osdetect.lua: Likewise.
26553
b4a1dc79 265542009-07-05 Bean <bean123ch@gmail.com>
26555
26556 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26557
26558 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26559 (grub_lua_getenv): Likewise.
26560 (grub_lua_setenv): Likewise.
26561 (save_errno): New function.
26562 (push_result): Likewise.
26563 (grub_lua_enum_device): Likewise.
26564 (grub_lua_enum_file): Likewise.
26565 (grub_lua_file_open): Likewise.
26566 (grub_lua_file_close): Likewise.
26567 (grub_lua_file_seek): Likewise.
26568 (grub_lua_file_read): Likewise.
26569 (grub_lua_file_getline): Likewise.
26570 (grub_lua_file_getsize): Likewise.
26571 (grub_lua_file_getpos): Likewise.
26572 (grub_lua_file_eof): Likewise.
26573 (grub_lua_file_exist): Likewise.
26574 (grub_lua_add_menu): Likewise.
26575
26576 * script/lua/grub_lua.h (isupper): New inline function.
26577 (islower): Likewise.
26578 (ispunct): Likewise.
26579 (isxdigit): Likewise.
26580 (strcspn): Change to normal function.
26581 (strpbkr): New function declaration.
26582 (memchr): Likewise.
26583
26584 * script/lua/grub_main.c (scan_str): New function.
26585 (strcspn): Likewise.
26586 (strpbrk): Likewise.
26587 (memchr): Likewise.
26588
26589 * script/lua/linit.c (lualibs): Enable the string library.
26590
26591 * util/osdetect.lua: New file.
26592
2da92295 265932009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26594
26595 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26596 `capabilities' member.
26597
b2582ec9 265982009-07-02 Pavel Roskin <proski@gnu.org>
26599
26600 * genparttoollist.sh: Add missing newline at the end.
26601
32622956 266022009-07-01 Pavel Roskin <proski@gnu.org>
26603
87a7339e 26604 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26605
d23af54e 26606 * util/hostdisk.c (open_device): Remove `const' from
26607 `sysctl_size', as sysctlbyname() can change it (in this case it
26608 doesn't actually happen).
26609
c94b18a9 26610 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26611 using signed long int constants.
26612
c6cd3ef0 26613 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26614 constant to avoid a warning on FreeBSD.
26615
0df63420 26616 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26617 where it's needed.
26618
999577f1 26619 * Makefile.in: Install include/grub/machine symlink.
26620
6f41557f 26621 * Makefile.in: When installing symlinks, use "cp -fR", which
26622 works on FreeBSD and MacOSX.
26623 From Yves Blusseau <cl7m42e02@sneakemail.com>
26624
c8d22988 26625 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26626 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26627
1b96e952 26628 * util/misc.c: Move grub_reboot() and grub_halt() ...
26629 * util/grub-emu.c: ... here. Make main_env static.
26630 * include/grub/util/misc.h: Remove main_env.
26631
2ef0084d 26632 * kern/mm.c: Use correct format to print size_t.
26633
32622956 26634 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26635 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26636 * kern/powerpc/dl.c: Likewise.
26637 * kern/sparc64/dl.c: Likewise.
26638 * kern/x86_64/dl.c: Likewise.
26639
3f7f0cd0 266402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26641
26642 Fix grub-emu build on sparc64-ieee1275.
26643
75421ca9 26644 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26646
211d06b5 266472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26650 (grub_reboot, grub_halt): New functions.
26651
26652 * util/i386/pc/misc.c: Delete. Update all users.
26653 * util/sparc64/ieee1275/misc.c: Likewise.
26654 * util/powerpc/ieee1275/misc.c: Likewise.
26655
aaf53e3c 266562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26657
26658 * conf/i386.rmk (setjmp_mod_SOURCES)
26659 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26660 * conf/common.rmk (setjmp_mod_SOURCES)
26661 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26662 to use $(target_cpu).
26663 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26664 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26665 * conf/powerpc-ieee1275.rmk: Likewise.
26666 * conf/sparc64-ieee1275.rmk: Likewise.
26667
26668 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26669 $(target_cpu) for kern/$(target_cpu)/dl.c.
26670 * conf/i386-efi.rmk: Likewise.
26671 * conf/i386-ieee1275.rmk: Likewise.
26672 * conf/x86_64-efi.rmk: Likewise.
26673 * conf/i386-coreboot.rmk: Likewise.
26674 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26675 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26676 kern/$(target_cpu)/cache.S.
26677 * conf/sparc64-ieee1275.rmk: Likewise.
26678
a337130b 266792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26680
26681 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26682 type to `grub_uint8_t', and adjust `padding9' accordingly.
26683
c6fe4d53 266842009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26685
b09db61d 26686 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26687
c6fe4d53 26688 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26689 assembly in final jump, using register constraints.
26690
b09db61d 26691 (grub_linux_boot): For text mode, initialize `have_vga' using
26692 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26693
26694 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26695 right before the final jump.
26696
26697 Set `video_mode' to 0x3.
26698
26699 Document initialization of `video_page', `video_mode' and
26700 `video_ega_bx'.
26701
28333ad0 267022009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26705 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26706 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26707
02164e1b 267082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26709
26710 Fix build on Debian / sparc.
26711
26712 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26713
18b6c557 267142009-06-28 Pavel Roskin <proski@gnu.org>
26715
85f2aab6 26716 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26717 fix a warning.
26718
18b6c557 26719 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26720
ad760f81 267212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26722
26723 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26724 `err'.
26725
87a4623b 267262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26727
26728 Revert r2338.
26729
26730 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26731 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26732 grub_errno / grub_errmsg appropriately.
87a4623b 26733 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26734
8231fb77 267352009-06-27 Pavel Roskin <proski@gnu.org>
267362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26737
26738 * include/grub/dl.h: Include grub/elf.h.
26739 (struct grub_dl): Add symtab field.
26740 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26741 GRUB_MODULES_MACHINE_READONLY.
26742 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26743 of the header for read-only modules.
26744 (grub_dl_unload): Free mod->symtab for read-only modules.
26745 * kern/i386/dl.c: Use mod->symtab.
26746 * kern/powerpc/dl.c: Likewise.
26747 * kern/sparc64/dl.c: Likewise.
26748 * kern/x86_64/dl.c: Likewise.
26749
26750 * conf/i386-qemu.rmk: New file.
26751 * kern/i386/qemu/startup.S: Likewise.
26752 * kern/i386/qemu/mmap.c: Likewise.
26753 * boot/i386/qemu/boot.S: Likewise.
26754 * include/grub/i386/qemu/time.h: Likewise.
26755 * include/grub/i386/qemu/serial.h: Likewise.
26756 * include/grub/i386/qemu/kernel.h: Likewise.
26757 * include/grub/i386/qemu/console.h: Likewise.
26758 * include/grub/i386/qemu/boot.h: Likewise.
26759 * include/grub/i386/qemu/init.h: Likewise.
26760 * include/grub/i386/qemu/machine.h: Likewise.
26761 * include/grub/i386/qemu/loader.h: Likewise.
26762 * include/grub/i386/qemu/memory.h: Likewise.
26763
26764 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26765 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26766 [qemu] (pkglib_IMAGES): Add `boot.img'.
26767 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26768 [qemu] (boot_img_FORMAT): New variables.
26769 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26770 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26771 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26772 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26773 [qemu] (kernel_img_FORMAT): New variables.
26774
26775 * configure.ac: Recognise `i386-qemu'.
26776
26777 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26778 (for no compression).
26779 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26780 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26781 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26782 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26783 ifdefs).
26784
97fe384e 267852009-06-27 Pavel Roskin <proski@gnu.org>
26786
26787 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26788 read.
26789 * efiemu/prepare32.c: Likewise.
26790 * efiemu/prepare64.c: Likewise.
26791
c402ab17 267922009-06-26 Pavel Roskin <proski@gnu.org>
26793
26794 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26795 * include/grub/elf.h: Define symbols without "32" or "64" based
26796 on GRUB_TARGET_WORDSIZE.
26797 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26798 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26799 ELF definitions.
26800 * efiemu/loadcore64.c: Likewise.
26801 * loader/i386/bsd32.c: Likewise.
26802 * loader/i386/bsd64.c: Likewise.
26803 * kern/dl.c: Remove own ELF definitions.
26804 * util/i386/efi/grub-mkimage.c: Likewise.
26805
9bbdfd4d 268062009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26807
26808 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26809 segment 0x0 unconditionally, because the reference generated by
26810 GAS is an absolute address.
26811
a42ce6e9 268122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26813
26814 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26815 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26816
c952cf92 268172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26818
26819 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26820 indexes. Check for -f explicitly.
cc3752ad 26821 (search_file): Improve error message.
26822 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26823
132a0a59 268242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26825
26826 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26827 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26828
387a140c 268292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26830
26831 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26832 * conf/i386-ieee1275.rmk: Likewise.
26833 * conf/i386-coreboot.rmk: Likewise.
26834
26835 * kern/i386/pc/startup.S (grub_stop): Remove function.
26836 * kern/i386/ieee1275/startup.S: Likewise.
26837 * kern/i386/coreboot/startup.S: Likewise.
26838 * kern/i386/misc.S (grub_stop): New function.
26839
41da9665 268402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26841
26842 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26843 * kern/i386/realmode.S (real_to_prot): ... to here.
26844
bf337234 268452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26846
26847 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26848 with `kernel.img'.
26849 (kernel_elf_SOURCES): Rename to ...
26850 (kernel_img_SOURCES): ... this.
26851 (kernel_elf_HEADERS): Rename to ...
26852 (kernel_img_HEADERS): ... this. Update all users.
26853 (kernel_elf_ASFLAGS): Rename to ...
26854 (kernel_img_ASFLAGS): ... this.
26855 (kernel_elf_CFLAGS): Rename to ...
26856 (kernel_img_CFLAGS): ... this.
26857 (kernel_elf_LDFLAGS): Rename to ...
26858 (kernel_img_LDFLAGS): ... this.
26859 * conf/i386-coreboot.rmk: Likewise.
26860 * conf/powerpc-ieee1275.rmk: Likewise.
26861
26862 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26863 with "kernel.img".
26864
f52196ff 268652009-06-21 Pavel Roskin <proski@gnu.org>
26866
c3cee413 26867 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26868 to match nested functions.
26869 * loader/sparc64/ieee1275/linux.c: Likewise.
26870
f52196ff 26871 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26872
58750afc 268732009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26874
26875 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26876 all i386 platforms.
26877
15355c7d 268782009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 Fix asm file handling on ELF, and remove workarounds.
26881
26882 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26883 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26884 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26885 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26886
3f3ec72b 268872009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 Load BSD ELF modules
26890
26891 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26892 and loader/i386/bsd64.c
26893 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26894 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26895 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26896 (grub_freebsd_load_elfmodule32): New declaration
26897 (grub_freebsd_load_elfmoduleobj64): Likewise
26898 (grub_freebsd_load_elf_meta32): Likewise
26899 (grub_freebsd_load_elf_meta64): Likewise
26900 (grub_freebsd_add_meta): Likewise
26901 (grub_freebsd_add_meta_module): Likewise
26902 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26903 (grub_freebsd_add_meta_module): Likewise and move module-specific
26904 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26905 (grub_cmd_freebsd): Add elf-kernel specific parts
26906 based on grub_freebsd_add_meta_module
26907 (grub_cmd_freebsd_module): Add type parsing moved from
26908 grub_freebsd_add_meta_module
26909 (grub_cmd_freebsd_module_elf): New function
26910 (cmd_freebsd_module_elf): New variable
26911 (GRUB_MOD_INIT): Register freebsd_module_elf
26912 * loader/i386/bsd32.c: New file
26913 * loader/i386/bsd64.c: Likewise
26914 * loader/i386/bsdXX.c: Likewise
26915 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26916 (grub_elf64_load): Likewise
26917 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26918 All users updated
26919 (grub_elf64_load_hook_t): Likewise
26920
0db15301 269212009-06-21 Colin Watson <cjwatson@ubuntu.com>
26922
26923 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26924 variable.
26925 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26926 don't write a menu entry for recovery mode.
26927
546796c1 269282009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26929
26930 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26931 after it's no longer needed.
26932
cd7310d5 269332009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26934
26935 * include/grub/i386/loader.h (grub_linux_prot_size)
26936 (grub_linux_tmp_addr, grub_linux_real_addr)
26937 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26938 GRUB_MACHINE_PCBIOS.
26939 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26940 common grub_util_info() call to ...
26941 (generate_image): ... here.
26942 Fix use of uninitialized memory, comparison of signed with
26943 unsigned integers and memory leak.
26944 Remove bogus module address message.
26945
ab32d3b5 269462009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26949 grub_raid_register
26950 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26951
024ef597 269522009-06-19 Pavel Roskin <proski@gnu.org>
26953
26954 * configure.ac: Remove stray AC_MSG_CHECKING.
26955
3ac72b51 269562009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26959
e14cd814 269602009-06-18 Pavel Roskin <proski@gnu.org>
26961
26962 * conf/common.rmk: Add fs_file.mod.
26963 * disk/fs_file.c: New file.
26964 * include/grub/disk.h (enum grub_disk_dev_id): Add
26965 GRUB_DISK_DEVICE_FILE_ID.
26966
26586d98 269672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 Fix build with Apple's toolchain. Part 2
26970
26971 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26972 a fake start
26973
26de2bcd 269742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26975
26976 Fix build with Apple's toolchain. Part 1
26977
26978 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26979 for long calls
26980 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26981 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26982 Apple's toolchain
26983
09b3490b 269842009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26985
26986 Fix warnings
26987
26988 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26989 (decomp_block): initialize ch
26990 use grub_memcpy instead of memcpy
26991
c22a006a 269922009-06-17 Pavel Roskin <proski@gnu.org>
26993
d3638678 26994 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26995 version, use declarations needed to use vga_text as the startup
26996 console.
26997
c22a006a 26998 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26999 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27000 the kernel.
27001 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27002 and grub_at_keyboard_fini(), it's done on module load and
27003 unload.
27004
05b129e0 270052009-06-17 Felix Zielcke <fzielcke@z-51.de>
27006
27007 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27008 file can't be found.
27009 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27010
cf24ed9e 270112009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27012
27013 Fix newline handling
27014
27015 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27016 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27017 (grub_script_yylex): don't segfault on unterminated script
27018 newline terminates command and variable
27019
74aa8e4b 270202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27021
27022 avoid double grub_adjust_range call. Bug reported by David Simner
27023
27024 * kern/disk.c (grub_disk_write): change to raw disk access before
27025 calling disk_read
27026
1bd265f3 270272009-06-17 Colin Watson <cjwatson@ubuntu.com>
27028
27029 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27030 spaces, for the benefit of help2man.
27031 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27032
a2d08c06 270332009-06-16 Pavel Roskin <proski@gnu.org>
27034
27035 * kern/i386/halt.c: Include grub/machine/init.h.
27036 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27037
b97bcb19 270382009-06-16 Felix Zielcke <fzielcke@z-51.de>
27039
27040 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27041 drivemap menuentry.
27042
0644f96c 270432009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27044
27045 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27046 `echo' command.
27047
3ef17a2e 270482009-06-16 Pavel Roskin <proski@gnu.org>
27049
27050 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27051 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27052 save %dx, we only need %dl and we never change it.
27053 * boot/i386/pc/cdboot.S: Don't set the root drive.
27054 * boot/i386/pc/pxeboot.S: Likewise.
27055 * include/grub/i386/pc/boot.h: Remove
27056 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27057 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27058 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27059 * kern/i386/pc/init.c (make_install_device): Remove references
27060 to grub_root_drive.
27061 * kern/i386/pc/startup.S: Likewise.
27062 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27063
693fe637 270642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 xnu_uuid command
27067
27068 * commands/xnu_uuid.c: new file
27069 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27070 (xnu_uuid_mod_SOURCES): new variable
27071 (xnu_uuid_mod_CFLAGS): likewise
27072 (xnu_uuid_mod_LDFLAGS): likewise
27073 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27074 * conf/i386-ieee1275.rmk: likewise
27075 * conf/i386-pc.rmk: likewise
27076 * conf/powerpc-ieee1275.rmk: likewise
27077 * conf/sparc64-ieee1275.rmk: likewise
27078 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27079
c9da87d0 270802009-06-16 Pavel Roskin <proski@gnu.org>
27081
27082 * configure.ac: Avoid '==' in test command, it's not portable.
27083
9c6f4596 270842009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 Probe command
27087
27088 * commands/probe.c: new file
27089 * conf/common.rmk (pkglib_MODULES): add probe.mod
27090 (probe_mod_SOURCES): new variable
27091 (probe_mod_CFLAGS): likewise
27092 (probe_mod_LDFLAGS): likewise
27093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27094 * conf/i386-ieee1275.rmk: likewise
27095 * conf/i386-pc.rmk: likewise
27096 * conf/powerpc-ieee1275.rmk: likewise
27097 * conf/sparc64-ieee1275.rmk: likewise
27098
70b7f9fd 270992009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27100
27101 Fix handling of string like \"hello\" and "a
27102 b"
27103
27104 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27105 (grub_script_yylex): fix parsing of quoting, escaping and newline
27106
71c79a6b 271072009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27108
dd74360c 27109 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27110 handling
dd74360c 27111
0644f96c 271122009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27113
27114 * util/grub-mkconfig.in: Fix parsing of --output option.
27115
e40893c3 271162009-06-12 Pavel Roskin <proski@gnu.org>
27117
27118 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27119 genmk.rb don't need to be generated or installed.
27120
3a1acfe2 271212009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 * commands/i386/pc/drivemap_int13h.S: add more comments
27124
3a4575d4 271252009-06-11 Pavel Roskin <proski@gnu.org>
27126
0658e928 27127 * Makefile.in (uninstall): Uninstall manuals.
27128
ca0388f0 27129 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27130 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27131 and update-grub_lib in two places.
27132 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27133
e3b27c39 27134 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27135 a compiler warning.
27136
3a4575d4 27137 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27138 `entry_lo' to fix variable shadowing.
27139
af1f4f55 271402009-06-11 Christian Franke <franke@computer.org>
27141
27142 * kern/misc.c (__enable_execute_stack): Add missing return type
27143 to prevent gcc warning.
27144
5225e649 271452009-06-11 Felix Zielcke <fzielcke@z-51.de>
27146
27147 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27148
7d83bd47 271492009-06-11 Pavel Roskin <proski@gnu.org>
27150
c1cb63ba 27151 * Makefile.in: Don't rely on any scripts being executable.
27152 Always use $(SHELL) to run shell scripts.
27153
7d83bd47 27154 * configure.ac: Always define ___main if using -nostdlib. This
27155 fixes tests on Cygwin.
27156
948f48e7 271572009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27158
27159 UDF fix
27160
7d83bd47 27161 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27162 is in bytes and not in blocks
7d83bd47 27163
8ada9bc1 271642009-06-11 Pavel Roskin <proski@gnu.org>
27165
27166 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27167 warning.
27168
25ad2323 271692009-06-11 Felix Zielcke <fzielcke@z-51.de>
27170
27171 * util/grub.d/30_os-prober.in: Fix a comment. Source
27172 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27173 to set the root device. Place drivemap command in the generated
27174 chain entry.
27175
e65acb0c 271762009-06-11 Pavel Roskin <proski@gnu.org>
27177
27178 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27179 have long been resolved.
27180
f285fe2d 271812009-06-11 Colin Watson <cjwatson@ubuntu.com>
27182
bd47b0b5 27183 * util/grub.d/10_linux.in: Capitalise "Linux".
27184
f285fe2d 27185 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27186
a0c62e4e 271872009-06-11 Pavel Roskin <proski@gnu.org>
27188
b6783cb2 27189 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27190 fix a gcc warning and ensure that the function won't ever exit.
27191
dde032e8 27192 * kern/i386/ieee1275/init.c: Add missing prototype for
27193 grub_stop_floppy().
27194
22cd079d 27195 * loader/ieee1275/multiboot2.c [__i386__]: Include
27196 grub/cpu/multiboot.h.
27197
a0c62e4e 27198 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27199 casts to short - they are not portable and cause warnings. Fix
27200 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27201
63963d17 272022009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27203
27204 Drivemap fixes
27205
27206 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27207 new function
27208 (grub_get_root_biosnumber_saved): new variable
27209 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27210 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27211 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27212 %dx after the call if necessary
27213 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27214 (boot_mod_SOURCES): remove
27215 (boot_mod_CFLAGS): remove
27216 (boot_mod_LDFLAGS): remove
27217 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27218 (boot_mod_SOURCES): new variable
27219 (boot_mod_CFLAGS): likewise
27220 (boot_mod_LDFLAGS): likewise
27221 * conf/i386-efi.rmk: likewise
27222 * conf/i386-ieee1275.rmk: likewise
27223 * conf/i386-pc.rmk: likewise
27224 * conf/powerpc-ieee1275.rmk: likewise
27225 * conf/sparc64-ieee1275.rmk: likewise
27226 * conf/x86_64-efi.rmk: likewise
27227 * include/grub/i386/pc/biosnum.h: new file
27228 * lib/i386/pc/biosnum.c: likewise
27229 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27230 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27231 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27232
33abf7ae 272332009-06-10 Pavel Roskin <proski@gnu.org>
27234
5ac35b35 27235 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27236 Use separate variables. Read only the file size at the end, but
27237 not the checksum that we don't use.
27238
5c5215d5 27239 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27240 Adjust all callers.
27241
27d5fef7 27242 * kern/ieee1275/openfw.c: Remove libc includes.
27243 * kern/ieee1275/cmain.c: Likewise.
27244 * include/grub/ieee1275/ieee1275.h: Likewise.
27245
33abf7ae 27246 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27247 compiler warnings.
27248
19d50c2b 272492009-06-10 Felix Zielcke <fzielcke@z-51.de>
27250
27251 * Makefile.in: Remove all trailing whitespace.
27252 * conf/i386-pc.rmk: Likewise.
27253 * conf/powerpc-ieee1275.rmk: Likewise.
27254 * conf/sparc64-ieee1275.rmk: Likewise.
27255 * docs/grub.texi: Likewise.
27256 * docs/texinfo.tex: Likewise.
27257 * disk/fs_uuid.c: Likewise.
27258 * disk/lvm.c: Likewise.
27259 * disk/scsi.c: Likewise.
27260 * disk/ata.c: Likewise.
27261 * disk/ieee1275/ofdisk.c: Likewise.
27262 * disk/i386/pc/biosdisk.c: Likewise.
27263 * disk/host.c: Likewise.
27264 * disk/raid.c: Likewise.
27265 * disk/efi/efidisk.c: Likewise.
27266 * disk/usbms.c: Likewise.
27267 * disk/memdisk.c: Likewise.
27268 * disk/loopback.c: Likewise.
27269 * kern/powerpc/dl.c: Likewise.
27270 * kern/device.c: Likewise.
27271 * kern/dl.c: Likewise.
27272 * kern/sparc64/dl.c: Likewise.
27273 * kern/ieee1275/ieee1275.c: Likewise.
27274 * kern/term.c: Likewise.
27275 * kern/fs.c: Likewise.
27276 * kern/i386/dl.c: Likewise.
27277 * kern/i386/pc/startup.S: Likewise.
27278 * kern/i386/pc/init.c: Likewise.
27279 * kern/i386/pc/mmap.c: Likewise.
27280 * kern/i386/pc/lzo1x.S: Likewise.
27281 * kern/i386/ieee1275/init.c: Likewise.
27282 * kern/i386/realmode.S: Likewise.
27283 * kern/i386/tsc.c: Likewise.
27284 * kern/partition.c: Likewise.
27285 * kern/corecmd.c: Likewise.
27286 * kern/file.c: Likewise.
27287 * kern/efi/efi.c: Likewise.
27288 * kern/efi/init.c: Likewise.
27289 * kern/efi/mm.c: Likewise.
27290 * kern/main.c: Likewise.
27291 * kern/err.c: Likewise.
27292 * kern/env.c: Likewise.
27293 * kern/disk.c: Likewise.
27294 * kern/generic/millisleep.c: Likewise.
27295 * kern/generic/rtc_get_time_ms.c: Likewise.
27296 * kern/misc.c: Likewise.
27297 * kern/parser.c: Likewise.
27298 * genmk.rb: Likewise.
27299 * configure.ac: Likewise.
27300 * boot/i386/pc/diskboot.S: Likewise.
27301 * boot/i386/pc/pxeboot.S: Likewise.
27302 * boot/i386/pc/boot.S: Likewise.
27303 * boot/i386/pc/lnxboot.S: Likewise.
27304 * boot/i386/pc/cdboot.S: Likewise.
27305 * parttool/pcpart.c: Likewise.
27306 * video/readers/tga.c: Likewise.
27307 * video/video.c: Likewise.
27308 * video/bitmap.c: Likewise.
27309 * lib/envblk.c: Likewise.
27310 * lib/i386/setjmp.S: Likewise.
27311 * fs/xfs.c: Likewise.
27312 * fs/afs.c: Likewise.
27313 * fs/fat.c: Likewise.
27314 * fs/ntfs.c: Likewise.
27315 * fs/udf.c: Likewise.
27316 * fs/affs.c: Likewise.
27317 * fs/iso9660.c: Likewise.
27318 * fs/hfs.c: Likewise.
27319 * fs/fshelp.c: Likewise.
27320 * fs/ext2.c: Likewise.
27321 * fs/jfs.c: Likewise.
27322 * fs/reiserfs.c: Likewise.
27323 * fs/hfsplus.c: Likewise.
27324 * fs/minix.c: Likewise.
27325 * fs/cpio.c: Likewise.
27326 * fs/sfs.c: Likewise.
27327 * fs/ufs.c: Likewise.
27328 * efiemu/prepare.c: Likewise.
27329 * efiemu/loadcore_common.c: Likewise.
27330 * efiemu/runtime/efiemu.sh: Likewise.
27331 * efiemu/runtime/efiemu.S: Likewise.
27332 * efiemu/runtime/efiemu.c: Likewise.
27333 * efiemu/pnvram.c: Likewise.
27334 * efiemu/main.c: Likewise.
27335 * efiemu/i386/pc/cfgtables.c: Likewise.
27336 * efiemu/i386/loadcore64.c: Likewise.
27337 * efiemu/i386/loadcore32.c: Likewise.
27338 * efiemu/loadcore.c: Likewise.
27339 * efiemu/symbols.c: Likewise.
27340 * efiemu/mm.c: Likewise.
27341 * include/grub/autoefi.h: Likewise.
27342 * include/grub/datetime.h: Likewise.
27343 * include/grub/term.h: Likewise.
27344 * include/grub/hfs.h: Likewise.
27345 * include/grub/lvm.h: Likewise.
27346 * include/grub/i386/tsc.h: Likewise.
27347 * include/grub/i386/linux.h: Likewise.
27348 * include/grub/i386/xnu.h: Likewise.
27349 * include/grub/i386/efiemu.h: Likewise.
27350 * include/grub/i386/pc/biosdisk.h: Likewise.
27351 * include/grub/i386/pc/memory.h: Likewise.
27352 * include/grub/i386/pc/vbe.h: Likewise.
27353 * include/grub/parttool.h: Likewise.
27354 * include/grub/video.h: Likewise.
27355 * include/grub/memory.h: Likewise.
27356 * include/grub/fs.h: Likewise.
27357 * include/grub/partition.h: Likewise.
27358 * include/grub/xnu.h: Likewise.
27359 * include/grub/efi/api.h: Likewise.
27360 * include/grub/efi/pe32.h: Likewise.
27361 * include/grub/efi/memory.h: Likewise.
27362 * include/grub/multiboot.h: Likewise.
27363 * include/grub/usbdesc.h: Likewise.
27364 * include/grub/multiboot2.h: Likewise.
27365 * include/grub/acpi.h: Likewise.
27366 * include/grub/efiemu/efiemu.h: Likewise.
27367 * include/grub/disk.h: Likewise.
27368 * include/grub/ieee1275/ieee1275.h: Likewise.
27369 * include/grub/net.h: Likewise.
27370 * include/grub/machoload.h: Likewise.
27371 * include/grub/macho.h: Likewise.
27372 * include/multiboot.h: Likewise.
27373 * genmoddep.awk: Likewise.
27374 * normal/main.c: Likewise.
27375 * normal/menu_entry.c: Likewise.
27376 * normal/menu_viewer.c: Likewise.
27377 * normal/completion.c: Likewise.
27378 * normal/cmdline.c: Likewise.
27379 * normal/misc.c: Likewise.
27380 * normal/datetime.c: Likewise.
27381 * bus/usb/usbtrans.c: Likewise.
27382 * bus/usb/ohci.c: Likewise.
27383 * bus/usb/uhci.c: Likewise.
27384 * bus/usb/usb.c: Likewise.
27385 * mmap/efi/mmap.c: Likewise.
27386 * mmap/i386/pc/mmap_helper.S: Likewise.
27387 * mmap/i386/pc/mmap.c: Likewise.
27388 * mmap/i386/mmap.c: Likewise.
27389 * mmap/i386/uppermem.c: Likewise.
27390 * mmap/mmap.c: Likewise.
27391 * commands/acpi.c: Likewise.
27392 * commands/echo.c: Likewise.
27393 * commands/blocklist.c: Likewise.
27394 * commands/loadenv.c: Likewise.
27395 * commands/usbtest.c: Likewise.
27396 * commands/boot.c: Likewise.
27397 * commands/parttool.c: Likewise.
27398 * commands/search.c: Likewise.
27399 * commands/cat.c: Likewise.
27400 * commands/i386/pc/play.c: Likewise.
27401 * commands/i386/pc/drivemap.c: Likewise.
27402 * commands/i386/pc/vbeinfo.c: Likewise.
27403 * commands/i386/pc/acpi.c: Likewise.
27404 * commands/i386/pc/vbetest.c: Likewise.
27405 * commands/ls.c: Likewise.
27406 * commands/cmp.c: Likewise.
27407 * commands/test.c: Likewise.
27408 * commands/efi/acpi.c: Likewise.
27409 * commands/gptsync.c: Likewise.
27410 * commands/help.c: Likewise.
27411 * partmap/amiga.c: Likewise.
27412 * partmap/apple.c: Likewise.
27413 * partmap/acorn.c: Likewise.
27414 * partmap/pc.c: Likewise.
27415 * partmap/sun.c: Likewise.
27416 * partmap/gpt.c: Likewise.
27417 * script/sh/lexer.c: Likewise.
27418 * script/sh/function.c: Likewise.
27419 * font/font.c: Likewise.
27420 * font/font_cmd.c: Likewise.
27421 * loader/powerpc/ieee1275/linux.c: Likewise.
27422 * loader/efi/chainloader.c: Likewise.
27423 * loader/multiboot_loader.c: Likewise.
27424 * loader/macho.c: Likewise.
27425 * loader/i386/multiboot.c: Likewise.
27426 * loader/i386/linux.c: Likewise.
27427 * loader/i386/pc/linux.c: Likewise.
27428 * loader/i386/pc/multiboot2.c: Likewise.
27429 * loader/i386/pc/chainloader.c: Likewise.
27430 * loader/i386/pc/xnu.c: Likewise.
27431 * loader/i386/bsd_trampoline.S: Likewise.
27432 * loader/i386/efi/linux.c: Likewise.
27433 * loader/i386/multiboot_elfxx.c: Likewise.
27434 * loader/i386/bsd_helper.S: Likewise.
27435 * loader/i386/bsd.c: Likewise.
27436 * loader/i386/linux_trampoline.S: Likewise.
27437 * loader/i386/xnu_helper.S: Likewise.
27438 * loader/i386/xnu.c: Likewise.
27439 * loader/i386/bsd_pagetable.c: Likewise.
27440 * loader/i386/multiboot_helper.S: Likewise.
27441 * loader/xnu.c: Likewise.
27442 * loader/xnu_resume.c: Likewise.
27443 * io/gzio.c: Likewise.
27444 * term/efi/console.c: Likewise.
27445 * term/terminfo.c: Likewise.
27446 * term/ieee1275/ofconsole.c: Likewise.
27447 * term/i386/pc/serial.c: Likewise.
27448 * term/i386/pc/vesafb.c: Likewise.
27449 * term/i386/pc/vga.c: Likewise.
27450 * term/usb_keyboard.c: Likewise.
27451 * term/gfxterm.c: Likewise.
27452 * aclocal.m4: Likewise.
27453 * util/lvm.c: Likewise.
27454 * util/grub.d/30_os-prober.in: Likewise.
27455 * util/grub.d/10_hurd.in: Likewise.
27456 * util/console.c: Likewise.
27457 * util/grub-macho2img.c: Likewise.
27458 * util/grub-probe.c: Likewise.
27459 * util/hostfs.c: Likewise.
27460 * util/i386/pc/grub-mkimage.c: Likewise.
27461 * util/i386/pc/grub-setup.c: Likewise.
27462 * util/i386/efi/grub-mkimage.c: Likewise.
27463 * util/grub-mkconfig.in: Likewise.
27464 * util/raid.c: Likewise.
27465 * util/resolve.c: Likewise.
27466 * util/grub-mkdevicemap.c: Likewise.
27467 * util/grub-emu.c: Likewise.
27468 * util/getroot.c: Likewise.
27469 * util/hostdisk.c: Likewise.
27470 * util/usb.c: Likewise.
27471 * util/grub-editenv.c: Likewise.
27472 * util/misc.c: Likewise.
27473
d2d49665 274742009-06-10 Felix Zielcke <fzielcke@z-51.de>
27475
27476 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27477 `genparttoollist.sh'.
27478 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27479 Add `*.sh' to the list find searches for and change `mdate.sh'
27480 to `mdate-sh'.
27481
fe052e37 274822009-06-10 Pavel Roskin <proski@gnu.org>
27483
2763ac18 27484 * include/grub/multiboot2.h: Provide compatibility defines for
27485 multiboot2.h.
27486 * include/multiboot2.h: Include stdint.h only if needed, using
27487 angle brackets.
27488 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27489 grub/multiboot2.h.
27490 * loader/ieee1275/multiboot2.c: Likewise.
27491 * loader/multiboot2.c: Likewise.
27492 * loader/multiboot_loader.c: Likewise.
27493
437e6adc 27494 * configure.ac: Use -nostdlib when probing for the target. It
27495 should not be required to have libc for the target.
27496
06a6836c 27497 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27498 they fail without libc headers for the target.
27499 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27500 exports.
27501 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27502 preprocessor conditionals.
27503
fe052e37 27504 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27505 build system doesn't need to be aware of the tar.c internals.
27506
afd22553 275072009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27508
afd22553 27509 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27510
6b787c4f 275112009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27514 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27515
275162009-06-09 Felix Zielcke <fzielcke@z-51.de>
27517
27518 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27519 aren't available if ata.mod gets used.
6b787c4f 27520
473d1e45 275212009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27522
473d1e45 27523 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27524 initialising controller.
473d1e45 27525 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27526
255a27d4 275272009-06-08 Felix Zielcke <fzielcke@z-51.de>
27528
27529 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27530 to choose between ata and biosdisk module on i386-pc.
27531
473d1e45 275322009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27533
d55842d8 27534 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27535 Subclass and Programming Interface fields in terms of the 3 byte
27536 Class Code register.
27537 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27538
fa5db0b1 27539 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27540 interface is OHCI. Add grub_dprintf for symmetry with
27541 bus/usb/uhci.c.
27542 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27543 interface is UHCI. Add interf variable for programming
27544 interface. Print interface with class/subclass.
27545
c0947beb 27546 * bus/usb/ohci.c: Set interf with correct field.
27547
69da8877 27548 * bus/usb/uhci.c: Remove unneeded doubled lines.
27549 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27550 Remove whitespace inside comment.
27551
9e172e30 275522009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27553
27554 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27555 as fallback an equivalent option without depth.
27556
de65ee2b 275572009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27558
27559 Not fail if unable to retrieve C/H/S on LBA disks
27560
473d1e45 27561 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27562 if unable to retrieve C/H/S on LBA disks
27563
b57ea2c9 275642009-06-08 Pavel Roskin <proski@gnu.org>
27565
27566 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27567 about aliasing.
27568
af361263 275692009-06-08 Felix Zielcke <fzielcke@z-51.de>
27570
27571 * Makefile.in (uninstall): Remove all $lib_DATA files.
27572
4c9ec6b3 275732009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 Bugfix: install on partitionless device
27576
27577 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27578 is a whole disk
27579
e76fc924 275802009-06-08 Felix Zielcke <fzielcke@z-51.de>
27581
27582 * Makefile.in (uninstall): Remove all $include_DATA files.
27583
ba5a0d05 275842009-06-08 Felix Zielcke <fzielcke@z-51.de>
27585
27586 * commands/true.c: New file. Implement the true and false commands.
27587 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27588 (true_mod_SOURCES): New variable.
27589 (true_mod_CFLAGS): Likewise.
27590 (true_mod_LDFLAGS): Likewise.
27591
c8048e32 275922009-06-05 Colin D Bennett <colin@gibibit.com>
27593
27594 Optimized font character lookup using binary search instead of linear
27595 search. Fonts now are required to have the character index ordered by
27596 code point.
27597
27598 * font/font.c (load_font_index): Verify that fonts have ordered
27599 character indices.
27600 (find_glyph): Use binary search instead of linear search to find a
27601 character in a font.
27602
408305be 276032009-06-05 Michael Scherer <misc@mandriva.org>
27604
27605 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27606 uses case sensitive btree.
27607 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27608 only for case insensitive filesystems.
27609
8ee1e0d9 276102009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27611
27612 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27613 * conf/common.rmk (search_mod_CFLAGS): likewise
27614
a9966eb1 276152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27616
473d1e45 27617 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27618 compensate a compiler bug
27619
9e7100fb 276202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27621
473d1e45 27622 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27623 instead of '\b'
473d1e45 27624
ede21d71 276252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 Definitions for creating asm symbols with Apple's CC
27628
27629 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27630 [APPLE_CC] (VARIABLE): likewise
27631
9dbf7653 276322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27633
27634 Disable lnxboot.img when compiled
27635 with Apple's CC
27636
27637 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27638 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27639 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27640 [! APPLE_CC] (CODE_LENG): skip
27641 [! APPLE_CC] (setup_sects): likewise
27642 [! APPLE_CC]: skip filling
473d1e45 27643
e93cdc3d 276442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27645
27646 Address in trampolines based on 32-bit registers when compiled
27647 with Apple's CC
27648
473d1e45 27649 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27650 for addresses
27651 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27652
6c688477 276532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27654
27655 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27656
27657 * kern/misc.c [APPLE_CC] (memcpy): new function
27658 [APPLE_CC] (memmove): likewise
27659 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27660 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27661 (memset): likewise
27662 (abort): likewise
27663 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27664 APPLE_CC are defined
27665 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27666 (grub_assert_fail): make prototype conditional
27667
e37ffc5c 276682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27671
473d1e45 27672 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27673 grub-macho2img
e37ffc5c 27674 (CLEANFILES): add grub-macho2img
27675 (grub_macho2img_SOURCES): new variable
27676 * kern/i386/pc/startup.S (bss_start): new variable
27677 (bss_end): likewise
27678 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27679 * util/grub-macho2img.c: new file
27680
cf00df31 276812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27682
27683 Use objconv when compiling with Apple's CC
27684
27685 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27686 (efiemu64.o): likewise
27687 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27688 when compiling with Apple's CC
27689 (efiemu64_s.o): likewise
27690 * configure.ac: check for objconv when compiling with Apple's CC
27691 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27692
d119a20c 276932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27694
27695 Define segment as well as section when compiling with
27696 Apple's CC
27697
27698 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27699 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27700 (efiemu_convert_pointer): likewise
27701 (efiemu_set_virtual_address_map): likewise
27702 (efiemu_convert_pointer): likewise
27703 (efiemu_getcrc32): likewise
27704 (init_crc32_table): likewise
27705 (reflect): likewise
27706 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27707 (GRUB_MOD_DEP): likewise
473d1e45 27708
c8600122 277092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27710
27711 Allow a compilation without -mcmodel=large
27712
27713 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27714 when compiled without -mcmodel=large
473d1e45 27715 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27716 without -mcmodel=large
473d1e45 27717 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27718 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27719
e8df1d4e 277202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27721
27722 Remove nested functions in efiemu core
27723
27724 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27725
cc6c3ac1 277262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27727
27728 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27729
27730 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27731 temporary storage
473d1e45 27732 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27733 using Apple's CC
cc6c3ac1 27734 (grub_cpu_is_tsc_supported): likewise
27735 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27736
3e325901 277372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27738
27739 Absolute addressing through constant with Apple's cc
27740
27741 * kern/i386/pc/startup.S: Define necessary constants
27742 and address through it when using ABS with Apple's CC
27743 * boot/i386/pc/diskboot.S: likewise
27744 * boot/i386/pc/boot.S: likewise
27745 * boot/i386/pc/lnxboot.S: likewise
27746 * boot/i386/pc/cdboot.S: likewise
27747 * mmap/i386/pc/mmap_helper.S: likewise
27748 * commands/i386/pc/drivemap_int13h.S: likewise
27749
2b167a72 277502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27751
27752 Check if compiler is apple cc
27753
27754 * Makefile.in (ASFLAGS): new variable
27755 (TARGET_ASFLAGS): likewise
27756 (TARGET_MODULE_FORMAT): likewise
27757 (TARGET_APPLE_CC): likewise
27758 (OBJCONV): likewise
27759 (TARGET_IMG_CFLAGS): likewise
27760 (TARGET_CPPFLAGS): add includedir
27761 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27762 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27763 Check for linker script only if compiler isn't Apple's CC
27764 (TARGET_MODULE_FORMAT): set
27765 (TARGET_APPLE_CC): likewise
27766 (TARGET_ASFLAGS): likewise
27767 (ASFLAGS): likewise
27768 Check for objcopy only if compiler isn't Apple's CC
27769 Check for BSS symbol only if compiler isn't Apple's CC
27770 * genmk.rb: adapt nm options if we use Apple's utils
27771 * aclocal.m4 (grub_apple_cc): new test
27772 (grub_apple_target_cc): likewise
473d1e45 27773
fb14123e 277742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27775
27776 Simplify sed expressions and improve awk
27777
27778 * Makefile.in (install-local): simplify sed expression
27779 * gencmdlist.sh: likewise
27780 * genmoddep.awk: avoid adding module as a dependency of itself
27781
5b889789 277822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 Add missing start symbols
27785
27786 * boot/i386/pc/boot.S: add start
fb14123e 27787 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27788
fd2bf2e3 277892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27790
27791 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27792
27793 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27794 (relocate_addresses): consider both r_addend and value at offset
27795 (make_mods_section): zerofill modinfo and header
27796 (convert_elf): write prefix here
473d1e45 27797
5389763d 277982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 Use .asciz instead of .string
27801
27802 * i386/pc/diskboot.S: use .asciz instead of .string
27803 * i386/pc/boot.S: likewise
27804 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27805 (GRUB_MOD_NAME): likewise
473d1e45 27806
3eb5ed4e 278072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27808
27809 gfxpayload support
27810
27811 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27812 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27813 (grub_video_setup): remove
27814 (grub_video_set_mode): new prototype
27815 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27816 (vid_mode): remove
27817 (linux_vesafb_res): compile only on PCBIOS
27818 (grub_linux_boot): support gfxpayload
27819 * loader/i386/pc/xnu.c (video_hook): new function
27820 (grub_xnu_set_video): support gfxpayload
27821 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27822 (DEFAULT_VIDEO_HEIGHT): likewise
27823 (DEFAULT_VIDEO_FLAGS): likewise
27824 (DEFAULT_VIDEO_MODE): new definition
27825 (video_hook): new function
27826 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27827 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27828 loading xnu
27829 * video/video.c (grub_video_setup): removed
473d1e45 27830 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27831 grub_video_setup
27832
4b0e1143 278332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27834
27835 Avoid calling biosdisk in drivemap
27836
27837 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27838 (revparse_biosdisk): likewise
27839 (list_mappings): derive name from id directly
27840 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27841
fda6cb98 278422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27843
27844 Script fixes
27845
27846 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27847 (grub_lexer_param): add tokenonhold
27848 (grub_script_create_cmdline): remove cmdline. All callers updated
27849 (grub_script_function_create): make functionname
27850 grub_script_arg. All callers updated
27851 (grub_script_execute_argument_to_string): new prototype
27852 * kern/parser.c (state_transitions): reorder
27853 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27854 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27855 make global
27856 (grub_script_execute_cmdline): use new format
27857 * script/sh/function.c (grub_script_function_create): make functionname
27858 grub_script_arg. All callers updated
473d1e45 27859 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27860 (grub_script_yylex): remove
27861 (grub_script_yylex2): renamed to ...
27862 (grub_script_yylex): ...renamed
27863 parse the expressions like a${b}c
27864 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27865 (GRUB_PARSER_TOKEN_VAR): remove
27866 (GRUB_PARSER_TOKEN_NAME): likewise
27867 ("if"): declare as typeless
27868 ("while"): likewise
27869 ("function"): likewise
27870 ("else"): likewise
27871 ("then"): likewise
27872 ("fi"): likewise
27873 (text): remove
27874 (argument): likewise
27875 (script): accept empty scripts and make exit on error
27876 (arguments): use GRUB_PARSER_TOKEN_ARG
27877 (function): likewise
27878 (command): move error handling to script
27879 (menuentry): move grub_script_lexer_ref before
473d1e45 27880 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27881 argument. All callers updated
27882
f4448a07 278832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27884
27885 Prevent GRUB from probing floppies during boot.
27886
27887 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27888 * commands/search.c (options): Add --no-floppy.
27889 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27890 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27891 --no-floppy when searching for UUIDs.
27892
2bf5885a 278932009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27894
27895 Simplify the code duplication in commands/search.c.
27896
27897 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27898 (search_fs): ... this. Update all users.
27899
f6fd460a 279002009-06-03 Felix Zielcke <fzielcke@z-51.de>
27901
27902 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27903
cbb3c83e 279042009-05-28 Pavel Roskin <proski@gnu.org>
27905
57788cfd 27906 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27907 Remove the original symlink explicitly.
27908
cbb3c83e 27909 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27910 just one slash. That's how grub_fshelp_find_file() does it.
27911
cd0d5e30 279122009-05-26 Pavel Roskin <proski@gnu.org>
27913
f0f8bbe2 27914 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27915 to `str'.
27916
cd0d5e30 27917 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27918 possibly unused.
27919
8c2cab51 279202009-05-25 Christian Franke <franke@computer.org>
27921
27922 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27923 register.
27924 (grub_atapi_identify): Add wait after drive select.
27925 (grub_ata_identify): Do more strict status register check before
27926 calling grub_atapi_identify (). Suppress error message if status
27927 register is 0x00 after command failure. Add status register
27928 check after PIO read to avoid bogus identify due to stuck DRQ.
27929 Thanks to Pavel Roskin for testing.
27930 (grub_device_initialize): Remove unsafe status register check.
27931 Thanks to 'phcoder' for problem report and patch.
27932 Prevent sign extension in debug message.
27933
230c0ad6 279342009-05-23 Colin D Bennett <colin@gibibit.com>
27935
27936 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27937 definition file, and functions defined in `normal/menu.c' have had
27938 their prototypes moved to `include/grub/menu.h' for consistency.
27939
27940 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27941 from normal.h.
27942 (grub_menu_get_entry): Likewise.
27943 (grub_menu_get_timeout): Likewise.
27944 (grub_menu_set_timeout): Likewise.
27945 (grub_menu_execute_entry): Likewise.
27946 (grub_menu_execute_with_fallback): Likewise.
27947 (grub_menu_entry_run): Likewise.
27948
27949 * include/grub/normal.h: Re-ordered and grouped function
27950 prototypes by file that the function is defined in.
27951 (grub_menu_execute_callback): Removed; moved to menu.h.
27952 (grub_menu_get_entry): Likewise.
27953 (grub_menu_get_timeout): Likewise.
27954 (grub_menu_set_timeout): Likewise.
27955 (grub_menu_execute_entry): Likewise.
27956 (grub_menu_execute_with_fallback): Likewise.
27957 (grub_menu_entry_run): Likewise.
27958 (grub_menu_addentry): Renamed from this ...
27959 (grub_normal_add_menu_entry): ... to this.
27960
27961 * normal/main.c (grub_menu_addentry): Renamed from this ...
27962 (grub_normal_add_menu_entry): ... to this.
27963
27964 * script/sh/execute.c (grub_script_execute_menuentry): Update
27965 reference to renamed grub_menu_addentry function.
27966
861f03a5 279672009-05-23 Felix Zielcke <fzielcke@z-51.de>
27968
27969 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27970
96b1619a 279712009-05-22 Pavel Roskin <proski@gnu.org>
27972
bf6a5fb2 27973 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27974 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27975 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27976 compiling for the i386 targets, but not for the utilities.
27977
96b1619a 27978 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27979 to grub_uint8_t.
27980 (grub_root_drive): Likewise.
27981 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27982 remove alignment.
27983 (grub_root_drive): Change size to byte.
27984 (grub_start_addr): Remove.
27985 (grub_end_addr): Likewise.
27986 (grub_apm_bios_info): Likewise.
27987
b729776b 279882009-05-21 Felix Zielcke <fzielcke@z-51.de>
27989
27990 * normal/i386: Remove.
27991 * normal/powerpc: Likewise.
27992 * normal/sparc64: Likewise.
27993 * normal/x86_64: Likewise.
27994
0a15ce80 279952009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27996
27997 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27998 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27999 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28000
33db9015 280012009-05-18 Colin D Bennett <colin@gibibit.com>
28002
d6da58e6 28003 Display error messages when parsing a Lua statement fails.
28004 Previously, executing a syntactically invalid statement like
28005 ")foo" or "bar;" would silently fail.
33db9015 28006
28007 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28008 (grub_lua_parse_line): Improved reporting of Lua parser and
28009 execution errors.
33db9015 28010
46422c89 280112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 Remove -Werror which causes build to fail on some systems
28014
28015 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28016 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28017 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28018
22f53a96 280192009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28020
28021 trampoline for linux on 64-bit platform
28022
18f547ad 28023 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28024 loader/i386/efi/linux_trampoline.S
28025 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28026 declaration
d6da58e6 28027 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28028 here
22f53a96 28029 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28030 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28031 trampoline
22f53a96 28032 (jumpvector): removed
28033 (grub_linux_trampoline_start): new declaration
28034 (grub_linux_trampoline_end): likewise
28035 (grub_linux_boot): use trampoline when on 64-bit platform
28036 * loader/i386/linux.c: likewise
28037
cb5a0f40 280382009-05-16 Pavel Roskin <proski@gnu.org>
28039
28040 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28041 const to avoid a warning.
28042 (grub_lua_setenv): Likewise.
28043 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28044 lmsg to fix a warning.
28045
334f2c28 280462009-05-16 Felix Zielcke <fzielcke@z-51.de>
28047
28048 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28049 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28050 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28051 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28052 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28053 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28054 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28055 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28056
59e5d3ec 280572009-05-16 Felix Zielcke <fzielcke@z-51.de>
28058
28059 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28060
9d87a1ba 280612009-05-16 Bean <bean123ch@gmail.com>
28062
28063 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28064 (lua_mod_SOURCES): New variable.
28065 (lua_mod_CFLAGS): Likewise.
28066 (lua_mod_LDFLAGS): Likewise.
28067
28068 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28069 (setjmp_mod_SOURCES): New variable.
28070 (setjmp_mod_CFLAGS): Likewise.
28071 (setjmp_LDFLAGS): Likewise.
28072
28073 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28074 (setjmp_mod_SOURCES): New variable.
28075 (setjmp_mod_CFLAGS): Likewise.
28076 (setjmp_LDFLAGS): Likewise.
28077
28078 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28079 (setjmp_mod_SOURCES): New variable.
28080 (setjmp_mod_CFLAGS): Likewise.
28081 (setjmp_LDFLAGS): Likewise.
28082
28083 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28084 (setjmp_mod_SOURCES): New variable.
28085 (setjmp_mod_CFLAGS): Likewise.
28086 (setjmp_LDFLAGS): Likewise.
28087
28088 * normal/i386/setjmp.S: Moved from here ...
28089 * lib/i386/setjmp.S: ... Moved here
28090 * normal/x86_64/setjmp.S: Moved from here ...
28091 * lib/x86_64/setjmp.S: ... Moved here
28092 * normal/powerpc/setjmp.S: Moved from here ...
28093 * lib/powerpc/setjmp.S: ... Moved here
28094 * normal/sparc64/setjmp.S: Moved from here ...
28095 * lib/sparc64/setjmp.S: ... Moved here
28096
28097 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28098 returns_twice in mingw.
28099
28100 * script/lua/grub_lib.c: New file.
28101 * script/lua/grub_lib.h: Likewise.
28102 * script/lua/grub_lua.h: Likewise.
28103 * script/lua/grub_main.c: Likewise.
28104 * script/lua/lapi.c: Likewise.
28105 * script/lua/lapi.h: Likewise.
28106 * script/lua/lauxlib.c: Likewise.
28107 * script/lua/lauxlib.h: Likewise.
28108 * script/lua/lbaselib.c: Likewise.
28109 * script/lua/lcode.c: Likewise.
28110 * script/lua/lcode.h: Likewise.
28111 * script/lua/ldblib.c: Likewise.
28112 * script/lua/ldebug.c: Likewise.
28113 * script/lua/ldebug.h: Likewise.
28114 * script/lua/ldo.c: Likewise.
28115 * script/lua/ldo.h: Likewise.
28116 * script/lua/ldump.c: Likewise.
28117 * script/lua/lfunc.c: Likewise.
28118 * script/lua/lfunc.h: Likewise.
28119 * script/lua/lgc.c: Likewise.
28120 * script/lua/lgc.h: Likewise.
28121 * script/lua/linit.c: Likewise.
28122 * script/lua/liolib.c: Likewise.
28123 * script/lua/llex.c: Likewise.
28124 * script/lua/llex.h: Likewise.
28125 * script/lua/llimits.h: Likewise.
28126 * script/lua/lmathlib.c: Likewise.
28127 * script/lua/lmem.c: Likewise.
28128 * script/lua/lmem.h: Likewise.
28129 * script/lua/loadlib.c: Likewise.
28130 * script/lua/lobject.c: Likewise.
28131 * script/lua/lobject.h: Likewise.
28132 * script/lua/lopcodes.c: Likewise.
28133 * script/lua/lopcodes.h: Likewise.
28134 * script/lua/loslib.c: Likewise.
28135 * script/lua/lparser.c: Likewise.
28136 * script/lua/lparser.h: Likewise.
28137 * script/lua/lstate.c: Likewise.
28138 * script/lua/lstate.h: Likewise.
28139 * script/lua/lstring.c: Likewise.
28140 * script/lua/lstring.h: Likewise.
28141 * script/lua/lstrlib.c: Likewise.
28142 * script/lua/ltable.c: Likewise.
28143 * script/lua/ltable.h: Likewise.
28144 * script/lua/ltablib.c: Likewise.
28145 * script/lua/ltm.c: Likewise.
28146 * script/lua/ltm.h: Likewise.
28147 * script/lua/lua.h: Likewise.
28148 * script/lua/luaconf.h: Likewise.
28149 * script/lua/lualib.h: Likewise.
28150 * script/lua/lundump.c: Likewise.
28151 * script/lua/lundump.h: Likewise.
28152 * script/lua/lvm.c: Likewise.
28153 * script/lua/lvm.h: Likewise.
28154 * script/lua/lzio.c: Likewise.
28155 * script/lua/lzio.h: Likewise.
28156
5e898c9d 281572009-05-16 Bean <bean123ch@gmail.com>
28158
28159 * include/grub/kernel.h (grub_module_header_types): Add type
28160 OBJ_TYPE_CONFIG.
28161
28162 * kern/main.c (grub_load_config): New function.
28163 (grub_main): Call grub_load_config to read boot config.
28164
28165 * grub-mkimage (generate_image): New parameter config_path.
28166 (options): New option --config.
28167 (main): Parse --config option, and pass it to generate_image.
28168
cf353a47 281692009-05-14 Christian Franke <franke@computer.org>
28170
28171 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28172 This fixes build on Cygwin.
28173
3834887f 281742009-05-14 Pavel Roskin <proski@gnu.org>
28175
28176 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28177 jump. This saves two bytes, so the typical case of 2 swapped
28178 drives would fit 32 bytes.
28179
8090fc01 281802009-05-13 Pavel Roskin <proski@gnu.org>
28181
ac963883 28182 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28183 grub_uint32_t to avoid a warning.
28184
8090fc01 28185 * loader/i386/linux.c (allocate_pages): When assigning
28186 real_mode_mem, cast through grub_size_t to fix a warning. The
28187 code already makes sure that the value would fit a pointer.
28188 (grub_linux_setup_video): Cast render_target->data to
28189 grub_size_t to fix a warning.
28190
18f547ad 281912009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28192
28193 * commands/i386/pc/drivemap.c: New file - implement drivemap
28194 command.
28195 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28196 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28197
6f6a8b28 281982009-05-13 Pavel Roskin <proski@gnu.org>
28199
28200 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28201 embedding_area_exists.
28202
15fbf4c4 282032009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28204
28205 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28206 it easier to understand / work with.
59978c8a 28207 Improve warning messages for cases where there's no embedding area,
28208 or when it is too small (or core.img too large).
15fbf4c4 28209
238e871f 282102009-05-13 Pavel Roskin <proski@gnu.org>
28211
0ab3a9a4 28212 * loader/i386/pc/multiboot2.c: Add necessary includes for
28213 grub_multiboot2_real_boot().
28214
a2c8c5f8 28215 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28216 PX record is always little-endian. We only need the lower 2
28217 bytes of the mode.
28218
faec96af 28219 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28220 facilitate code reuse.
28221 (grub_cpio_mount): Use "struct head", not a char buffer. This
28222 fixes a warning reported by gcc 4.4.
28223
238e871f 28224 * kernel/disk.c (grub_disk_read): Use void pointer for the
28225 buffer.
28226 (grub_disk_write): Use const void pointer for the buffer.
28227 Adjust all callers. Remove unnecessary casts.
28228
901d2f0c 282292009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28230
28231 * util/i386/pc/grub-install.in: Update copyright year.
28232
18f547ad 282332009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28234
28235 gptsync
28236
28237 * commands/gptsync.c: new file
28238 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28239 (gptsync_mod_SOURCES): new variable
28240 (gptsync_mod_CFLAGS): likewise
28241 (gptsync_mod_LDFLAGS): likewise
18f547ad 28242 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28243 new definition
28244 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28245 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28246 * conf/i386-ieee1275.rmk: likewise
28247 * conf/i386-pc.rmk: likewise
28248 * conf/powerpc-ieee1275.rmk: likewise
28249
b4ba690a 282502009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28251
28252 Fixed grub-emu
28253
28254 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28255 (grub_dl_ref): likewise
28256
317e1a44 282572009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28258
28259 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28260 split in two functions (one for msdos and one for gpt).
28261
041b8094 282622009-05-08 Pavel Roskin <proski@gnu.org>
28263
752473c2 28264 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28265 not modified.
28266
041b8094 28267 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28268 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28269 Initialize them with -1. Add sanity check for bad1. Eliminate
28270 nerr variable.
28271
172800ce 282722009-05-08 David S. Miller <davem@davemloft.net>
28273
28274 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28275
29aa5e81 282762009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28277
28278 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28279 existence.
29aa5e81 28280
96613b62 282812009-05-05 Felix Zielcke <fzielcke@z-51.de>
28282
28283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28284 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28285
eef73c8a 282862009-05-05 David S. Miller <davem@davemloft.net>
28287
28288 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28289
119494b5 282902009-05-05 Pavel Roskin <proski@gnu.org>
28291
28292 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28293 of grub_dl_ref() and grub_dl_unref().
28294 * commands/parttool.c: Remove preprocessor conditionals around
28295 grub_dl_ref() and grub_dl_unref().
28296 * fs/affs.c: Likewise.
28297 * fs/afs.c: Likewise.
28298 * fs/cpio.c: Likewise.
28299 * fs/ext2.c: Likewise.
28300 * fs/fat.c: Likewise.
28301 * fs/hfs.c: Likewise.
28302 * fs/hfsplus.c: Likewise.
28303 * fs/iso9660.c: Likewise.
28304 * fs/jfs.c: Likewise.
28305 * fs/minix.c: Likewise.
28306 * fs/ntfs.c: Likewise.
28307 * fs/reiserfs.c: Likewise.
28308 * fs/sfs.c: Likewise.
28309 * fs/udf.c: Likewise.
28310 * fs/ufs.c: Likewise.
28311 * fs/xfs.c: Likewise.
28312 * include/grub/dl.h: Likewise.
28313 * loader/xnu.c: Likewise.
28314
de5fd76e 283152009-05-04 Pavel Roskin <proski@gnu.org>
28316
28317 * commands/acpi.c: Remove unused variable my_mod.
28318 * partmap/amiga.c: Likewise.
28319 * partmap/apple.c: Likewise.
28320 * partmap/gpt.c: Likewise.
28321 * partmap/pc.c: Likewise.
28322 * partmap/sun.c: Likewise.
28323 * term/gfxterm.c: Likewise.
28324 * term/i386/pc/vesafb.c: Likewise.
28325 * term/i386/pc/vga.c: Likewise.
28326
983598ad 283272009-05-04 David S. Miller <davem@davemloft.net>
28328
28329 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28330 pointer args to grub_ieee1275_get_property().
28331
8aadec43 28332 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28333
9554b15e 28334 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28335 devices, and do not traverse down under controller nodes.
28336
67e23c90 28337 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28338 (grub_ofdisk_open): Use it to un-escape "," characters.
28339 * kern/disk.c (find_part_sep): New.
28340 (grub_disk_open): Use it to find the first non-escaped ','
28341 character in the disk name.
28342 * util/ieee1275/devicemap.c (escape_of_path): New.
28343 (grub_util_emit_devicemap_entry): Use it.
28344 * util/sparc64/ieee1275/grub-install.in: Update script to
28345 strip partition specifiers properly by not triggering on
28346 '\' escaped ',' characters.
28347
74bfdd2f 283482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28349
28350 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28351 to 0x300.
28352 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28353 resolutions.
28354 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28355 on documentation from Wikipedia).
28356
4241d2b1 283572009-05-04 Pavel Roskin <proski@gnu.org>
28358
28359 * disk/ata.c: Spelling fixes.
28360 * disk/raid.c: Likewise.
28361 * disk/usbms.c: Likewise.
28362 * disk/dmraid_nvidia.c: Likewise.
28363 * kern/ieee1275/openfw.c: Likewise.
28364 * kern/ieee1275/init.c: Likewise.
28365 * kern/ieee1275/cmain.c: Likewise.
28366 * boot/i386/pc/cdboot.S: Likewise.
28367 * video/readers/png.c: Likewise.
28368 * video/i386/pc/vbe.c: Likewise.
28369 * fs/udf.c: Likewise.
28370 * fs/hfs.c: Likewise.
28371 * fs/reiserfs.c: Likewise.
28372 * efiemu/runtime/efiemu.c: Likewise.
28373 * efiemu/main.c: Likewise.
28374 * efiemu/mm.c: Likewise.
28375 * include/grub/elf.h: Likewise.
28376 * include/grub/xnu.h: Likewise.
28377 * include/grub/usbdesc.h: Likewise.
28378 * include/grub/usb.h: Likewise.
28379 * include/grub/script_sh.h: Likewise.
28380 * include/grub/lib/LzmaEnc.h: Likewise.
28381 * include/grub/efiemu/efiemu.h: Likewise.
28382 * include/grub/command.h: Likewise.
28383 * normal/menu.c: Likewise.
28384 * normal/main.c: Likewise.
28385 * normal/datetime.c: Likewise.
28386 * bus/usb/uhci.c: Likewise.
28387 * mmap/i386/uppermem.c: Likewise.
28388 * mmap/mmap.c: Likewise.
28389 * commands/acpi.c: Likewise.
28390 * commands/test.c: Likewise.
28391 * partmap/apple.c: Likewise.
28392 * font/font.c: Likewise.
28393 * loader/sparc64/ieee1275/linux.c: Likewise.
28394 * loader/macho.c: Likewise.
28395 * loader/i386/bsd_trampoline.S: Likewise.
28396 * loader/i386/bsd.c: Likewise.
28397 * loader/xnu.c: Likewise.
28398 * term/i386/pc/vesafb.c: Likewise.
28399 * term/usb_keyboard.c: Likewise.
28400 * util/resolve.c: Likewise.
28401 * util/getroot.c: Likewise.
28402
0cfc0083 284032009-05-04 Felix Zielcke <fzielcke@z-51.de>
28404
28405 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28406
7c1d00cd 284072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28408
28409 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28410 build error.
28411
b01f0548 284122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28413
28414 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28415 parameter only available on BIOS.
28416
ecc3eb22 284172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 Removed wrong semicolon in declaration
28420
28421 * grub/misc.h (grub_dprintf): remove semicolon
28422
112972a9 284232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28424
28425 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28426 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28427 is done by grub_cmd_linux() now).
28428 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28429 restore video to text mode.
28430 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28431 indicates lack of "vga=" parameter. "vga=0" is mapped to
28432 `GRUB_LINUX_VID_MODE_NORMAL'.
28433
afd5c115 284342009-05-04 Felix Zielcke <fzielcke@z-51.de>
28435
28436 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28437 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28438 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28439 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28440 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28441 `grub_script.tab.c'.
28442
28443 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28446 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28447 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28448
faa517ce 28449 * Makefile.in: Remove duplicated 2008 in Copyright line.
28450
ae0c0bdc 284512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28452
473d1e45 28453 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28454 unconditionally.
28455 * include/grub/util/misc.h (grub_util_warn): New declaration.
28456
28457 * util/i386/pc/grub-install.in: Understand --force and pass it down
28458 to grub-setup.
28459
28460 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28461 down to setup().
28462 (setup): Improve error messages and add warnings when requested to
28463 install in odd layouts. Refuse to install using blocklists unless
28464 --force was set.
28465
18f547ad 284662009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28467
28468 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28469
6d260daa 284702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28471
28472 Updated copyright year
28473
28474 * fs/hfsplus.c: updated copyright year
18f547ad 28475
69f853f8 284762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28477
28478 HFS+ UUID
28479
18f547ad 28480 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28481 in the space previously used by unused3
28482 (grub_hfsplus_uuid): new function
28483 (grub_hfsplus_fs): added uuid field
28484
4c402e73 284852009-05-03 Pavel Roskin <proski@gnu.org>
28486
28487 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28488 suppress warnings. It's no longer needed.
28489 * disk/host.c: Likewise.
28490 * disk/ata_pthru.c: Likewise.
28491 * disk/loopback.c: Likewise.
28492 * hook/datehook.c: Likewise.
28493 * parttool/pcpart.c: Likewise.
28494 * fs/i386/pc/pxe.c: Likewise.
28495 * fs/ntfscomp.c: Likewise.
28496 * efiemu/main.c: Likewise.
28497 * mmap/mmap.c: Likewise.
28498 * commands/crc.c: Likewise.
28499 * commands/hexdump.c: Likewise.
28500 * commands/hdparm.c: Likewise.
28501 * commands/acpi.c: Likewise.
28502 * commands/echo.c: Likewise.
28503 * commands/minicmd.c: Likewise.
28504 * commands/blocklist.c: Likewise.
28505 * commands/memrw.c: Likewise.
28506 * commands/loadenv.c: Likewise.
28507 * commands/usbtest.c: Likewise.
28508 * commands/lsmmap.c: Likewise.
28509 * commands/boot.c: Likewise.
28510 * commands/parttool.c: Likewise.
28511 * commands/configfile.c: Likewise.
28512 * commands/search.c: Likewise.
28513 * commands/ieee1275/suspend.c: Likewise.
28514 * commands/cat.c: Likewise.
28515 * commands/i386/pc/pxecmd.c: Likewise.
28516 * commands/i386/pc/play.c: Likewise.
28517 * commands/i386/pc/halt.c: Likewise.
28518 * commands/i386/pc/vbeinfo.c: Likewise.
28519 * commands/i386/pc/vbetest.c: Likewise.
28520 * commands/lspci.c: Likewise.
28521 * commands/date.c: Likewise.
28522 * commands/handler.c: Likewise.
28523 * commands/ls.c: Likewise.
28524 * commands/test.c: Likewise.
28525 * commands/cmp.c: Likewise.
28526 * commands/efi/loadbios.c: Likewise.
28527 * commands/efi/fixvideo.c: Likewise.
28528 * commands/halt.c: Likewise.
28529 * commands/help.c: Likewise.
28530 * commands/reboot.c: Likewise.
28531 * hello/hello.c: Likewise.
28532 * script/sh/main.c: Likewise.
28533 * loader/xnu.c: Likewise.
28534 * term/terminfo.c: Likewise.
28535 * term/i386/pc/serial.c: Likewise.
28536 * term/usb_keyboard.c: Likewise.
28537
515b5079 285382009-05-03 David S. Miller <davem@davemloft.net>
28539
28540 * normal/menu.c: Include grub/parser.h
28541
dfc31a22 285422009-05-03 Pavel Roskin <proski@gnu.org>
28543
2fee74f1 28544 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28545 not char*.
28546 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28547 Suggested by Javier Martín <lordhabbit@gmail.com>
28548
dfc31a22 28549 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28550 efiemu??.o doesn't exist.
28551 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28552 copying.
28553
18f547ad 285542009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28555
28556 FreeBSD 64-bit support
28557
18f547ad 28558 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28559 and loader/i386/bsd_trampoline.S
28560 (bsd_mod_ASFLAGS): new variable
28561 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28562 (FREEBSD_MODTYPE_KERNEL64): likewise
28563 (grub_bsd64_trampoline_start): likewise
28564 (grub_bsd64_trampoline_end): likewise
28565 (grub_bsd64_trampoline_selfjump): likewise
28566 (grub_bsd64_trampoline_gdt): likewise
28567 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28568 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28569 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28570 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28571 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28572 of "attrib" member
28573 * loader/i386/bsd_pagetable.c: new file
28574 * loader/i386/bsd_trampoline.S: likewise
28575 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28576 (ALIGN_VAR): likewise
28577 (entry_hi): new variable
28578 (kern_end_mdofs): likewise
28579 (is_64bit): likewise
28580 (grub_freebsd_add_meta): use ALIGN_VAR
28581 (grub_e820_mmap): new declaration
28582 (grub_freebsd_add_mmap): new function
28583 (grub_freebsd_add_meta_module): support 64 bit kernels
28584 (grub_freebsd_list_modules): use ALIGN_VAR
28585 (gdt_descriptor): new declaration
28586 (grub_freebsd_boot): support 64 bit kernels
28587 (grub_bsd_elf64_hook): new function
28588 (grub_bsd_load_elf): support elf64
28589
038c5720 285902009-05-03 Bean <bean123ch@gmail.com>
28591
28592 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28593 after we get the result of if statement.
28594
fc45fb58 285952009-05-03 Bean <bean123ch@gmail.com>
28596
28597 * Makefile.in (enable_efiemu): New variable.
28598
28599 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28600 set.
28601 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28602 path.
28603 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28604 path, add -mno-red-zone option.
28605 (efiemu64_s.o): Likewise.
28606 (efiemu64.o): Use macro $^ for source file.
28607
28608 * configure.ac (--enable-efiemu): New option.
28609
bbee0f2b 286102009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28611
28612 xnu support
28613
28614 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28615 (pkglib_MODULES): add xnu.mod
28616 (xnu_mod_SOURCES): new variable
28617 (xnu_mod_CFLAGS): likewise
28618 (xnu_mod_LDFLAGS): likewise
28619 (xnu_mod_ASFLAGS): likewise
28620 * conf/i386-pc.rmk: likewise
28621 * conf/x86_64-efi.rmk: likewise
7dd4a573 28622 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28623 new declaration
28624 * include/grub/i386/macho.h: new file
28625 * include/grub/i386/xnu.h: likewise
28626 * include/grub/macho.h: likewise
28627 * include/grub/machoload.h: likewise
28628 * include/grub/x86_64/macho.h: likewise
28629 * include/grub/x86_64/xnu.h: likewise
28630 * include/grub/xnu.h: likewise
28631 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28632 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28633 * loader/i386/efi/xnu.c: new file
28634 * loader/i386/pc/xnu.c: likewise
28635 * loader/i386/xnu.c: likewise
28636 * loader/i386/xnu_helper.S: likewise
28637 * loader/macho.c: likewise
28638 * loader/xnu.c: likewise
28639 * loader/xnu_resume.c: likewise
28640 * util/grub-dumpdevtree: likewise
28641 * include/grub/i386/pit.h: include grub/err.h
28642 (grub_pit_wait): export
28643 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28644
5caf964d 286452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 Efiemu
7dd4a573 28648
5caf964d 28649 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28650 _linux_efi, linux_efi.
28651 new files in grub-emu
5caf964d 28652 new targets efiemu32.o and efiemu64.o
28653 * loader/linux_normal_efiemu.c: likewise
28654 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28655 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28656 files to copy
28657 * include/grub/autoefi.h: new file
7dd4a573 28658 * include/grub/i386/efiemu.h: likewise
5caf964d 28659 * include/grub/i386/pc/efiemu.h: likewise
28660 * include/grub/efi/api.h: add LL suffix when necessary
28661 new definitions relating to tables
28662 * include/grub/efiemu/efiemu.h: new file
28663 * include/grub/efiemu/runtime.h: likewise
28664 * efiemu/prepare.c: likewise
28665 * efiemu/loadcore_common.c: likewise
28666 * efiemu/loadcore64.c: likewise
28667 * efiemu/runtime/efiemu.sh: likewise
28668 * efiemu/runtime/efiemu.S: likewise
28669 * efiemu/runtime/efiemu.c: likewise
28670 * efiemu/runtime/config.h: likewise
28671 * efiemu/prepare32.c: likewise
28672 * efiemu/main.c: likewise
28673 * efiemu/modules/pnvram.c: likewise
28674 * efiemu/modules/i386: likewise
28675 * efiemu/modules/i386/pc: likewise
28676 * efiemu/modules/acpi.c: likewise
28677 * efiemu/i386/pc/cfgtables.c: likewise
28678 * efiemu/i386/loadcore64.c: likewise
28679 * efiemu/i386/loadcore32.c: likewise
28680 * efiemu/prepare64.c: likewise
28681 * efiemu/loadcore.c: likewise
28682 * efiemu/symbols.c: likewise
28683 * efiemu/mm.c: likewise
28684 * efiemu/loadcore32.c: likewise
7dd4a573 28685
286862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28687
28688 ACPI spoofing
28689
28690 * commands/acpi.c: new file
28691 * commands/i386/pc/acpi.c: likewise
28692 * commands/efi/acpi.c: likewise
28693 * include/grub/acpi.h: likewise
28694 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28695 (acpi_mod_SOURCES): new variable
28696 (acpi_mod_CFLAGS): likewise
28697 (acpi_mod_LDFLAGS): likewise
28698 * conf/i386-efi.rmk: likewise
28699 * conf/x86_64-efi.rmk: likewise
28700
7dd4a573 287012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28702
28703 Missing part from mmap patch
28704
28705 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28706 (grub_mmap_unregister)
28707 (grub_mmap_free_and_unregister): use grub_mmap_register
28708
7dd4a573 287092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28710
28711 Mmap services
28712
28713 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28714 * loader/i386/linux.c (find_mmap_size): likewise
28715 (allocate_pages): likewise
28716 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28717 (grub_fill_multiboot_mmap): likewise
28718 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28719 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28720 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28721 (OPENBSD_MMAP_RESERVED): likewise
28722 * include/grub/i386/pc/memory.h: include grub/memory.h
28723 (grub_lower_mem): removed
28724 (grub_upper_mem): likewise
28725 (GRUB_MACHINE_MEMORY_ACPI): new definition
28726 (GRUB_MACHINE_MEMORY_NVS): likewise
28727 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28728 (GRUB_MACHINE_MEMORY_HOLE): likewise
28729 (grub_machine_mmap_register): likewise
28730 (grub_machine_mmap_unregister): likewise
28731 (grub_machine_get_upper): likewise
28732 (grub_machine_get_lower): likewise
28733 (grub_machine_get_post64): likewise
28734 * include/grub/i386/efi/memory.h: new file
28735 * include/grub/x86_64/efi/memory.h: likewise
28736 * include/grub/efi/memory.h: likewise
28737 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28738 (mmap_mod_SOURCES): new variable
28739 (mmap_mod_LDFLAGS): likewise
28740 (mmap_mod_ASFLAGS): likewise
28741 * conf/i386-coreboot.rmk: likewise
28742 * conf/i386-ieee1275.rmk: likewise
28743 * conf/i386-efi.rmk: likewise
28744 * conf/x86_64-efi.rmk: likewise
28745 * include/grub/types.h (UINT_TO_PTR): new macro
28746 (PTR_TO_UINT32): likewise
28747 (PTR_TO_UINT64): likewise
28748 * include/grub/memory.h: new file
28749 * mmap/i386/pc/mmap.c: likewise
28750 * mmap/i386/pc/mmap_helper.S: likewise
28751 * mmap/i386/uppermem.c: likewise
28752 * mmap/mmap.c: likewise
28753 * mmap/efi/mmap.c: likewise
7dd4a573 28754 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28755 grub_upper_mem
28756 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28757 (grub_upper_mem): likewise
28758 (grub_machine_init): don't use grub_upper_mem,
28759 make grub_lower_mem local
28760 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28761 grub_mmap_iterate and grub_mmap_get_upper
28762 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28763
d558e6b5 287642009-05-02 Bean <bean123ch@gmail.com>
28765
28766 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28767 script/sh/parser.y.
28768 (pkglib_MODULES): Add normal.mod and sh.mod.
28769 (normal_SOURCES): New variable.
28770 (normal_mod_CFLAGS): Likewise.
28771 (normal_mod_LDFLAGS): Likewise.
28772 (sh_mod_SOURCES): Likewise.
28773 (sh_mod_CFLAGS): Likewise.
28774 (sh_mod_LDFLAGS): Likewise.
28775
28776 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28777 script/sh/lexer.c_DEPENDENCIES.
28778 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28779 kern/rescue_reader.c and kern/rescue_parser.c.
28780 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28781 (grub_emu_SOURCES): Change source files.
28782 (pkglib_MODULES): Remove normal.mod.
28783 (normal_SOURCES): Removed.
28784 (normal_mod_CFLAGS): Likewise.
28785 (normal_mod_LDFLAGS): Likewise.
28786 * conf/i386-coreboot.rmk: Likewise.
28787 * conf/i386-efi.rmk: Likewise.
28788 * conf/i386-ieee1276.rmk: Likewise.
28789 * conf/powerpc-ieee1275.rmk: Likewise.
28790 * conf/sparc64-ieee1275.rmk: Likewise.
28791 * conf/x86_64-efi.rmk: Likewise.
28792
28793 * include/grub/command.h (grub_command_execute): New inline function.
28794
28795 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28796
28797 * include/grub/normal.h: Remove <grub/setjmp.h>.
28798 (grub_fs_module_list): Moved to normal/autofs.c.
28799 (grub_exit_env): Removed.
28800 (grub_command_execute): Likewise.
28801 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28802 parameter script.
28803 (read_command_list): New function declaration.
28804 (read_fs_list): Likewise.
28805
28806 * include/parser.h: Include <grub/reader.h>.
28807 (grub_parser_split_cmdline): Change type of getline parameter.
28808 (grub_parser): New structure.
28809 (grub_parser_class): New variable.
28810 (grub_parser_execute): New function declaration.
28811 (grub_register_rescue_parser): Likewise.
28812 (grub_parser_register): New inline function.
28813 (grub_parser_unregister): Likewise.
28814 (grub_parser_get_current): Likewise.
28815 (grub_parser_set_current): Likewise.
28816
28817 * include/grub/reader.h: New file.
28818 * kern/reader.c: Likewise.
28819 * kern/rescue_parser.c: Likewise.
28820 * kern/rescue_reader.c: Likewise.
28821 * normal/autofs.c: Likewise.
28822 * normal/dyncmd.c: Likewise.
28823
28824 * include/grub/rescue.h: Removed.
28825 * normal/command.h: Likewise.
28826
28827 * include/grub/script.h: Moved to ...
28828 * include/grub/script_sh.h: ... Moved here.
28829 * normal/execute.c: Moved to ...
28830 * script/sh/execute.c: ... Moved here.
28831 * normal/function.c: Moved to ...
28832 * script/sh/function.c: ... Moved here.
28833 * normal/lexer.c: Moved to ...
28834 * script/sh/lexer.c: ... Moved here.
28835 * normal/parser.y: Moved to ...
28836 * script/sh/parser.y: ... Moved here.
28837 * normal/script.c: Moved to ...
28838 * script/sh/script.c: ... Moved here.
28839
28840 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28841 <grub/reader.h>.
28842 (grub_exit_env): Removed.
28843 (fs_module_list): Moved to normal/autofs.c.
28844 (grub_file_getline): Don't handle comment here.
28845 (free_menu): Skip removed field entry->commands.
28846 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28847 script parameter.
28848 (read_config_file): Removed nested parameter, change getline function.
28849 (grub_enter_normal_mode): Removed.
28850 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28851 (read_command_list): Likewise.
28852 (autoload_fs_module): Moved to normal/autofs.c.
28853 (read_fs_list): Likewise.
28854 (reader_nested): New variable.
28855 (grub_normal_execute): Run parser.sh to switch to sh parser.
28856 (grub_cmd_rescue): Removed.
28857 (cmd_normal): Removed.
28858 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28859 rescue command.
28860 (grub_cmdline_run): New function.
28861 (grub_normal_reader_init): Likewise.
28862 (grub_normal_read_line): Likewise.
28863 (grub_env_write_pager): Likewise.
28864 (cmdline): New variable.
28865 (grub_normal_reader): Likewise.
28866 (GRUB_MOD_INIT): Register normal reader and set as current, register
28867 pager hook, register normal command with grub_register_command_prio,
28868 so that it won't show up in command.lst.
28869 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28870 grub_fs_autoload_hook.
28871
28872 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28873 (grub_menu_execute_entry): Replace grub_script_execute with
28874 grub_parser_execute, change parameter to grub_command_execute.
28875
28876 * normal/menu_text.c: Remove <grub/script.h>.
28877
28878 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28879 and <grub/parser.h>.
28880 (run): Change editor_getline to use new parser interface. Change
28881 parameter to grub_command_execute.
28882
28883 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28884 <grub/reader.h> and <grub/parser.h>.
28885 (grub_load_normal_mode): Execute normal command.
28886 (grub_main): Call grub_register_core_commands,
28887 grub_register_rescue_parser and grub_register_rescue_reader, use
28888 grub_reader_loop to enter input loop.
28889
7dd4a573 28890 * kern/parser.c (grub_parser_split_cmdline): Change type of
28891 getline parameter.
d558e6b5 28892 (grub_parser_class): New variable.
28893 (grub_parser_execute): New function.
28894
28895 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28896 * loader/multiboot2.c: Likewise.
28897 * loader/sparc64/ieee1275/linux.c: Likewise.
28898
28899 * util/grub-emu.c (read_command_list): New dummy function.
28900
18db813d 289012009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28902
28903 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28904 count to 16 for CCISS and IDA.
28905
6c67de15 289062009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28907
28908 * normal/menu_text.c (grub_wait_after_message): Print a newline
28909 after waiting for user input.
28910
28911 * loader/i386/linux.c: Include `<grub/normal.h>'.
28912 (grub_cmd_linux): Improve the error message about `ask' mode, by
28913 waiting for user input so it's not missed (we can do this, since
28914 user requested interaction).
28915
d9dc87b0 289162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28917
28918 Added missing lst to grub-mkrescue
28919
28920 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28921 and ${input_dir}/parttool.lst
28922
ac8a2baa 289232009-04-30 David S. Miller <davem@davemloft.net>
28924
ad22a610 28925 * util/hostdisk.c (device_is_wholedisk): New function.
28926 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28927 zero only if device_is_wholedisk() returns true.
28928
6966215d 28929 * util/hostdisk.c (convert_system_partition_to_system_disk):
28930 Handle virtual disk devices named /dev/vdiskX as found on sparc
28931 and powerpc.
28932
ac8a2baa 28933 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28934 lettered partition specifier is found, convert to numbered.
28935
979b4fb4 289362009-04-29 David S. Miller <davem@davemloft.net>
28937
e2bf39b2 28938 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28939 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28940
3c64e104 28941 * normal/command.c: Add missing newline at end of file.
28942
979b4fb4 28943 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28944 warnings.
28945 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28946 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28947 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28948 ihandles have a 32-bit type but need to be stored in a "void *".
28949
136d9f82 289502009-04-28 Pavel Roskin <proski@gnu.org>
28951
9459c306 28952 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28953 not disk. Adjust all dependencies.
2e08a26a 28954 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28955 grub_disk_close().
28956
136d9f82 28957 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28958 parent's partition, don't copy it by reference, as it gets freed
28959 on close.
28960
7dd4a573 289612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28962
28963 Preboot hooks support
28964
28965 * commands/boot.c (struct grub_preboot_t): new declaration
28966 (preboots_head): new variable
28967 (preboots_tail): likewise
28968 (grub_loader_register_preboot_hook): new function
28969 (grub_loader_unregister_preboot_hook): likewise
28970 (grub_loader_set): launch preboot hooks
28971 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28972 (grub_loader_register_preboot_hook): new declaration
28973 (grub_loader_unregister_preboot_hook): likewise
28974
5af922b5 289752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28976
28977 Warning fix
28978
7dd4a573 28979 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28980 calling grub_dprintf
28981
a5562c30 289822009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28983
28984 Bug and warning fixes
28985
7dd4a573 28986 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28987 declaration
28988 * commands/test.c (test_parse): fixed bug with file tests and corrected
28989 declaration of find_file
28990
4006f85c 289912009-04-26 Pavel Roskin <proski@gnu.org>
28992
28993 * Makefile.in: Don't install empty manual pages if help2man is
28994 missing. Use help2man option for output, not shell redirection.
28995
5c77c3de 289962009-04-26 David S. Miller <davem@davemloft.net>
28997
28998 * util/grub-mkdevicemap.c (make_device_map): Add missing
28999 NESTED_FUNC_ATTR to process_device().
29000
033b10a8 290012009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 Test command
29004
29005 * commands/test.c: rewritten to use bash-like test
29006
e4343593 290072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 Parttool autoloading and improvements
29010
7dd4a573 29011 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29012 (parttool.lst): new target
29013 * genmk.rb: generate parttool-*
29014 (CLEANFILES): add #{parttool}
29015 (PARTTOOLFILES): new variable
29016 * genparttoollist.sh: new file
7dd4a573 29017 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29018 (grub_pcpart_type): likewise
29019 * commands/parttool.c (helpmsg): new variable
29020 (grub_cmd_parttool): output help if not enough arguments are supplied
29021 autoload modules
29022 (GRUB_MOD_INIT(parttool)): use helpmsg
29023
0d312500 290242009-04-24 David S. Miller <davem@davemloft.net>
29025
7dd4a573 29026 Avoiding opening same device multiple times in device iterator.
0d312500 29027
29028 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29029 and use it to build a list of partitions in iterate_disk() and
0d312500 29030 iterate_partition().
29031
ac20caff 29032 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29033 on disk->data.
29034
0dcf7495 29035 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29036 grub_devalias_iterate() result instead of unconditional 0.
29037 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29038 Also, capture hook return value, either directly or via
29039 grub_children_iterate(), and propagate to caller.
29040 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29041 grub_children_iterate): Return value is now 'int' instead of
29042 'grub_err_t'.
29043 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29044 like a proper iterator, stopping when hooks return non-zero.
29045 (grub_devalias_iterate): Likewise.
29046
c8c08833 290472009-04-23 David S. Miller <davem@davemloft.net>
29048
29049 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29050
f01005a8 290512009-04-22 David S. Miller <davem@davemloft.net>
29052
29053 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29054 is larger than address_cells, use that value for address_cells too.
29055
4e8269da 29056 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29057 IEEE1275_MAX_PATH_LEN): Define.
29058 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29059 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29060 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29061 'devtype'. Explicitly NULL terminate devalias expansion.
29062
a1447506 29063 * util/sparc64/ieee1275/misc.c: New file.
29064 * util/sparc64/ieee1275/grub-setup.c: New file.
29065 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29066 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29067 * util/sparc64/ieee1275/grub-install.in: New file.
29068 * util/ieee1275/ofpath.c: New file.
29069 * util/ieee1275/devicemap.c: New file.
29070 * util/devicemap.c: New file.
29071 * util/deviceiter.c: New file.
29072 * kern/sparc64/ieee1275/init.c: New file.
29073 * include/grub/util/ofpath.h: New file.
29074 * include/grub/util/deviceiter.h: New file.
29075 * util/grub-mkdevicemap.c: Include deviceiter.h.
29076 Implement using grub_util_emit_devicemap_entry and
29077 grub_util_iterate_devices.
29078 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29079 util/devicemap.c into grub-mkdevicemap
29080 * conf/i386-efi.rmk: Likewise.
29081 * conf/i386-ieee1275.rmk: Likewise.
29082 * conf/i386-pc.rmk: Likewise.
29083 * conf/powerpc-ieee1275.rmk: Likewise.
29084 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29085 images and installation utilities. Build kernel as image
29086 instead of as elf binary. Use common rules as much as possible.
29087
7dd4a573 290882009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29089
29090 Correct GPT definition
29091
7dd4a573 29092 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29093 of "attrib" member
29094
c6c5219f 290952009-04-19 Felix Zielcke <fzielcke@z-51.de>
29096
29097 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29098
0552ff9f 290992009-04-19 David S. Miller <davem@davemloft.net>
29100
29101 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29102 (grub_rescue_cmd_linux): Rename to...
29103 (grub_cmd_linux): and fix prototype.
29104 (grub_rescue_cmd_initrd): Rename to...
29105 (grub_cmd_initrd): and fix prototype.
29106 (cmd_linux, cmd_initrd): New.
29107 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29108 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29109
d1a282fc 291102009-04-17 Pavel Roskin <proski@gnu.org>
29111
07c5039f 29112 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29113 format.
29114 (grub_ohci_transfer): Likewise.
29115
b012002d 29116 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29117
1bc09c35 29118 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29119 return without a value. Fix inconsistent indentation.
29120
e0ff9126 29121 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29122 match struct grub_fs.
29123
d1a282fc 29124 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29125 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29126 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29127 * commands/lspci.c (grub_lspci_iter): Likewise.
29128
a96df3f2 291292009-04-16 Bean <bean123ch@gmail.com>
29130
29131 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29132 value.
29133
41bb0fe9 291342009-04-15 Pavel Roskin <proski@gnu.org>
29135
29136 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29137 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29138 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29139 definitions.
29140
596c6970 291412009-04-15 Felix Zielcke <fzielcke@z-51.de>
29142
29143 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29144 that no multiple data or metadata areas are supported and `Unknown
596c6970 29145 metadata header'.
29146
7dd4a573 291472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29148
29149 Move loader out of the kernel
29150
29151 * kern/loader.c: moved to ...
29152 * commands/boot.c: ... moved here
29153 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29154 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29155 * include/grub/kernel.h (grub_machine_fini): export
29156 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29157 (grub_loader_set): likewise
29158 (grub_loader_unset): likewise
29159 (grub_loader_boot): likewise
29160 * conf/common.rmk: new module boot.mod
29161 (pkglib_MODULES): add boot.mod
29162 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29163 (grub_emu_SOURCES): likewise
29164 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29165 (grub_emu_SOURCES): likewise
29166 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29167 (grub_emu_SOURCES): likewise
29168 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29169 (grub_emu_SOURCES): likewise
29170 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29171 (grub_emu_SOURCES): likewise
7dd4a573 29172 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29173 (grub_emu_SOURCES): likewise
0d5d5653 29174 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29175 (grub_emu_SOURCES): likewise
0d5d5653 29176
7dd4a573 291772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29178
29179 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29180
5999d619 29181 * kern/misc.c (grub_itoa): Removed function
29182 (grub_ltoa): likewise
29183 (grub_vsprintf): use grub_lltoa
29184
7dd4a573 291852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29186
29187 Restore grub-emu
29188
29189 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29190 * conf/i386-coreboot.rmk: likewise
29191 * conf/i386-ieee1275.rmk: likewise
29192 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29193
20318222 291942009-04-15 Felix Zielcke <fzielcke@z-51.de>
29195
29196 * INSTALL: Add that `./autogen.sh' needs to be run before
29197 `./configure.'.
29198
d05f0df3 291992009-04-14 Bean <bean123ch@gmail.com>
29200
29201 * Makefile.in (pkglib_DATA): Add handler.lst.
29202 (handler.lst): New rule.
29203
29204 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29205 * conf/i386-coreboot.rmk: Likewise.
29206 * conf/i386-ieee1275.rmk: Likewise.
29207 * conf/i386-efi.rmk: Likewise.
29208 * conf/x86_64-efi.rmk: Likewise.
29209 * conf/powerpc-ieee1275.rmk: Likewise.
29210 * conf/sparc64-ieee1275.rmk: Likewise.
29211
29212 * genhandlerlist.sh: New file.
29213
29214 * genmk.rb: Add rules to generate handler.lst.
29215
29216 * include/grub/normal.h (grub_file_getline): New function definition.
29217 (read_handler_list): Likewise.
29218 (free_handler_list): Likewise.
29219
29220 * include/grub/term.h (grub_term_register_input): Add name parameter
29221 for auto generation of handler.lst.
29222 (grub_term_register_output): Likewise.
29223
29224 * normal/handler.c: New file.
29225
29226 * normal/main.c (get_line): Renamed to grub_file_getline.
29227 (read_config_file): Use the newly renamed grub_file_getline.
29228 (read_command_list): Likewise.
29229 (read_fs_list): Likewise.
29230 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29231 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29232
29233 * term/efi/console.c (grub_console_init): Add name parameter for auto
29234 generation of handler.lst.
29235 * term/gfxterm.c: Likewise.
29236 * term/i386/pc/at_keyboard.c: Likewise.
29237 * term/i386/pc/console.c: Likewise.
29238 * term/i386/pc/serial.c: Likewise.
29239 * term/i386/pc/vesafb.c: Likewise.
29240 * term/i386/pc/vga.c: Likewise.
29241 * term/i386/pc/vga_text.c: Likewise.
29242 * term/ieee1275/ofconsole.c: Likewise.
29243 * term/usb_keyboard.c: Likewise.
29244
33c846be 292452009-04-14 Bean <bean123ch@gmail.com>
29246
29247 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29248 properly with null character.
29249
4484e01e 292502009-04-14 Felix Zielcke <fzielcke@z-51.de>
29251
29252 * configure: Remove.
29253 * config.h.in: Likewise.
f93d668e 29254 * stamp-h.in: Likewise.
4484e01e 29255 * DISTLIST: Likewise.
29256 * conf/common.mk: Likewise.
29257 * conf/i386-coreboot.mk: Likewise.
29258 * conf/i386-efi.mk: Likewise.
29259 * conf/i386-ieee1275.mk: Likewise.
29260 * conf/i386.mk: Likewise.
29261 * conf/i386-pc.mk: Likewise.
29262 * conf/powerpc-ieee1275.mk: Likewise.
29263 * conf/sparc64-ieee1275.mk: Likewise.
29264 * conf/x86_64-efi.mk: Likewise.
29265
29266 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29267 develop on GRUB.
29268
7dd4a573 292692009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29270 David S. Miller <davem@davemloft.net>
29271
29272 * util/hostdisk.c (make_device_name): Fix buffer length
29273 calculations.
29274
e25b5a8c 292752009-04-14 Felix Zielcke <fzielcke@z-51.de>
29276
29277 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29278 <sys/param.h> and <sys/sysctl.h>.
29279 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29280 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29281 opening the device and reset them afterwards.
29282
1f1f580c 292832009-04-13 Pavel Roskin <proski@gnu.org>
29284
29285 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29286 Reported by John Stanley <jpsinthemix@verizon.net>
29287
7ebc2d6b 292882009-04-13 Robert Millan <rmh@aybabtu.com>
29289
29290 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29291 that name for menuentries when appropriate.
7ebc2d6b 29292
d8ba3667 292932009-04-13 Felix Zielcke <fzielcke@z-51.de>
29294
29295 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29296
cba416eb 292972009-04-13 Robert Millan <rmh@aybabtu.com>
29298
29299 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29300 to Linux, simply abort telling the user it's no longer supported.
29301
a547a745 293022009-04-13 Felix Zielcke <fzielcke@z-51.de>
29303
29304 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29305 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29306 `freebsd_loadenv' only when devices.hints exist.
29307
232a769c 293082009-04-13 Pavel Roskin <proski@gnu.org>
29309
29310 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29311
c3012039 293122009-04-13 Felix Zielcke <fzielcke@z-51.de>
29313
29314 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29315 partition number.
29316 (grub_drive): Likewise.
29317
234022fe 293182009-04-13 David S. Miller <davem@davemloft.net>
29319
29320 * kern/sparc64/ieee1275/ieee1275.c: New file.
29321 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29322 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29323 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29324 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29325 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29326 grub_ieee1275_alloc_physmem): Declare new exported functions.
29327
d8e1836c 29328 * include/grub/sparc64/ieee1275/loader.h: New file.
29329 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29330 * include/grub/sparc64/kernel.h: Likewise.
29331 * loader/sparc64/ieee1275/linux.c: Likewise.
29332
96bd81ec 29333 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29334 (grub_fstest_SOURCES): Likewise.
29335
6a4737e5 29336 * util/hostdisk.c (make_device_name): Do not make any assumptions
29337 about the length of drive names.
29338
1d7a72fd 29339 * kern/dl.c (grub_dl_load_file): Close file immediately when
29340 we are done using it.
29341
56bc2471 293422009-04-12 David S. Miller <davem@davemloft.net>
29343
29344 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29345 values. Noticed by Pavel Roskin.
29346
df38d0bb 29347 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29348 target compiler.
7dd4a573 29349
e382e93a 29350 * genmk.rb: Add more flexible image type specification, also
29351 pass --strip-unneeded to objcopy.
29352 * conf/i386-pc.rmk: Use *_FORMAT.
29353 * conf/i386-pc.mk: Rebuilt.
29354
f5dbbca9 29355 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29356 (OFDISK_HASH_SZ): Define.
29357 (ofdisk_hash): New hash table.
29358 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29359 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29360 instead of device phandle which is not unique.
29361
91c88b12 29362 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29363 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29364 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29365 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29366 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29367 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29368 GRUB_KERNEL_MACHINE_DATA_END): Define.
29369 (grub_kernel_image_size, grub_total_module_size): Declare.
29370
5b5d4aa5 293712009-04-12 Pavel Roskin <proski@gnu.org>
29372
7dd4a573 29373 * configure.ac: Change the logic when we check for target tools.
29374 Do it when the target is specified and it's different from the
29375 specified value of the host.
5b5d4aa5 29376
c91e1793 293772009-04-11 Felix Zielcke <fzielcke@z-51.de>
29378
29379 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29380 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29381 GNU/kFreeBSD. Check if a device is a character device. Use
29382 DIOCGMEDIASIZE to get the size.
29383 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29384 support for GNU/kFreeBSD.
29385 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29386 is a character device instead of a block device. Add support for
29387 FreeBSD device names.
29388
29389 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29390 is a character device instead of a block device.
29391
29392 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29393 is a character device instead of a block device.
29394
b1ac8644 293952009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29396
29397 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29398 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29399 FreeBSD. Check if a device is a character device. Use
29400 DIOCGMEDIASIZE to get the size.
29401 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29402 support for FreeBSD.
29403 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29404 is a character device instead of a block device. Add support for
29405 FreeBSD device names.
29406
29407 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29408 a character device instead of a block device.
29409 (grub_util_check_char_device): New function.
29410
29411 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29412 a character device instead of a block device.
29413
29414 * include/grub/util/getroot.h (grub_util_check_char_device): New
29415 prototype.
29416
a3f7515a 294172009-04-11 David S. Miller <davem@davemloft.net>
29418
29419 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29420 static libgcc.
29421 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29422 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29423 function, if present.
29424 (__bswapdi2): Likewise.
29425
0d44993d 29426 * include/grub/sparc64/ieee1275/boot.h: New file.
29427 * boot/sparc64/ieee1275/boot.S: Likewise.
29428 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29429
ed3d2bc2 29430 * kern/misc.c (grub_ltoa): New function.
29431 (grub_vsprintf): Use it to format 'long' integers.
29432
d3bfb59c 294332009-04-10 David S. Miller <davem@davemloft.net>
29434
29435 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29436 slots are of type grub_ieee1275_cell_t.
29437 (grub_nand_read): Likewise.
29438 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29439 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29440 macros are used to compare values in arg/ret block of the call.
29441 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29442 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29443 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29444 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29445 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29446 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29447 grub_ieee1275_close, grub_ieee1275_set_property,
29448 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29449 grub_ieee1275_cell_t.
29450 * kern/ieee1275/openfw.c (grub_map): Likewise.
29451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29452 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29453
450e2238 29454 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29455 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29456 (grub_devalias_iterate): Likewise.
29457
7dd4a573 294582009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29459
29460 UFS improvements
29461
29462 * fs/ufs.c (INODE_NBLOCKS): new definition
29463 (struct grub_ufs_dirent): added fields for non-BSD dirents
29464 (grub_ufs_get_file_block): fixed double indirect handling
29465 (grub_ufs_lookup_symlink): use more robust way to determine whether
29466 symlink is inline
29467 (grub_ufs_find_file): support for non-BSD dirents
29468 (grub_ufs_dir): support for non-BSD dirents
29469
e7e6862a 294702009-04-10 Bean <bean123ch@gnail.com>
29471
29472 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29473 attribute, otherwise the size would be wrong for i386 platform.
29474
29475 * include/grub/pci.h (grub_pci_read_word): New inline function.
29476 (grub_pci_read_byte): Likewise.
29477 (grub_pci_write): Likewise.
29478 (grub_pci_write_word): Likewise.
29479 (grub_pci_write_byte): Likewise.
29480
29481 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29482
29483 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29484 (find_framebuf): Scan pci to locate the frame buffer address.
29485
29486 * commands/efi/fixvideo.c: New file.
29487
29488 * commands/efi/loadbios.c: Likewise.
29489
29490 * commands/memrw.c: Likewise.
29491
29492 * util/grub-dumpbios.in: Likewise.
29493
29494 * conf/common.rmk (grub-dumpbios): New utility.
29495 (pkglib_MODULES): New module memrw.mod.
29496 (memrw_mod_SOURCE): New macro.
29497 (memrw_mod_CFLAGS): Likewise.
29498 (memrw_mod_LDFLAGS): Likewise.
29499
7dd4a573 29500 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29501 fixvideo.mod.
29502 (loadbios_mod_SOURCE): New macro.
29503 (loadbios_mod_CFLAGS): Likewise.
29504 (loadbios_mod_LDFLAGS): Likewise.
29505 (fixvideo_mod_SOURCE): Likewise.
29506 (fixvideo_mod_CFLAGS): Likewise.
29507 (fixvideo_mod_LDFLAGS): Likewise.
29508
7dd4a573 29509 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29510 fixvideo.mod.
29511 (loadbios_mod_SOURCE): New macro.
29512 (loadbios_mod_CFLAGS): Likewise.
29513 (loadbios_mod_LDFLAGS): Likewise.
29514 (fixvideo_mod_SOURCE): Likewise.
29515 (fixvideo_mod_CFLAGS): Likewise.
29516 (fixvideo_mod_LDFLAGS): Likewise.
29517
af63ada2 295182009-04-08 Felix Zielcke <fzielcke@z-51.de>
29519
29520 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29521
c2cdde70 295222009-04-07 David S. Miller <davem@davemloft.net>
29523
29524 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29525 support for R_SPARC_OLO10 relocations. Fix compile warning for
29526 R_SPARC_WDISP30 case.
ea3f72cf 29527 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29528
761319cf 295292009-04-06 Pavel Roskin <proski@gnu.org>
29530
1007d1f5 29531 * include/grub/misc.h (ARRAY_SIZE): New macro.
29532 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29533 New macro.
29534 * loader/i386/linux.c (allocate_pages): Use free_pages().
29535 (grub_linux_unload): Don't use free_pages().
29536 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29537 wrong index. Treat all other modes as text modes.
29538 (grub_cmd_linux): Initialize vid_mode unconditionally to
29539 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29540
761319cf 29541 * commands/help.c (print_command_help): Use cmd->prio, not
29542 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29543
ea761d40 295442009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29545
ea761d40 29546 Parttool
29547
29548 * parttool/pcpart.c: new file
29549 * commands/parttool.c: likewise
29550 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29551 (parttool_mod_SOURCES): new variable
29552 (parttool_mod_CFLAGS): likewise
29553 (parttool_mod_LDFLAGS): likewise
29554 (pcpart_mod_SOURCES): likewise
29555 (pcpart_mod_CFLAGS): likewise
29556 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29558 and parttool/pcpart.c
29559 * conf/i386-efi.rmk: likewise
29560 * conf/i386-ieee1275.rmk: likewise
29561 * conf/i386-pc.rmk: likewise
29562 * conf/powerpc-ieee1275.rmk: likewise
29563 * conf/sparc64-ieee1275.rmk: likewise
29564 * conf/x86_64-ieee1275.rmk: likewise
29565
05aaebfb 295662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 Support for mtime and further expandability of dir command
29569
29570 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29571 * include/grub/datetime.h: ... moved here and added
05aaebfb 29572 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29573 * include/grub/fs.h: new syntax for dir and mtime functions in
29574 struct grub_fs
05aaebfb 29575 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29576 and GRUB_FSHELP_FLAGS_MASK
29577 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29578 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29579 (grub_ext2_mtime): new function
29580 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29581 (grub_hfsplus_mtime): new function
29582 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29583 (GRUB_UFS_ATTR_FILE): likewise
29584 (GRUB_UFS_ATTR_LNK): likewise
29585 (struct grub_ufs_sblock): new fields mtime
29586 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29587 all users updated
29588 (grub_ufs_dir): mtime support
29589 (grub_ufs_mtime): new function
29590 * fs/affs.c (grub_affs_dir): use new dir syntax
29591 * fs/afs.c (grub_afs_dir): likewise
29592 * fs/cpio.c (grub_cpio_dir): likewise
29593 * fs/fat.c (grub_fat_find_dir): likewise
29594 * fs/hfs.c (grub_hfs_dir): likewise
29595 * fs/iso9660.c (grub_iso9660_dir): likewise
29596 * fs/jfs.c (grub_jfs_dir): likewise
29597 * fs/minix.c (grub_minix_dir): likewise
29598 * fs/ntfs.c (grub_ntfs_dir): likewise
29599 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29600 * fs/sfs.c (grub_sfs_dir): likewise
29601 * fs/xfs.c (grub_xfs_dir): likewise
29602 * util/hostfs.c (grub_hostfs_dir): likewise
29603 * lib/datetime.c: moved to ...
29604 * normal/datetime.c: ... moved here
29605 (grub_unixtime2datetime): new function
29606 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29607 * normal/completion.c (iterate_dir): use new dir syntax
29608 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29609 last modification time of a volume
7dd4a573 29610 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29611 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29612 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29613 (normal_mod_SOURCES): likewise
29614 (datetime_mod_SOURCES): Removed lib/datetime.c
29615 * conf/i386-efi.rmk: likewise
7dd4a573 29616 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29617 * conf/i386-pc.rmk: likewise
29618 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29619 * conf/sparc64-ieee1275.rmk: likewise
29620 * conf/x86_64-efi.rmk: likewise
05aaebfb 29621
8a7e1a14 296222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29623
29624 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29625
29626 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29627 on grub_fat_find_dir
29628 (grub_fat_find_dir): use grub_fat_iterate_dir
29629 (grub_fat_label): likewise
29630
04186a9c 296312009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29632
7dd4a573 29633 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29634 and command.h
29635 remove extraneous kernel_elf_HEADERS
29636
da4c0bb6 296372009-04-04 Bean <bean123ch@gnail.com>
29638
29639 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29640
29641 * util/misc.c: Likewise.
29642
54ad9555 296432009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29644
29645 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29646 instead of grub_printf.
29647
7a6bf9f2 296482009-04-03 Robert Millan <rmh@aybabtu.com>
29649
29650 * loader/i386/linux.c (grub_linux_setup_video): Fill
29651 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29652 values from `mode info' structure instead of hardcoded
29653 values.
29654
3fcc2083 296552009-04-01 Pavel Roskin <proski@gnu.org>
29656
29657 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29658 unused now.
29659 * genmk.rb: Likewise.
29660 * configure.ac: Likewise.
29661
5ec9740b 296622009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29663
29664 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29665 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29666
5270cec8 296672009-04-01 David S. Miller <davem@davemloft.net>
29668
29669 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29670 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29671 (grub_setjmp): Mark with 'returns_twice' attribute.
29672 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29673 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29674 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29675
9c3dd854 296762009-04-01 Robert Millan <rmh@aybabtu.com>
29677
29678 Reapply fix from 2008-07-28 which was accidentally reverted; also
29679 perform the same fix to a similar check in same function.
29680
29681 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29682 with the same number are found, just use issue a warning with
29683 grub_dprintf(), as this error has been reported to be non-fatal.
29684
0d818b7e 296852009-03-31 Pavel Roskin <proski@gnu.org>
29686
29687 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29688 for cross-compilation.
29689
95646d92 296902009-03-30 Robert Millan <rmh@aybabtu.com>
29691
29692 Fix i386-ieee1275 build.
29693
29694 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29695 Remove declaration.
29696
6a003ed1 296972009-03-30 Pavel Roskin <proski@gnu.org>
29698
29699 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29700 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29701 zero-terminated, rely only on the strlen value. Fix comparison
29702 of strings differing in length.
29703
92f33540 297042009-03-30 Robert Millan <rmh@aybabtu.com>
29705
29706 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29707 checking for abi version. Improve error messages on BIOS to notify
29708 user about `linux16' command.
29709
a8c48fd5 297102009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29711
f968172e 29712 Leak fixes
a8c48fd5 29713
f968172e 29714 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29715 in case of collision
29716 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29717
9c323f09 297182009-03-29 Robert Millan <rmh@aybabtu.com>
29719
29720 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29721 set `vid_mode' accordingly.
29722 (grub_linux_boot): Process `vid_mode' and set video mode.
29723
ae68f423 297242009-03-29 Robert Millan <rmh@aybabtu.com>
29725
29726 * util/grub.d/10_linux.in (linux_entry): New function.
29727 Factorize generation of Linux boot entries.
29728
5709cfc4 297292009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29730
29731 Make the format of Environment Block plain text. The boot loader
29732 part is not tested well yet.
7dd4a573 29733
5709cfc4 29734 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29735 (buffer): Removed.
29736 (envblk): Likewise.
29737 (usage): Remove "info" and "clear". Add "unset". Update the
29738 description of "set", as this does not delete variables any
29739 longer.
29740 (create_envblk_file): Complete rewrite.
29741 (open_envblk_file): Likewise.
29742 (cmd_info): Removed.
29743 (cmd_list): Likewise.
29744 (cmd_set): Likewise.
29745 (cmd_clear): Likewise.
29746 (list_variables): New function.
29747 (write_envblk): Likewise.
29748 (set_variables): Likewise.
29749 (unset_variables): Likewise.
29750 (main): Complete rewrite.
29751
29752 * commands/loadenv.c (buffer): Removed.
29753 (envblk): Likewise.
29754 (open_envblk_file): New function.
29755 (read_envblk_file): Complete rewrite.
29756 (grub_cmd_load_env): Likewise.
29757 (grub_cmd_list_env): Likewise.
29758 (struct blocklist): New struct.
29759 (free_blocklists): New function.
29760 (check_blocklists): Likewise.
29761 (write_blocklists): Likewise.
29762 (grub_cmd_save_env): Complete rewrite.
29763
29764 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29765 a plain text signature.
29766 (GRUB_ENVBLK_MAXLEN): Removed.
29767 (struct grub_envblk): Complete rewrite.
29768 (grub_envblk_find): Removed.
29769 (grub_envblk_insert): Likewise.
29770 (grub_envblk_open): New prototype.
29771 (grub_envblk_set): Likewise.
29772 (grub_envblk_delete): Put const to VALUE.
29773 (grub_envblk_iterate): Put const to NAME and VALUE.
29774 (grub_envblk_close): New prototype.
29775 (grub_envblk_buffer): New inline function.
29776 (grub_envblk_size): Likewise.
29777
29778 * lib/envblk.c: Include grub/mm.h.
29779 (grub_env_find): Removed.
29780 (grub_envblk_open): New function.
29781 (grub_envblk_close): Likewise.
29782 (escaped_value_len): Likewise.
29783 (find_next_line): Likewise.
29784 (grub_envblk_insert): Removed.
29785 (grub_envblk_set): New function.
29786 (grub_envblk_delete): Complete rewrite.
29787 (grub_envblk_iterate): Likewise.
29788
a9368fd3 297892009-03-28 Robert Millan <rmh@aybabtu.com>
29790
29791 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29792 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29793 variables. Use 16-bit loader.
29794 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29795 loader.
29796 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29797 (grub_linux16_boot): ... this. Update all users.
29798 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29799 (grub_linux_boot): ... this. Update all users.
29800
29801 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29802 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29803 commands to `linux16' and `initrd16'.
29804 (GRUB_MOD_FINI(linux)): Rename to ...
29805 (GRUB_MOD_FINI(linux16)): ... this.
29806
e4dd5a7e 298072009-03-24 Pavel Roskin <proski@gnu.org>
29808
29809 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29810 not just for compilation.
29811
c04d6e05 298122009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29813
29814 Move multiboot helper out of kernel
29815
29816 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29817 `loader/i386/multiboot_helper.S'.
29818 * conf/i386-coreboot.rmk: Likewise
29819 * conf/i386-ieee1275.rmk: Likewise
29820
29821 * kern/i386/loader.S: Move multiboot helpers from here...
29822 * loader/i386/multiboot_helper.S: ...moved here
29823 * include/grub/i386/loader.h: Move declarations of multiboot
29824 helpers from here...
29825 * include/grub/i386/multiboot.h: ...moved here
29826 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29827
42a5b3fc 298282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29829
29830 * kern/env.c (grub_env_context_open): Added an argument to specify
29831 whether a new context inherits exported variables from current
29832 one. This is useful when making a sandbox to interpret a config
29833 file.
29834 All callers updated.
29835
29836 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29837
b28bbc4e 298382009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29839
29840 * kern/env.c (grub_env_context_close): Fix memory leaks.
29841
f04f02e4 298422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29843
29844 * normal/main.c (grub_normal_execute): Added an argument
29845 BATCH to specify if an interactive interface should be provided
29846 after reading a config file.
29847 All callers updated.
29848 (read_command_list): Prevent being executed twice.
29849 (read_fs_list): Likewise.
29850
42a5b3fc 29851 * include/grub/normal.h (grub_normal_execute): Updated the
29852 prototype.
f04f02e4 29853
41473ac2 298542009-03-22 Pavel Roskin <proski@gno.org>
29855
fbc00b0c 29856 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29857 _start.
29858 * kern/i386/pc/startup.S: Likewise.
29859 * kern/i386/efi/startup.S: Likewise.
29860 * kern/i386/ieee1275/startup.S: Likewise.
29861 * kern/i386/coreboot/startup.S: Likewise.
29862 * kern/x86_64/efi/startup.S: Likewise.
29863
41473ac2 29864 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29865 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29866 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29867
2274cc8f 298682009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29869
29870 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29871
29872 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29873 limit detection.
29874 Use vaddr of correct segment for entry_point.
29875
b1b797cb 298762009-03-21 Bean <bean123ch@gmail.com>
29877
29878 * commands/blocklist.c: Add include file <grub/command.h>, remove
29879 <grub/normal.h> and <grub/arg.h>.
29880 (grub_cmd_blocklist): Use the new command interface.
29881 (GRUB_MOD_INIT): Likewise.
29882 (GRUB_MOD_FINI): Likewise.
29883 * commands/boot.c: Likewise.
29884 * commands/cat.c: Likewise.
29885 * commands/cmp.c: Likewise.
29886 * commands/configfile.c: Likewise.
29887 * commands/crc.c: Likewise.
29888 * commands/echo.c: Likewise.
29889 * commands/halt.c: Likewise.
29890 * commands/handler.c: Likewise.
29891 * commands/hdparm.c: Likewise.
29892 * commands/help.c: Likewise.
29893 * commands/hexdump.c: Likewise.
29894 * commands/loadenv.c: Likewise.
29895 * commands/ls.c: Likewise.
29896 * commands/lsmmap.c: Likewise.
29897 * commands/lspci.c: Likewise.
29898 * commands/loadenv.c: Likewise.
29899 * commands/read.c: Likewise.
29900 * commands/reboot.c: Likewise.
29901 * commands/search.c: Likewise.
29902 * commands/sleep.c: Likewise.
29903 * commands/test.c: Likewise.
29904 * commands/usbtest.c: Likewise.
29905 * commands/videotest.c: Likewise.
29906 * commands/i386/cpuid.c: Likewise.
29907 * commands/i386/pc/halt.c: Likewise.
29908 * commands/i386/pc/play.c: Likewise.
29909 * commands/i386/pc/pxecmd.c: Likewise.
29910 * commands/i386/pc/vbeinfo.c: Likewise.
29911 * commands/i386/pc/vbetest.c: Likewise.
29912 * commands/ieee1275/suspend.c: Likewise.
29913 * disk/loopback.c: Likewise.
29914 * font/font_cmd.c: Likewise.
29915 * hello/hello.c: Likewise.
29916 * loader/efi/appleloader.c: Likewise.
29917 * loader/efi/chainloader.c: Likewise.
29918 * loader/i386/bsd.c: Likewise.
29919 * loader/i386/efi/linux.c: Likewise.
29920 * loader/i386/ieee1275/linux.c: Likewise.
29921 * loader/i386/linux.c: Likewise.
29922 * loader/i386/pc/chainloader.c: Likewise.
29923 * loader/i386/pc/linux.c: Likewise.
29924 * loader/powerpc/ieee1275/linux.c: Likewise.
29925 * loader/multiboot_loader.c: Likewise.
29926 * term/gfxterm.c: Likewise.
29927 * term/i386/pc/serial.c: Likewise.
29928 * term/terminfo.c: Likewise.
29929
29930 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29931 * term/i386/pc/vga.c: Likewise.
29932 * video/readers/jpeg.c: Likewise.
29933 * video/readers/png.c: Likewise.
29934 * video/readers/tga.c: Likewise.
29935
29936 * util/grub-fstest (cmd_loopback): Removed.
29937 (cmd_blocklist): Likewise.
29938 (cmd_ls): Likewise.
29939 (grub_register_command): Likewise.
29940 (grub_unregister_command): Likewise.
29941 (execute_command): Use grub_command_find to locate command and execute
29942 it.
29943
29944 * include/grub/efi/chainloader.h: Removed.
29945 * loader/efi/chainloader_normal.c: Likewise.
29946 * loader/i386/bsd_normal.c: Likewise.
29947 * loader/i386/pc/chainloader_normal.c: Likewise.
29948 * loader/i386/pc/multiboot_normal.c: Likewise.
29949 * loader/linux_normal.c: Likewise.
29950 * loader/multiboot_loader_normal.c: Likewise.
29951 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29952
29953 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29954 and grub_register_command_p1.
29955
29956 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29957 kern/command.c, lib/arg.c and commands/extcmd.c.
29958 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29959 (minicmd_mod_SOURCES): New variable.
29960 (minicmd_mod_CFLAGS): Likewise.
29961 (minicmd_mod_LDFLAGS): Likewise.
29962 (extcmd_mod_SOURCES): Likewise.
29963 (extcmd_mod_CFLAGS): Likewise.
29964 (extcmd_mod_LDFLAGS): Likewise.
29965 (boot_mod_SOURCES): Removed.
29966 (boot_mod_CFLAGS): Likewise.
29967 (boot_mod_LDFLAGS): Likewise.
29968
29969 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29970 kern/corecmd.c.
29971 (kernel_img_HEADERS): Add command.h.
29972 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29973 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29974 and lib/arg.c.
29975 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29976 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29977 remove the corresponding normal mode command.
29978 (normal_mod_SOURCES): Remove normal/arg.c.
29979 * conf/i386-coreboot.rmk: Likewise.
29980 * conf/i386-efi.rmk: Likewise.
29981 * conf/i386-ieee1275.rmk: Likewise.
29982 * conf/powerpc-ieee1275.rmk: Likewise.
29983 * conf/x86_64-efi.rmk: Likewise.
29984
29985 * include/grub/arg.h: Move from here ...
29986 * include/grub/lib/arg.h: ... to here.
29987
29988 * normal/arg.c: Move from here ...
29989 * lib/arg.c: ... to here.
29990
29991 * commands/extcmd.c: New file.
29992 * commands/minicmd.c: Likewise.
29993 * include/grub/command.h: Likewise.
29994 * include/grub/extcmd.h: Likewise.
29995 * kern/command.c: Likewise.
29996 * kern/corecmd.c: Likewise.
29997
29998 * kern/list.c (grub_list_iterate): Return int instead of void.
29999 (grub_list_insert): New function.
30000 (grub_prio_list_insert): Likewise.
30001
30002 * kern/rescue.c (grub_rescue_command): Removed.
30003 (grub_rescue_command_list): Likewise.
30004 (grub_rescue_register_command): Likewise.
30005 (grub_rescue_unregister_command): Likewise.
30006 (grub_rescue_cmd_boot): Move to minicmd.c
30007 (grub_rescue_cmd_help): Likewise.
30008 (grub_rescue_cmd_info): Likewise.
30009 (grub_rescue_cmd_boot): Likewise.
30010 (grub_rescue_cmd_testload): Likewise.
30011 (grub_rescue_cmd_dump): Likewise.
30012 (grub_rescue_cmd_rmmod): Likewise.
30013 (grub_rescue_cmd_lsmod): Likewise.
30014 (grub_rescue_cmd_exit): Likewise.
30015 (grub_rescue_print_devices): Moved to corecmd.c.
30016 (grub_rescue_print_files): Likewise.
30017 (grub_rescue_cmd_ls): Likewise.
30018 (grub_rescue_cmd_insmod): Likewise.
30019 (grub_rescue_cmd_set): Likewise.
30020 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30021 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30022 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30023 commands, remove grub_rescue_register_command calls.
b1b797cb 30024
7d074e3c 30025 * normal/command.c (grub_register_command): Removed.
b1b797cb 30026 (grub_unregister_command): Likewise.
30027 (grub_command_find): Likewise.
30028 (grub_iterate_commands): Likewise.
30029 (rescue_command): Likewise.
30030 (export_command): Moved to corecmd.c.
30031 (set_command): Removed.
30032 (unset_command): Likewise.
30033 (insmod_command): Likewise.
30034 (rmmod_command): Likewise.
30035 (lsmod_command): Likewise.
30036 (grub_command_init): Likewise.
30037
30038 * normal/completion.c (iterate_command): Use cmd->prio to check for
30039 active command.
30040 (complete_arguments): Use grub_extcmd_t structure to find options.
30041 (grub_normal_do_completion): Change function grub_iterate_commands to
30042 grub_command_iterate.
30043
30044 * normal/execute.c (grub_script_execute_cmd): No need to parse
30045 argument here.
30046
30047 * normal/main.c (grub_dyncmd_dispatcher): New function.
30048 (read_command_list): Register unload commands as dyncmd.
30049 (grub_cmd_normal): Use new command interface, register rescue,
30050 unregister normal at entry, register normal, unregister rescue at exit.
30051
30052 * include/grub/list.h (grub_list_test_t): New type.
30053 (grub_list_iterate): Return int instead of void.
30054 (grub_list_insert): New function.
30055 (GRUB_AS_NAMED_LIST_P): New macro.
30056 (GRUB_AS_PRIO_LIST): Likewise.
30057 (GRUB_AS_PRIO_LIST_P): Likewise.
30058 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30059 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30060 (grub_prio_list): New structure.
30061 (grub_prio_list_insert): New function.
30062 (grub_prio_list_remove): New inline function.
30063
30064 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30065 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30066 (GRUB_COMMAND_FLAG_MENU): Likewise.
30067 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30068 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30069 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30070 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30071 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30072 (grub_command): Likewise.
30073 (grub_register_command): Likewise.
30074 (grub_command_find): Likewise.
30075 (grub_iterate_commands): Likewise.
30076 (grub_command_init): Likewise.
30077 (grub_arg_parse): Likewise.
30078 (grub_arg_show_help): Likewise.
30079
30080 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30081 (grub_rescue_unregister_command): Likewise.
30082
30083 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30084 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30085 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30086
30087 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30088 grub_rescue_cmd_initrd.
30089 * include/grub/i386/loader.h: Likewise.
30090 * include/grub/x86_64/loader.h: Likewise.
30091
30092 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30093
1f4147aa 300942009-03-21 Bean <bean123ch@gmail.com>
30095
30096 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30097 instead of stat in mingw environment.
30098
30099 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30100
30101 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30102
30103 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30104 AC_CONFIG_LINKS.
30105
2156d5ba 301062009-03-21 Bean <bean123ch@gmail.com>
30107
30108 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30109 out of range error.
30110
177b82ca 301112009-03-18 Michel Dänzer <michel@daenzer.net>
30112
30113 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30114 checking inode flags for EXT4_EXTENTS_FLAG.
30115
14aad807 301162009-03-18 Robert Millan <rmh@aybabtu.com>
30117
30118 * loader/i386/linux.c: Include `<grub/video.h>' and
30119 `<grub/i386/pc/vbe.h>'..
30120 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30121 (grub_linux32_boot): Attempt to configure video settings with
30122 grub_linux_setup_video().
30123 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30124 to avoid grub_console_fini() which would step out of graphical mode
30125 unconditionally.
30126
8cf83a27 301272009-03-14 Robert Millan <rmh@aybabtu.com>
30128
30129 Fix build on powerpc.
30130 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30131
40164e75 301322009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30133
30134 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30135 background image command.
30136
c58bc32a 301372009-03-12 Colin D Bennett <colin@gibibit.com>
30138
30139 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30140 (grub_gfxterm_putchar): Extract pairs of identical calls to
30141 draw_cursor out of conditional blocks.
30142
5415144a 301432009-03-11 Pavel Roskin <proski@gnu.org>
30144
30145 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30146 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30147
6394042e 301482009-03-11 Robert Millan <rmh@aybabtu.com>
30149
30150 * loader/i386/multiboot_elfxx.c
30151 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30152
b7b50e5f 301532009-03-11 Felix Zielcke <fzielcke@z-51.de>
30154
30155 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30156 `kern/handler.c'.
30157
1ca7fc96 301582009-03-11 Robert Millan <rmh@aybabtu.com>
30159
30160 * loader/i386/multiboot.c (code_size): New variable.
30161 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30162 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30163 4-byte alignment to MBI and others by increasing
7d074e3c 30164 `boot_loader_name_length' appropriately.
1ca7fc96 30165
30166 * loader/i386/multiboot_elfxx.c
30167 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30168
a83ea1d2 301692009-03-09 Felix Zielcke <fzielcke@z-51.de>
30170
30171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30172 `fs/ext2.c'.
30173
aa9f3bff 301742009-03-08 Robert Millan <rmh@aybabtu.com>
30175
30176 Make loader/i386/linux.c usable on i386-pc again.
30177
30178 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30179 memory to heap.
30180 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30181 `#error' stanza.
30182
d8b3b60e 301832009-03-07 Bean <bean123ch@gmail.com>
30184
30185 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30186 allocation.
30187
b362c9e9 301882009-03-06 Robert Millan <rmh@aybabtu.com>
30189
30190 Fix display issue on terminals with screen size other than 80x25
30191 (e.g. gfxterm with resolution higher than 640x480).
30192
30193 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30194 position relative to the center of the terminal instead of relying
b362c9e9 30195 on a hardcoded offset.
30196
9304eef1 301972009-03-04 Robert Millan <rmh@aybabtu.com>
30198
30199 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30200 installed.
30201
30202 * Makefile.in (host_kernel): New variable.
30203 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30204 scripts instead of just the windows one.
30205 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30206
eabc95fb 302072009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30208
30209 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30210 `kern/handler.c'.
30211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30212 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30213 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30216 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30217
ceb1223c 302182009-03-04 Felix Zielcke <fzielcke@z-51.de>
30219
30220 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30221 or if there's no space for the disk label and print the partition number on a
30222 invalid magic.
30223
4910684a 302242009-03-04 Felix Zielcke <fzielcke@z-51.de>
30225
30226 * util/misc.c: Include <time.h>.
30227 (grub_millisleep): New function.
30228
7e9ca17a 302292009-03-04 Bean <bean123ch@gmail.com>
30230
30231 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30232 another option -mno-red-zone.
30233
30234 * commands/handler.c: Change module description.
30235
30236 * kern/handler.c: Add missing space at the end of description line.
30237
30238 * kern/list.c: Likewise.
30239
f501677c 302402009-03-03 Robert Millan <rmh@aybabtu.com>
30241
30242 Move more components to the relocation area, and fix mbi pointer
30243 handling to use the destination rather than the origin (thanks to
30244 Vladimir Serbinenko for spotting).
30245
30246 * loader/i386/multiboot.c (mbi_dest): New variable.
30247 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30248 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30249 relocation area.
30250
9902d047 302512009-03-01 Bean <bean123ch@gmail.com>
30252
50fb7002 30253 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30254 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30255 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30256 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30257
30258 * loader/i386/efi/linux.c (acpi_guid): New variable.
30259 (acpi_guid): Likewise.
30260 (EBDA_SEG_ADDR): New constant.
30261 (LOW_MEM_ADDR): Likewise.
30262 (FAKE_EBDA_SEG): Likewise.
30263 (fake_bios_data): New function.
30264 (grub_linux_boot): Call fake_bios_data.
30265
71b9f361 302662009-03-01 Bean <bean123ch@gmail.com>
30267
30268 * commands/terminal.c: Removed.
30269
30270 * commands/handler.c: New file.
30271
30272 * include/grub/list.h: Likewise.
30273
30274 * include/grub/handler.h: Likewise.
30275
30276 * kern/list.c: Likewise.
30277
30278 * kern/handler.c: Likewise.
30279
30280 * kern/term.h: Include header file <grub/handler.h>.
30281 (grub_term_input): Move next field to the beginning.
30282 (grub_term_output): Likewise.
30283 (grub_term_input_class): New variable.
30284 (grub_term_output_class): Likewise.
30285 (grub_term_register_input): Changed to inline function.
30286 (grub_term_register_output): Likewise.
30287 (grub_term_unregister_input): Likewise.
30288 (grub_term_unregister_output): Likewise.
30289 (grub_term_set_current_input): Likewise.
30290 (grub_term_set_current_output): Likewise.
30291 (grub_term_get_current_input): Likewise.
30292 (grub_term_get_current_output): Likewise.
30293 (grub_term_iterate_input): Removed.
30294 (grub_term_iterate_output): Likewise.
30295
30296 * kern/term.c (grub_term_list_input): Removed.
30297 (grub_term_list_output): Likewise.
30298 (grub_term_input_class): New variable.
30299 (grub_term_output_class): Likewise.
50fb7002 30300 (grub_cur_term_input): Change variable as macro.
71b9f361 30301 (grub_cur_term_output): Likewise.
30302 (grub_term_register_input): Removed.
30303 (grub_term_register_output): Likewise.
30304 (grub_term_unregister_input): Likewise.
30305 (grub_term_unregister_output): Likewise.
30306 (grub_term_set_current_input): Likewise.
30307 (grub_term_set_current_output): Likewise.
30308 (grub_term_iterate_input): Likewise.
30309 (grub_term_iterate_output): Likewise.
30310 (grub_term_get_current_input): Likewise.
30311 (grub_term_get_current_output): Likewise.
30312
30313 * util/grub-editenv.c: Include header file <grub/handler.h>.
30314 (grub_term_get_current_input): Removed.
30315 (grub_term_get_current_output): Likewise.
30316 (grub_term_input_class): New variable.
50fb7002 30317 (grub_term_output_class): Likewise.
71b9f361 30318
30319 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30320 (grub_term_get_current_output): Likewise.
30321 (grub_term_input_class): New variable.
50fb7002 30322 (grub_term_output_class): Likewise.
71b9f361 30323
30324 * util/grub-probe.c (grub_term_get_current_input): Removed.
30325 (grub_term_get_current_output): Likewise.
30326 (grub_term_input_class): New variable.
50fb7002 30327 (grub_term_output_class): Likewise.
71b9f361 30328
30329 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30330 (grub_term_get_current_output): Likewise.
30331 (grub_term_input_class): New variable.
50fb7002 30332 (grub_term_output_class): Likewise.
71b9f361 30333
30334 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30335 (terminal_mod_SOURCES): Likewise.
30336 (terminal_mod_CFLAGS): Likewise.
30337 (terminal_mod_LDFLAGS): Likewise.
30338
30339 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30340 handler.c.
30341 (kernel_img_SOURCES): Add list.c and handler.c.
30342 (kernel_img_HEADERS): Add list.h and handler.h.
30343
30344 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30345 handler.c.
30346 (kernel_mod_SOURCES): Add list.c and handler.c.
30347 (kernel_mod_HEADERS): Add list.h and handler.h.
30348
30349 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30350 handler.c.
30351 (kernel_elf_SOURCES): Add list.c and handler.c.
30352 (kernel_elf_HEADERS): Add list.h and handler.h.
30353
30354 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30355 handler.c.
30356 (kernel_elf_SOURCES): Add list.c and handler.c.
30357 (kernel_elf_HEADERS): Add list.h and handler.h.
30358
30359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30360 handler.c.
30361 (kernel_mod_SOURCES): Add list.c and handler.c.
30362 (kernel_mod_HEADERS): Add list.h and handler.h.
30363
30364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30365 handler.c.
30366 (kernel_elf_SOURCES): Add list.c and handler.c.
30367 (kernel_elf_HEADERS): Add list.h and handler.h.
30368
8a31787f 303692009-02-27 Robert Millan <rmh@aybabtu.com>
30370
30371 Factorize elf32 / elf64 code in Multiboot loader. This will
30372 prevent it from getting out of sync again.
30373
30374 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30375 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30376 grub_multiboot_load_elf64): Move from here ...
30377 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30378 grub_multiboot_load_elf): ... to here (new file).
30379
51cd3dfc 303802009-02-27 Robert Millan <rmh@aybabtu.com>
30381
30382 * util/grub.d/10_linux.in: Rename "single-user mode" to
30383 "recovery mode".
30384
6e8c9c3a 303852009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30386
30387 Don't leak in SCSI code.
30388 * disk/scsi.c (grub_scsi_close): free `scsi'.
30389
4b6bf4f9 303902009-02-27 Robert Millan <rmh@aybabtu.com>
30391
30392 * loader/i386/pc/multiboot.c: Move from here ...
30393 * loader/i386/multiboot.c: ... to here. Update all users.
30394
b9413424 303952009-02-27 Robert Millan <rmh@aybabtu.com>
30396
30397 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30398 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30399
50fb7002 304002009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30401
30402 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30403 b-tree.
30404
8cc50345 304052009-02-27 Robert Millan <rmh@aybabtu.com>
30406
30407 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30408 `0x' qualifier as 0 when base is specified as parameter).
30409
6e09b8b7 304102009-02-24 Bean <bean123ch@gmail.com>
30411
30412 * configure.ac: Check for -mcmodel=large in x86_64 target.
30413
30414 * include/grub/efi/api.h (efi_call_10): New macro.
30415 (efi_wrap_10): New function.
30416
30417 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30418 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30419 (GRUB_PE32_REL_BASED_LOW): Likewise.
30420 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30421 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30422 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30423 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30424 (GRUB_PE32_REL_BASED_REL): Likewise.
30425 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30426 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30427 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30428
30429 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30430 issue.
30431
30432 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30433 (efi_wrap_10): New function.
30434
30435 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30436
30437 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30438 MB/MBP model (NV chipset).
30439 (devdata_devs): Add devpath_5 to the list.
30440
30441 * load/i386/efi/linux.c (video_base): Remove variable.
30442 (RGB_MASK): New macro.
30443 (RGB_MAGIC): Likewise.
30444 (LINE_MIN): Likewise.
30445 (LINE_MAX): Likewise.
30446 (FBTEST_STEP): Likewise.
30447 (FBTEST_COUNT): Likewise.
30448 (fb_list): New variable.
30449 (grub_find_video_card): Remove function.
30450 (find_framebuf): New function.
30451 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30452 line length.
30453
30454 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30455 problem for x86_64.
30456
74b21bee 304572009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30458
30459 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30460
30461 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30462 coding tool name.
30463
a455f472 304642009-02-22 Robert Millan <rmh@aybabtu.com>
30465
30466 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30467 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30468 in our relocation, instead of using it directly from heap. Also
30469 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30470
6374daf3 304712009-02-21 Robert Millan <rmh@aybabtu.com>
30472
30473 Implement USB keyboard support (based on patch by Marco Gerards)
30474
30475 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30476 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30477 (usb_keyboard_mod_LDFLAGS): New variables.
30478
30479 * term/usb_keyboard.c: New file.
30480
8fa4ea70 304812009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30482
30483 Corrected wrong declaration
30484
30485 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30486
353976ac 304872009-02-14 Christian Franke <franke@computer.org>
30488
30489 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30490 (grub_lspci_iter): Print class code and programming interface byte.
30491
6aa1169b 304922009-02-14 Christian Franke <franke@computer.org>
30493
30494 * gendistlist.sh: Ignore `.svn' directories.
30495
265372ca 304962009-02-14 Felix Zielcke <fzielcke@z-51.de>
30497
30498 * fs/fat.c: Add 2009 to Copyright line.
30499
9ff516f3 305002009-02-14 Christian Franke <franke@computer.org>
30501
30502 * commands/hdparm.c: New file. Provides `hdparm' command
30503 which sends ATA commands via grub_disk_ata_pass_through ().
30504
30505 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30506
30507 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30508 and <grub/cpu/io.h> to include/grub/ata.h.
30509 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30510 (GRUB_CDROM_SECTOR_SIZE): Remove.
30511 (GRUB_ATA_*): Move to include/grub/ata.h.
30512 (GRUB_ATAPI_*): Likewise.
30513 (enum grub_ata_commands): Likewise.
30514 (enum grub_ata_timeout_milliseconds): Likewise.
30515 (struct grub_ata_device): Likewise.
30516 (grub_ata_regset): Likewise.
30517 (grub_ata_regget): Likewise.
30518 (grub_ata_regset2): Likewise.
30519 (grub_ata_regget2): Likewise.
30520 (grub_ata_check_ready): Likewise.
30521 (grub_ata_wait_not_busy): Remove static, exported in
30522 include/grub/ata.h.
30523 (grub_ata_wait_drq): Likewise.
30524 (grub_ata_pio_read): Likewise.
30525
30526 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30527 function for hdparm.mod.
30528
30529 * include/grub/ata.h: New file, contains declarations from
30530 disk/ata.c.
30531 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30532
30533 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30534 (grub_disk_ata_pass_through): New exported variable.
30535
30536 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30537
772e23da 305382009-02-13 Colin D Bennett <colin@gibibit.com>
30539
30540 Support multiple fallback entries, and provide an API to support
30541 executing default+fallback menu entries. Renamed the `terminal' menu
30542 viewer to `text'.
30543
30544 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30545 variable declaration.
30546 (grub_menu_execute_callback): New structure declaration.
30547 (grub_menu_execute_callback_t): New typedef.
30548 (grub_menu_execute_with_fallback): New function declaration.
30549 (grub_menu_get_entry): Likewise.
30550 (grub_menu_get_timeout): Likewise.
30551 (grub_menu_set_timeout): Likewise.
30552
30553 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30554
30555 * normal/menu.c (grub_wait_after_message): Moved to
30556 `normal/menu_text.c'.
30557 (draw_border): Likewise.
30558 (print_message): Likewise.
30559 (print_entry): Likewise.
30560 (print_entries): Likewise.
30561 (grub_menu_init_page): Likewise.
30562 (get_entry_number): Likewise.
30563 (print_timeout): Likewise.
30564 (run_menu): Likewise.
30565 (grub_menu_execute_entry): Likewise.
30566 (show_text_menu): Likewise.
30567 (get_and_remove_first_entry_number): New function.
30568 (grub_menu_execute_with_fallback): Likewise.
30569 (get_entry): Renamed to ...
30570 (grub_menu_get_entry): .. this and made it global.
30571 (get_timeout): Renamed to ...
30572 (grub_menu_get_timeout): ... this and made it global.
30573 (set_timeout): Renamed to ...
30574 (grub_menu_set_timeout): ... this and made it global.
30575 (grub_normal_terminal_menu_viewer): Renamed to ...
30576 (grub_normal_text_menu_viewer): ... this.
30577
30578 * normal/menu_text.c: New file. Extracted text-menu-specific code
30579 from normal/menu.c.
30580
30581 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30582 (normal_mod_SOURCES): Likewise.
30583
30584 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30585 (normal_mod_SOURCES): Likewise.
30586
30587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30588 (normal_mod_SOURCES): Likewise.
30589
30590 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30591 (normal_mod_SOURCES): Likewise.
30592
30593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30594 (normal_mod_SOURCES): Likewise.
30595
30596 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30597 (normal_mod_SOURCES): Likewise.
30598
30599 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30600 (normal_mod_SOURCES): Likewise.
30601
16ac430e 306022009-02-11 Robert Millan <rmh@aybabtu.com>
30603
30604 * util/grub.d/00_header.in: Update old reference to `font' command.
30605
06ff20fc 306062009-02-10 Felix Zielcke <fzielcke@z-51.de>
30607
30608 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30609
30610 Based on patch from Javier Martín.
30611
96da9407 306122009-02-09 Felix Zielcke <fzielcke@z-51.de>
30613
30614 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30615 to avoid false positives with FAT.
96da9407 30616 (grub_fstest_SOURCES): Likewise.
30617 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30618 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30620 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30622 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30623
6dca6fe4 306242009-02-09 Felix Zielcke <fzielcke@z-51.de>
30625
06ff20fc 30626 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30627 bpb.version_specific.fat12_or_fat16.fstype and
30628 bpb.version_specific.fat32.fstype.
30629
2550c62f 306302009-02-08 Robert Millan <rmh@aybabtu.com>
30631
be110b30 30632 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30633
56978920 306342009-02-08 Robert Millan <rmh@aybabtu.com>
30635
30636 * Makefile.in (host_os, host_cpu): New variables.
30637 (target_os): Remove. Update all users.
30638
d64399b5 306392009-02-08 Marco Gerards <marco@gnu.org>
30640
30641 * Makefile.in (enable_grub_emu_usb): New variable.
30642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30643 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30644 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30645 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30646 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30647 `usbtest.mod' and `usbms.mod'.
30648 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30649 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30650 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30651 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30652 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30653 variables.
30654
30655 * disk/usbms.c: New file.
30656
30657 * include/grub/usb.h: Likewise.
30658
30659 * include/grub/usbtrans.h: Likewise.
30660
30661 * include/grub/usbdesc.h: Likewise.
30662
30663 * bus/usb/usbtrans.c: Likewise.
30664
30665 * bus/usb/ohci.c: Likewise.
30666
30667 * bus/usb/uhci.c: Likewise.
30668
30669 * bus/usb/usbhub.c: Likewise.
30670
30671 * bus/usb/usb.c: Likewise.
30672
30673 * commands/usbtest.c: Likewise.
30674
30675 * util/usb.c: Likewise.
50fb7002 30676
d64399b5 30677 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30678
30679 * configure.ac: Test for libusb presence.
50fb7002 30680
d64399b5 30681 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30682
2b40d6bb 306832009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30684
30685 * kern/mm.c: Add more comments.
30686
73a4ce81 306872009-02-08 Robert Millan <rmh@aybabtu.com>
30688
30689 Patch from Javier Martín.
30690 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30691 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30692
f821ce59 306932009-02-08 Robert Millan <rmh@aybabtu.com>
30694
30695 * fs/cpio.c: Split tar functionality to ...
30696 * fs/tar.c: ... here (new file). Update all users.
30697
aebfc4b0 306982009-02-07 Robert Millan <rmh@aybabtu.com>
30699
30700 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30701 backward-incompatible features.
30702
30703 Based on patch from Javier Martín, with some adjustments.
30704
50fb7002 307052009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30706
30707 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30708
0bb5115e 307092009-02-07 Robert Millan <rmh@aybabtu.com>
30710
30711 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30712 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30713 after the RAID stuff.
30714
38a0f8e7 307152009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30716
50fb7002 30717 Fixes problem when running vbetest command as reported by
38a0f8e7 30718 Vladimir Serbinenko <phcoder@gmail.com>.
30719
30720 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30721
3143cc1c 307222009-02-04 Felix Zielcke <fzielcke@z-51.de>
30723
30724 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30725 /dev/md/NpN style mdraid devices.
30726
9cba6fce 307272009-02-03 Felix Zielcke <fzielcke@z-51.de>
30728
30729 * util/unifont2pff.rb: Remove.
30730
e507a2c1 307312009-02-03 Felix Zielcke <fzielcke@z-51.de>
30732
30733 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30734 `#'.
30735
d2c2b4cd 307362009-02-03 Felix Zielcke <fzielcke@z-51.de>
30737
30738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30740 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30743 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30745
b4315fb0 307462009-02-02 Christian Franke <franke@computer.org>
30747
30748 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30749
de3aa260 307502009-02-01 Felix Zielcke <fzielcke@z-51.de>
30751
7c3ff286 30752 * INSTALL: Note that we now require at least autoconf 2.59 and
30753 that LZO is optional.
de3aa260 30754
825a182b 307552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30756
30757 Base on patch on bug #24154 created by Tomas Tintera
30758 <trosos@seznam.cz>.
30759
30760 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30761
a69ef770 307622009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30763
7c3ff286 30764 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30765 <bero@arklinux.org>.
30766
30767 * normal/parser.y (script_init): Add missing semicolon.
30768
6fa42fa6 307692009-01-31 Colin D Bennett <colin@gibibit.com>
30770
7c3ff286 30771 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30772 (free_menu_entry_classes): Added.
30773 (grub_normal_menu_addentry): Added class property handling.
30774 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30775 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30776
30777 * normal/menu_viewer.c: New file.
30778
30779 * normal/menu.c (run_menu_entry): Renamed to ...
30780 (grub_menu_execute_entry): ... this and made it as global.
30781 (grub_menu_run): Renamed to ...
30782 (show_text_menu): ... this and made it local.
30783 (show_text_menu): Adapt to new function names.
30784 (grub_normal_terminal_menu_viewer): New global variable.
30785
30786 * include/grub/menu.h: New file.
30787
30788 * include/grub/menu_viewer.h: New file.
30789
30790 * include/grub/normal.h: Added include to grub/menu.h.
30791 (grub_menu_entry): Moved to include/grub/menu.h.
30792 (grub_menu_entry_t): Likewise.
30793 (grub_menu): Likewise.
30794 (grub_menu_t): Likewise.
30795 (grub_normal_terminal_menu_viewer): Added.
30796 (grub_menu_execute_entry): Likewise.
30797 (grub_menu_run): Removed.
30798
30799 * DISTLIST: Added include/grub/menu.h.
30800 Added include/grub/menu_viewer.h.
30801 Added normal/menu_viewer.c.
30802
308032009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30804
30805 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30806 arglist for menutitle arguments.
30807
30808 * normal/main.c (grub_normal_menu_addentry): Likewise.
30809
30810 * normal/parser.y (menuentry): Likewise.
30811
30812 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30813
30814 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30815 (grub_script_create_cmdmenu): Likewise.
30816
30817 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30818
30819 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30820 changes.
30821
30822 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30823
30824 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30825
30826 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30827
30828 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30829
30830 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30831
30832 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30833
56192c23 308342009-01-30 Christian Franke <franke@computer.org>
30835
30836 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30837 in option help text.
30838
d72521b3 308392009-01-27 Pavel Roskin <proski@gnu.org>
30840
30841 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30842
994b5e84 308432009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30844
30845 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30846
30847 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30848
30849 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30850 unregister function.
30851
6a7eab2c 308522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30853
30854 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30855
30856 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30857
30858 * util/grub-mkfont.c (usage): Fix typo.
30859
30860 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30861
1806b56e 308622009-01-26 Daniel Mierswa <impulze@impulze.org>
30863
3fb18f09 30864 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30865
336e1fb9 30866 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30867
1806b56e 30868 * kern/misc.c (grub_strcasecmp): New function.
30869 (grub_strcasecmp): Use grub_size_t instead of int for length.
30870 Fix return value.
30871 * include/grub/misc.h: Update function prototypes.
30872
580b2a0f 308732009-01-26 Robert Millan <rmh@aybabtu.com>
30874
30875 * configure.ac: Fix cross-compilation check.
ef257b36 30876
d31c24f1 308772009-01-22 Christian Franke <franke@computer.org>
30878
30879 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30880 (precision) digit string. Allow `.format2' without `format1' (width).
30881 Limit input chars for `%s' output to `format2' if specified. This is
30882 compatible with standard printf ().
30883
3138b44c 308842009-01-22 Christian Franke <franke@computer.org>
30885
30886 * disk/ata.c (grub_ata_wait_status): Replace by ...
30887 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30888 other status bits may be invalid while BSY is asserted.
30889 (grub_ata_check_ready): New function.
30890 (grub_ata_cmd): Removed.
30891 (grub_ata_wait_drq): New function.
30892 (grub_ata_strncpy): Remove inline.
30893 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30894 and error check now done by grub_ata_wait_drq ().
30895 (grub_ata_pio_write): Likewise.
30896 (grub_atapi_identify): Set DEV before check for !BSY. Use
30897 grub_ata_wait_drq () to wait for data.
30898 (grub_ata_device_initialize): Add status register check to
30899 detect missing SATA slave devices. Add debug messages.
30900 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30901 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30902 transfer loop by grub_ata_pio_write ().
30903 (grub_ata_identify): Set DEV before check for !BSY. Use
30904 grub_ata_wait_drq () to wait for data.
ef257b36 30905 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30906 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30907 read/write in one loop. Fix invalid command on write. Fix incomplete
30908 command on (size % batch) == 0. Add missing error check after write of
30909 last block. Add debug messages.
30910 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30911
59a64ef6 309122009-01-19 Christian Franke <franke@computer.org>
30913
30914 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30915 (GRUB_ATAPI_IREASON_*): Likewise.
30916 (grub_ata_pio_write): Fix timeout error return.
30917 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30918 (grub_atapi_wait_drq): New function.
30919 (grub_atapi_packet): New parameter `size'.
30920 Use grub_atapi_wait_drq () and direct write instead of
30921 grub_ata_pio_write ().
30922 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30923 reads the number of bytes requested by the device for each DRQ
30924 assertion.
30925 (grub_atapi_write): Remove old implementation, return not
30926 implemented instead.
30927
1cfe20b3 309282009-01-19 Christian Franke <franke@computer.org>
30929
30930 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30931 of 512 to calculate data size.
30932 (grub_scsi_read12): Likewise.
30933 (grub_scsi_write10): Likewise.
30934 (grub_scsi_write12): Likewise.
30935 (grub_scsi_read): Adjust size according to blocksize.
30936 Add checks for invalid blocksize and unaligned transfer.
30937
bee5fe5d 309382009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30939
30940 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30941
ef257b36 30942 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30943 width glyphs.
30944
3e643f8c 309452009-01-19 Robert Millan <rmh@aybabtu.com>
30946
30947 * config.guess: Update to latest version from config git.
30948 * config.sub: Likewise.
30949
4fa80998 309502009-01-17 Felix Zielcke <fzielcke@z-51.de>
30951
30952 * Makefile.in: Change font compilation to use new grub-mkfont instead
30953 of java version.
30954
30955 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30956 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30957 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30958 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30959 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30960 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30961 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30962 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30963 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30964
7086085b 309652009-01-16 Christian Franke <franke@computer.org>
30966
30967 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30968 (enum grub_ata_timeout_milliseconds): New enum.
30969 (grub_ata_wait_status): Add parameter milliseconds.
30970 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30971 recovery from timed-out commands.
30972 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30973 return grub_errno instead of REG_ERROR.
30974 (grub_ata_pio_write): Add parameter milliseconds.
30975 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30976 Pass milliseconds to grub_ata_wait_status () and
30977 grub_ata_pio_read ().
30978 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30979 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30980 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30981 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30982 It is not suitable for device detection, because DEV bit is ignored,
30983 the command may run too long, and not all devices set the signature
30984 properly.
30985 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30986 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30987 Fix device selection, DEV bit must be set first to address the registers
30988 of the correct device.
30989 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30990 grub_ata_pio_read/write ().
30991 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30992 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30993
4a412913 309942009-01-13 Carles Pina i Estany <carles@pina.cat>
30995
30996 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30997
7795c55e 309982009-01-13 Bean <bean123ch@gmail.com>
d913988c 30999
31000 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31001
7795c55e 310022009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31003
31004 * Makefile.in: (enable_grub_mkfont): New variable.
31005 (freetype_cflags): Likewise.
31006 (freetype_libs): Likewise.
31007
31008 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31009 (grub_mkfont_SOURCES): New variable.
31010 (grub_mkfont_CFLAGS): Likewise.
31011 (grub_mkfont_LDFLAGS): Likewise.
31012
31013 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31014 library if `--enable-grub-mkfont' is requested.
31015 (enable_grub_mkfont): New variable.
31016 (freetype_cflags): Likewise.
31017 (freetype_libs): Likewise.
31018
31019 * util/grub-mkfont.c: New file.
31020
093af1fe 310212009-01-12 Christian Franke <franke@computer.org>
31022
31023 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31024 mode check. Fix setting of compat_use[].
31025
f36cc108 310262009-01-10 Robert Millan <rmh@aybabtu.com>
31027
31028 Update a few copyright years which we forgot to do in 2008 (only for
31029 files whose changes made in 2008 were copyright-significant)
31030
31031 * Makefile.in: Add 2008 to Copyright line.
31032 * disk/ieee1275/ofdisk.c: Likewise.
31033 * disk/efi/efidisk.c: Likewise.
31034 * kern/dl.c: Likewise.
31035 * kern/sparc64/ieee1275/init.c: Likewise.
31036 * kern/mm.c: Likewise.
31037 * kern/efi/mm.c: Likewise.
31038 * boot/i386/pc/boot.S: Likewise.
31039 * genfslist.sh: Likewise.
31040 * fs/iso9660.c: Likewise.
31041 * fs/hfs.c: Likewise.
31042 * fs/jfs.c: Likewise.
31043 * fs/minix.c: Likewise.
31044 * fs/ufs.c: Likewise.
31045 * gensymlist.sh.in: Likewise.
31046 * genkernsyms.sh.in: Likewise.
31047 * include/grub/misc.h: Likewise.
31048 * include/grub/types.h: Likewise.
31049 * include/grub/symbol.h: Likewise.
31050 * include/grub/elf.h: Likewise.
31051 * include/grub/kernel.h: Likewise.
31052 * include/grub/disk.h: Likewise.
31053 * include/grub/dl.h: Likewise.
31054 * include/grub/i386/linux.h: Likewise.
31055 * include/grub/i386/pc/biosdisk.h: Likewise.
31056 * include/grub/efi/api.h: Likewise.
31057 * include/grub/efi/pe32.h: Likewise.
31058 * include/grub/util/misc.h: Likewise.
31059 * normal/execute.c: Likewise.
31060 * normal/arg.c: Likewise.
31061 * normal/completion.c: Likewise.
31062 * normal/lexer.c: Likewise.
31063 * normal/parser.y: Likewise.
31064 * normal/misc.c: Likewise.
31065 * commands/i386/pc/vbeinfo.c: Likewise.
31066 * commands/hexdump.c: Likewise.
31067 * commands/terminal.c: Likewise.
31068 * commands/ls.c: Likewise.
31069 * commands/help.c: Likewise.
31070 * partmap/pc.c: Likewise.
31071 * loader/efi/chainloader.c: Likewise.
31072 * loader/multiboot_loader.c: Likewise.
31073 * loader/i386/pc/multiboot2.c: Likewise.
31074 * term/efi/console.c: Likewise.
31075 * term/i386/pc/serial.c: Likewise.
31076 * util/lvm.c: Likewise.
31077 * util/console.c: Likewise.
31078 * util/i386/efi/grub-mkimage.c: Likewise.
31079 * util/raid.c: Likewise.
31080
7f02114b 310812009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31082
31083 * commands/videotest.c: Removed include to grub/machine/memory.h.
31084
31085 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31086 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31087 (video_mod_SOURCES): Removed.
31088 (video_mod_CFLAGS): Likewise.
31089 (video_mod_LDFLAGS): Likewise.
31090 (gfxterm_mod_SOURCES): Likewise.
31091 (gfxterm_mod_CFLAGS): Likewise.
31092 (gfxterm_mod_LDFLAGS): Likewise.
31093 (videotest_mod_SOURCES): Likewise.
31094 (videotest_mod_CFLAGS): Likewise.
31095 (videotest_mod_LDFLAGS): Likewise.
31096 (bitmap_mod_SOURCES): Likewise.
31097 (bitmap_mod_CFLAGS): Likewise.
31098 (bitmap_mod_LDFLAGS): Likewise.
31099 (tga_mod_SOURCES): Likewise.
31100 (tga_mod_CFLAGS): Likewise.
31101 (tga_mod_LDFLAGS): Likewise.
31102 (jpeg_mod_SOURCES): Likewise.
31103 (jpeg_mod_CFLAGS): Likewise.
31104 (jpeg_mod_LDFLAGS): Likewise.
31105 (png_mod_SOURCES): Likewise.
31106 (png_mod_CFLAGS): Likewise.
31107 (png_mod_LDFLAGS): Likewise.
31108
31109 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31110 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31111 (video_mod_SOURCES): Added.
31112 (video_mod_CFLAGS): Likewise.
31113 (video_mod_LDFLAGS): Likewise.
31114 (videotest_mod_SOURCES): Likewise.
31115 (videotest_mod_CFLAGS): Likewise.
31116 (videotest_mod_LDFLAGS): Likewise.
31117 (bitmap_mod_SOURCES): Likewise.
31118 (bitmap_mod_CFLAGS): Likewise.
31119 (bitmap_mod_LDFLAGS): Likewise.
31120 (tga_mod_SOURCES): Likewise.
31121 (tga_mod_CFLAGS): Likewise.
31122 (tga_mod_LDFLAGS): Likewise.
31123 (jpeg_mod_SOURCES): Likewise.
31124 (jpeg_mod_CFLAGS): Likewise.
31125 (jpeg_mod_LDFLAGS): Likewise.
31126 (png_mod_SOURCES): Likewise.
31127 (png_mod_CFLAGS): Likewise.
31128 (png_mod_LDFLAGS): Likewise.
31129 (gfxterm_mod_SOURCES): Likewise.
31130 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31131 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31132
31133 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31134 grub/machine/console.h.
31135
644fff97 311362009-01-04 Jerone Young <jerone@gmail.com>
31137
31138 Make on screen instructions clearer
31139
31140 Based on patch created by Jidanni <jidanni@jidanni.org>
31141
31142 * normal/menu.c: print clearer instructions on the screen
31143
1e901a75 311442009-01-02 Colin D Bennett <colin@gibibit.com>
31145
31146 New font engine.
34c44600 31147
1e901a75 31148 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31149 build system and fixed gfxterm.c to work with different sized fonts.
31150
31151 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31152
1e901a75 31153 * configure: Re-generated.
34c44600 31154
1e901a75 31155 * DISTLIST: Removed font/manager.c.
31156 Added font/font.c.
31157 Added font/font_cmd.c.
34c44600 31158
1e901a75 31159 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31160 compilation.
34c44600 31161
1e901a75 31162 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31163
31164 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31165
31166 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31167
1e901a75 31168 * normal/menu.c: Likewise.
34c44600 31169
1e901a75 31170 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31171 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31172
1e901a75 31173 * include/grub/font.h: Replaced with new file.
34c44600 31174
1e901a75 31175 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31176 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31177 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31178 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31179 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31180 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31181 fg_red, fg_green, fg_blue, fg_alpha.
31182 (grub_video_adapter): Removed blit_glyph.
34c44600 31183 (grub_video_blit_glyph): Removed.
31184
1e901a75 31185 * font/manager.c: Removed file.
34c44600 31186
31187 * font/font.c: New file.
31188
1e901a75 31189 * font/font_cmd.c: Likewise.
34c44600 31190
1e901a75 31191 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31192
1e901a75 31193 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31194 (grub_video_vbe_map_rgba): Likewise.
31195 (grub_video_vbe_unmap_color_int): Likewise.
31196 (grub_video_vbe_blit_glyph): Removed.
31197 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31198
1e901a75 31199 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31200 (get_pixel): Likewise.
34c44600 31201 (set_pixel): Likewise.
31202
1e901a75 31203 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31204
1e901a75 31205 * term/gfxterm.c: Adapted to new font engine.
34c44600 31206
1e901a75 31207 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31208
1e901a75 31209 * term/i386/pc/vga.c: Likewise.
34c44600 31210
1e901a75 31211 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31212
1e901a75 31213 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31214
1e901a75 31215 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31216
1e901a75 31217 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31218
1e901a75 31219 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31220
1e901a75 31221 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31222
1e901a75 31223 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31224
1e901a75 31225 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31226
1e901a75 31227 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31228
31229 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31230
1e901a75 31231 * util/grub-mkconfig_lib.in: Changed font extension.
31232
278922e8 312332008-12-28 Felix Zielcke <fzielcke@z-51.de>
31234
31235 * util/getroot.c (grub_util_get_grub_dev): Add support for
31236 /dev/md/dNNpNN style partitionable mdraid devices.
31237
3ced05cf 312382008-12-12 Alex Smith <alex@alex-smith.me.uk>
31239
31240 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31241 at a time limit of the PXE TFTP API correctly.
31242 (grub_pxefs_close): Likewise.
31243
7fd0ee30 312442008-11-29 Robert Millan <rmh@aybabtu.com>
31245
34c44600 31246 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31247 grub_ata_device_initialize() calls.
31248
34c44600 312492008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31250
31251 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31252 iteration failed.
31253 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31254
89313780 312552008-11-28 Robert Millan <rmh@aybabtu.com>
31256
31257 Fix build on powerpc-ieee1275. Based on patch created by
31258 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31259 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31260 `kern/ieee1275/mmap.c'.
31261 * include/grub/powerpc/ieee1275/memory.h: New file.
31262
15257703 31263 Provide grub-install on coreboot.
31264 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31265 (grub_install_SOURCES): New variable.
31266 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31267 usable on coreboot.
31268
9fc5388a 312692008-11-25 Felix Zielcke <fzielcke@z-51.de>
31270
31271 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31272 to `grub_term_input_t'.
31273 (grub_term_get_current_output): Change return type to
31274 `grub_term_output_t'.
31275
bc3a2f31 312762008-11-22 Robert Millan <rmh@aybabtu.com>
31277
34c44600 31278 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31279 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31280 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31281 grub_vga_text_cls().
31282
80fc88f2 31283 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31284 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31285
cbf36fd3 31286 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31287 to 0x200000 (avoids trouble with some OFW implementations, and matches
31288 with the one in Yaboot).
31289 Reported by Manoel Abranches
31290
73e8e268 312912008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31292
31293 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31294 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31295
73e8e268 31296 * util/grub-mkconfig_lib.in (grub_warn): New function.
31297 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31298 warnings, to obtain consistent formatting.
31299 * util/grub.d/00_header.in: Likewise.
31300 * util/update-grub_lib.in: Likewise.
31301
e94045a1 31302 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31303 Move comment text to `#error' stanza.
e94045a1 31304
79d29fd7 31305 Harmonize ieee1275's grub_available_iterate() with the generic
31306 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31307 build problem on i386-ieee1275):
31308 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31309 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31310 parameter `type'. Update all users of this function.
31311 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31312 `kern/ieee1275/mmap.c'.
31313 * kern/ieee1275/init.c
31314 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31315 with ...
31316 (grub_machine_mmap_iterate): ... this.
31317 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31318 return type to `grub_err_t'. Update all implementations of this
31319 function prototype.
31320 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31321 Likewise.
31322
60d6b16e 31323 Add `lsmmap' command (lists firmware-provided memory map):
31324 * commands/lsmmap.c: New file.
31325 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31326 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31327 variables.
31328 * conf/powerpc-ieee1275.rmk: Likewise.
31329 * conf/i386-coreboot.rmk: Likewise.
31330 * conf/i386-ieee1275.rmk: Likewise.
31331
ebaaf49b 313322008-11-19 Robert Millan <rmh@aybabtu.com>
31333
31334 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31335 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31336 constraints to initrd allocation (based on code from
31337 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31338 for Linux to find it.
ebaaf49b 31339
dfab719f 313402008-11-14 Robert Millan <rmh@aybabtu.com>
31341
31342 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31343 order to cope with duplicate slashes.
31344
10fc3eb9 313452008-11-14 Robert Millan <rmh@aybabtu.com>
31346
31347 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31348 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31349 don't want to mess with lower memory, because it is used in the Linux
31350 loader.
31351
31352 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31353 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31354 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31355 is in our heap (probably as a result of it being corrupted during
2f2a3442 31356 decompression). Add #error instance with comment to explain why this
31357 loader isn't currently usable on PC/BIOS.
10fc3eb9 31358
e2e07847 313592008-11-14 Robert Millan <rmh@aybabtu.com>
31360
31361 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31362 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31363
fe8e8d69 313642008-11-12 Robert Millan <rmh@aybabtu.com>
31365
31366 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31367
31368 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31369 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31370 from here ...
31371 * include/grub/i386/pc/memory.h: ... to here.
31372
976b07d0 313732008-11-12 Robert Millan <rmh@aybabtu.com>
31374
31375 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31376 split).
31377
31378 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31379 (grub_console_cur_color, grub_console_real_putchar)
31380 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31381 (grub_console_setcolorstate, grub_console_setcolor)
31382 (grub_console_getcolor): Move from here ...
31383 * include/grub/i386/vga_common.h: ... to here (new file).
31384
31385 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31386 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31387 `<grub/i386/io.h>'.
31388 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31389 `<grub/i386/vga_common.h>'.
31390
76679cd3 313912008-11-12 Robert Millan <rmh@aybabtu.com>
31392
31393 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31394 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31395 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31396 variables.
31397 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31398 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31399
31400 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31401 grub_console_init() with call to grub_vga_text_init().
31402 (grub_machine_fini): Replace call to
31403 grub_console_fini() with call to grub_vga_text_fini() and
31404 grub_at_keyboard_fini().
31405
31406 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31407 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31408 (grub_console_setcolorstate, grub_console_setcolor)
31409 (grub_console_getcolor): New function prototypes.
31410
31411 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31412 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31413 (grub_vga_text_setcursor): Static-ize.
31414 (grub_vga_text_term): New structure.
31415 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31416
31417 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31418 (grub_console_cur_color, grub_console_standard_color)
31419 (grub_console_normal_color, grub_console_highlight_color)
31420 (map_char, grub_console_putchar, grub_console_getcharwidth)
31421 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31422 (grub_console_getcolor): Move from here ...
31423 * term/i386/vga_common.c: ... to here (same function names).
31424
95b841d3 314252008-11-12 Robert Millan <rmh@aybabtu.com>
31426
31427 Use newly-added Multiboot support in coreboot.
31428
31429 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31430 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31431
31432 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31433 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31434 (codestart): Store the MBI in `startup_multiboot_info' when we're
31435 being loaded using Multiboot.
31436
31437 * kern/i386/coreboot/init.c (grub_machine_init): Move
31438 grub_at_keyboard_init() call to beginning of function (useful for
31439 debugging). Call grub_machine_mmap_init() before attempting to use
31440 grub_machine_mmap_iterate().
31441 (grub_lower_mem, grub_upper_mem): Move from here ...
31442 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31443 here (new file).
31444
31445 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31446 function prototype.
31447
761ca975 314482008-11-12 Robert Millan <rmh@aybabtu.com>
31449
31450 Fix a regression introduced by the at_keyboard.mod split. Because
31451 some terminals are default on some platforms and non-default on
31452 others, the first terminal being registered determines which is
31453 going to be default.
31454
31455 * kern/term.c (grub_term_register_input): If this is the first
31456 terminal being registered, set it as the current one.
31457 (grub_term_register_output): Likewise.
31458
31459 * term/efi/console.c (grub_console_init): Do not call
31460 grub_term_set_current_output() or grub_term_set_current_input().
31461 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31462 * term/i386/pc/console.c (grub_console_init): Likewise.
31463 (grub_console_fini): Do not call grub_term_set_current_input()
31464 (but leave grub_term_set_current_output() to restore text mode).
31465
6c529df7 314662008-11-10 Robert Millan <rmh@aybabtu.com>
31467
31468 * util/grub.d/00_header.in: Add backward compatibility check for
31469 versions of terminal.mod that don't understand `terminal_input' or
31470 `terminal_output'.
31471
132e4113 314722008-11-09 Robert Millan <rmh@aybabtu.com>
31473
31474 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31475 `terminal_input' / `terminal_output', not `terminal'.
31476
ac293d50 314772008-11-08 Robert Millan <rmh@aybabtu.com>
31478
31479 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31480 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31481
0025933a 314822008-11-08 Robert Millan <rmh@aybabtu.com>
31483
31484 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31485 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31486 members. Update all users.
31487 * util/console.c (grub_ncurses_term): Split in ...
31488 (grub_ncurses_term_input): ... this, and ...
31489 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31490 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31491
37c86336 314922008-11-08 Robert Millan <rmh@aybabtu.com>
31493
31494 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31495 (PKGDATA): Add $(pkgdata_SRCDIR).
31496 (pkglib_BUILDDIR): New variable.
31497 (pkgdata_SRCDIR): New variable.
31498 (build_env.mk): New target.
31499 (include_DATA): New variable.
31500 (install-local): Install $(include_DATA) files in $(includedir).
31501
b6c15a2d 315022008-11-07 Pavel Roskin <proski@gnu.org>
31503
d99d46f1 31504 * gendistlist.sh: Use C locale for sorting to ensure consistent
31505 output on all systems.
31506
b6c15a2d 31507 * util/grub.d/00_header.in: Remove incorrect space before
31508 "serial".
31509
c32ee8c9 315102008-11-07 Robert Millan <rmh@aybabtu.com>
31511
31512 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31513 per specification.
31514 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31515 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31516 (based on find_multi_boot1_header).
31517 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31518 using find_multi_boot2_header(), and abort if neither Multiboot or
31519 Multiboot headers were found.
31520
651c29b7 315212008-11-07 Robert Millan <rmh@aybabtu.com>
31522
31523 Modularize at_keyboard.mod:
31524
31525 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31526 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31527 (at_keyboard_mod_LDFLAGS): New variables.
31528
31529 Actual terminal split:
31530
31531 * include/grub/term.h (struct grub_term): Split in ...
31532 (struct grub_term_input): ... this, and ...
31533 (struct grub_term_output): ... this. Update all users.
31534 (grub_term_set_current): Split in ...
31535 (grub_term_set_current_input): ... this, and ...
31536 (grub_term_set_current_output): ... this.
31537 (grub_term_get_current): Split in ...
31538 (grub_term_get_current_input): ... this, and ...
31539 (grub_term_get_current_output): ... this.
31540 (grub_term_register): Split in ...
31541 (grub_term_register_input): ... this, and ...
31542 (grub_term_register_output): ... this.
31543 (grub_term_unregister): Split in ...
31544 (grub_term_unregister_input): ... this, and ...
31545 (grub_term_unregister_output): ... this.
31546 (grub_term_iterate): Split in ...
31547 (grub_term_iterate_input): ... this, and ...
31548 (grub_term_iterate_output): ... this.
31549
31550 * kern/term.c (grub_term_list): Split in ...
31551 (grub_term_list_input): ... this, and ...
31552 (grub_term_list_output): ... this. Update all users.
31553 (grub_cur_term): Split in ...
31554 (grub_cur_term_input): ... this, and ...
31555 (grub_cur_term_output): ... this. Update all users.
31556 (grub_term_set_current): Split in ...
31557 (grub_term_set_current_input): ... this, and ...
31558 (grub_term_set_current_output): ... this.
31559 (grub_term_get_current): Split in ...
31560 (grub_term_get_current_input): ... this, and ...
31561 (grub_term_get_current_output): ... this.
31562 (grub_term_register): Split in ...
31563 (grub_term_register_input): ... this, and ...
31564 (grub_term_register_output): ... this.
31565 (grub_term_unregister): Split in ...
31566 (grub_term_unregister_input): ... this, and ...
31567 (grub_term_unregister_output): ... this.
31568 (grub_term_iterate): Split in ...
31569 (grub_term_iterate_input): ... this, and ...
31570 (grub_term_iterate_output): ... this.
31571
31572 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31573 a check for input and one for output (and only attempt to get keys
31574 from user when input works).
31575
31576 * util/grub-probe.c (grub_term_get_current): Split in ...
31577 (grub_term_get_current_input): ... this, and ...
31578 (grub_term_get_current_output): ... this.
31579 * util/grub-fstest.c: Likewise.
31580 * util/i386/pc/grub-setup.c: Likewise.
31581 * util/grub-editenv.c: Likewise.
31582
31583 Portability adjustments:
31584
31585 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31586 `term/i386/pc/at_keyboard.c'.
31587 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31588 grub_keyboard_controller_init() (now handled by terminal .init).
31589 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31590 grub_at_keyboard_init().
31591 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31592 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31593 at_keyboard.mod via input terminal interface).
31594 * include/grub/i386/coreboot/console.h: Convert into a stub for
31595 `<grub/i386/pc/console.h>'.
31596
31597 Migrate full terminals to new API:
31598
31599 * term/efi/console.c (grub_console_term): Split into ...
31600 (grub_console_term_input): ... this, and ...
31601 (grub_console_term_output): ... this. Update all users.
31602 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31603 (grub_ofconsole_init): Split into ...
31604 (grub_ofconsole_init_input): ... this, and ...
31605 (grub_ofconsole_init_output): ... this.
31606 (grub_ofconsole_term): Split into ...
31607 (grub_ofconsole_term_input): ... this, and ...
31608 (grub_ofconsole_term_output): ... this. Update all users.
31609 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31610 (grub_serial_term_input): ... this, and ...
31611 (grub_serial_term_output): ... this. Update all users.
31612 * term/i386/pc/console.c (grub_console_term): Split into ...
31613 (grub_console_term_input): ... this, and ...
31614 (grub_console_term_output): ... this. Update all users.
31615 (grub_console_term_input): Only enable it on PC/BIOS platform.
31616 (grub_console_init): Remove grub_keyboard_controller_init() call.
31617
31618 Migrate input terminals to new API:
31619
31620 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31621 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31622 i386-specific anyway).
31623 (grub_console_checkkey): Rename to ...
31624 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31625 users.
31626 (grub_keyboard_controller_orig): New variable.
31627 (grub_console_getkey): Rename to ...
31628 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31629 users.
31630 (grub_keyboard_controller_init): Static-ize. Save original
31631 controller value so that it can be restored ...
31632 (grub_keyboard_controller_fini): ... here (new function).
31633 (grub_at_keyboard_term): New structure.
31634 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31635 functions.
31636
31637 Migrate output terminals to new API:
31638
31639 * term/i386/pc/vga.c (grub_vga_term): Change type to
31640 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31641 members. Update all users.
31642 * term/gfxterm.c (grub_video_term): Change type to
31643 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31644 members. Update all users.
31645 * include/grub/i386/pc/console.h (grub_console_checkkey)
31646 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31647 etc).
31648
31649 Migrate `terminal' command and userland tools to new API:
31650
31651 * commands/terminal.c (grub_cmd_terminal): Split into ...
31652 (grub_cmd_terminal_input): ... this, and ...
31653 (grub_cmd_terminal_output): ... this.
31654 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31655 `terminal_input' and `terminal_output'.
31656 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31657 `terminal_input' / `terminal_output' API.
31658 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31659 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31660 provided ${GRUB_TERMINAL}, convert it).
31661
96e5d876 316622008-11-04 Robert Millan <rmh@aybabtu.com>
31663
31664 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31665 for FreeBSD.
31666 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31667
556f3775 316682008-11-03 Bean <bean123ch@gmail.com>
31669
31670 * kern/elf.c (grub_elf32_load): Revert to previous code.
31671 (grub_elf64_load): Likewise.
31672
31673 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31674
926b9823 316752008-11-01 Robert Millan <rmh@aybabtu.com>
31676
31677 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31678 (TARGET_CPPFLAGS): Likewise.
31679 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31680
1432e958 316812008-11-01 Carles Pina i Estany <carles@pina.cat>
31682
31683 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31684
dba3f844 316852008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31686
31687 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31688 addition of objects until the code is not going to be able to fail.
31689
dba3f844 316902008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31691
31692 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31693 (add a missing NULL check, and correct them by moving the pointer
31694 operations after the actual check).
31695
7ab28c21 316962008-10-29 Robert Millan <rmh@aybabtu.com>
31697
31698 * util/i386/pc/grub-install.in: Handle empty string as output from
31699 make_system_path_relative_to_its_root().
31700
1b7748eb 317012008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31702
31703 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31704 circular metadata worst case scenario. If the metadata is circular
31705 then copy the wrap in place.
31706 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31707 project lib/format_text/layout.h
31708 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31709
c9618ab2 317102008-10-03 Felix Zielcke <fzielcke@z-51.de>
31711
7a36edca 31712 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31713
bf981c62 317142008-10-03 Felix Zielcke <fzielcke@z-51.de>
31715
31716 * util/update-grub_lib.in: Mention filename in warning message.
31717
6d994591 317182008-09-29 Felix Zielcke <fzielcke@z-51.de>
31719
31720 * NEWS: Update for rename of update-grub to grub-mkconfig.
31721
18ade780 317222008-09-29 Felix Zielcke <fzielcke@z-51.de>
31723
31724 * util/update-grub_lib.in: Copy to ...
31725 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31726 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31727 * util/update-grub.in: Rename to ...
31728 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31729 option. Add `--output' option to allow users to specify the generated
31730 configuration file. Default to stdout.
31731 (update_grub_dir): Rename to ...
31732 (grub_mkconfig_dir): ... this.
31733 (grub_cfg): Default to an empty string.
31734 * conf/common.rmk (update-grub): Rename to ...
31735 (grub-mkconfig): ... this.
31736 (update-grub_lib): Copy to ...
31737 (grub-mkconfig_lib): ... this.
31738 (update-grub_SCRIPTS): Copy to ...
31739 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31740 (update-grub_DATA): Rename to ...
31741 (grub-mkconfig_DATA): ... this.
31742
556ce6ac 317432008-09-28 Robert Millan <rmh@aybabtu.com>
31744
31745 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31746 to `modified'. Add the real `created' field.
31747 (grub_iso9660_uuid): Use `modified' rather than `created' for
31748 constructing the UUID.
31749
317502008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31751
31752 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31753 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31754
92274e85 317552008-09-28 Bean <bean123ch@gmail.com>
31756
31757 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31758 Thanks to Christian Franke for finding this bug.
31759
add6f17a 317602008-09-25 Robert Millan <rmh@aybabtu.com>
31761
31762 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31763 instances of grub_util_get_disk_name() (see previous commit).
31764
d2a367b8 317652008-09-25 Robert Millan <rmh@aybabtu.com>
31766
31767 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31768 `util/i386/get_disk_name.c'.
31769 * conf/i386-efi.rmk: Likewise.
31770 * conf/x86_64-efi.rmk: Likewise.
31771 * conf/i386-coreboot.rmk: Likewise.
31772 * conf/i386-ieee1275.rmk: Likewise.
31773 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31774 `util/ieee1275/get_disk_name.c'.
31775 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31776 * util/ieee1275/get_disk_name.c: Remove file.
31777 * util/i386/get_disk_name.c: Remove file.
31778 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31779 "hd%d" for device.map entries, rather than using
31780 grub_util_get_disk_name().
31781
81a06771 317822008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31783
31784 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31785 warning.
31786 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31787
5a004279 317882008-09-24 Carles Pina i Estany <carles@pina.cat>
31789
31790 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31791 Changed to 0x5100.
31792 (GRUB_TERM_PPAGE): Changed to 0x4900.
31793
397093d3 317942008-09-24 Robert Millan <rmh@aybabtu.com>
31795
31796 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31797 macros (they were i386-pc specific).
31798 * include/grub/sparc64/ieee1275/console.h: Likewise.
31799 * include/grub/efi/console.h: Likewise.
31800
a91b6c7c 318012008-09-22 Bean <bean123ch@gmail.com>
31802
31803 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31804 resident and in attribute list.
31805
31806 * include/grub/ntfs.h (BMP_LEN): Removed.
31807
c40fd116 318082008-09-22 Bean <bean123ch@gmail.com>
31809
81a06771 31810 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31811 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31812
31813 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31814 error occurs, as grub_disk_open will call grub_disk_close, which will
31815 call p->close (scsi).
31816
81a06771 318172008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31818
31819 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31820 (AC_PREREQ): Bumped to 2.59.
31821 (AC_TRY_COMPILE): Replace obsolete macro with ...
31822 (AC_COMPILE_IFELSE): ... this.
31823 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31824 (AC_LINK_IFELSE): ... this.
31825
5dc43410 318262008-09-21 Felix Zielcke <fzielcke@z-51.de>
31827
31828 * autogen.sh: Add a call to `gendistlist.sh'.
31829
9035dce4 318302008-09-19 Christian Franke <franke@computer.org>
31831
31832 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31833 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31834 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31835 Export __enable_execute_stack() to modules.
31836 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31837 New function.
31838
7fd75377 318392008-09-09 Felix Zielcke <fzielcke@z-51.de>
31840
040030b3 31841 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31842 Sort the list.
31843
318442008-09-09 Felix Zielcke <fzielcke@z-51.de>
31845
31846 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31847 #include <grub/util/hostdisk.h>.
31848
89d5ffcf 318492008-09-08 Robert Millan <rmh@aybabtu.com>
31850
31851 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31852 segments when their filesz is zero (grub_file_read() interprets
81a06771 31853 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31854 Use `lowest_segment' rather than 0 for calculating the current
31855 segment load address.
31856
40da438f 318572008-09-08 Robert Millan <rmh@aybabtu.com>
31858
31859 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31860 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31861 clobbered useful information.
31862
ddbf5556 318632008-09-08 Robert Millan <rmh@aybabtu.com>
31864
31865 * include/grub/util/biosdisk.h: Move to ...
31866 * include/grub/util/hostdisk.h: ... here. Update all users.
31867 * util/biosdisk.c: Move to ...
31868 * util/hostdisk.c: ... here. Update all users.
31869
783d0f48 318702008-09-07 Robert Millan <rmh@aybabtu.com>
31871
31872 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31873 variables.
31874 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31875 and length can be stored directly in the `mbi->mmap_addr' and
31876 `mbi->mmap_length' struct fields.
31877
548e2ea5 318782008-09-07 Robert Millan <rmh@aybabtu.com>
31879
31880 * conf/i386.rmk: New file. Provides declaration for building
31881 `cpuid.mod'.
31882 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31883 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31884 variables.
31885 Include `conf/i386.mk'.
31886 * conf/i386-efi.rmk: Likewise.
31887 * conf/x86_64-efi.rmk: Likewise.
31888 * conf/i386-coreboot.rmk: Likewise.
31889 * conf/i386-ieee1275.rmk: Likewise.
31890
0ea85a37 318912008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31892
31893 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31894 Adds optimization support for BGR based modes.
31895
31896 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31897 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31898 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31899 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31900 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31901 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31902 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31903 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31904 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31905 (grub_video_i386_vbeblit_index_index): Likewise.
31906 (grub_video_i386_vbeblit_replace_directN): Added.
31907 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31908 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31909 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31910 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31911 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31912 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31913 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31914 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31915 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31916 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31917 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31918 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31919 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31920
31921 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31922 (grub_video_i386_vbefill_R8G8B8): Likewise.
31923 (grub_video_i386_vbefill_index): Likewise.
31924 (grub_video_i386_vbefill_direct32): Added.
31925 (grub_video_i386_vbefill_direct24): Likewise.
31926 (grub_video_i386_vbefill_direct16): Likewise.
31927 (grub_video_i386_vbefill_direct8): Likewise.
31928
81a06771 31929 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31930 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31931 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31932 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31933 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31934 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31935
0ea85a37 31936 * video/video.c (grub_video_get_blit_format): Updated to use new
31937 blit formats. Added handling for 16 bit color modes.
81a06771 31938
31939 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31940 fillers.
31941 (common_blitter): Updated to use new blitters.
31942
31943 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31944 Removed.
31945 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31946 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31947 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31948 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31949 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31950 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31951 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31952 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31953 (grub_video_i386_vbeblit_index_index): Likewise.
31954 (grub_video_i386_vbeblit_replace_directN): Added.
31955 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31956 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31957 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31958 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31959 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31960 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31961 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31962 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31963 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31964 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31965 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31966 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31967 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31968
0ea85a37 31969 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31970 (grub_video_i386_vbefill_R8G8B8): Likewise.
31971 (grub_video_i386_vbefill_index): Likewise.
31972 (grub_video_i386_vbefill_direct32): Added.
31973 (grub_video_i386_vbefill_direct24): Likewise.
31974 (grub_video_i386_vbefill_direct16): Likewise.
31975 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31976
0ea85a37 31977 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31978 types.
81a06771 31979
0ea85a37 31980 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31981 types.
81a06771 31982
0ea85a37 31983 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31984 blitter types.
81a06771 31985
0ea85a37 31986 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31987 types.
31988
e8a83df6 319892008-09-06 Felix Zielcke <fzielcke@z-51.de>
31990
31991 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31992 RAID level 1.
31993
6bcd8ee5 319942008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31995
6bcd8ee5 31996 * fs/iso9660.c (grub_iso9660_date): New structure.
31997 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31998 (grub_iso9660_uuid): New function.
c375ae58 31999
59261157 320002008-09-05 Bean <bean123ch@gmail.com>
32001
32002 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32003
32004 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32005 insensitive bit for names in Win32 and Win32 & DOS namespace.
32006
32007 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32008
32009 * include/grub/types.h (LONG_MAX): Likewise.
32010
58b6645a 320112008-09-04 Felix Zielcke <fzielcke@z-51.de>
32012
4ee55921 32013 * util/getroot.c: Include <config.h>.
32014 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32015 add support for /dev/md/N devices and handle LVM double dash escaping.
32016
320172008-09-04 Felix Zielcke <fzielcke@z-51.de>
32018
32019 * config.guess: Update to latest version from config git.
32020 * config.sub: Likewise.
58b6645a 32021
9124f65d 320222008-09-03 Robert Millan <rmh@aybabtu.com>
32023
32024 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32025 `disk->total_sectors'.
32026
81a06771 320272008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32028
32029 * include/grub/normal.h: Fixed incorrect comment for
32030 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32031
81a06771 320322008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32033
32034 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32035 values with defines.
32036
32037 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32038 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32039 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32040 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32041 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32042 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32043 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32044 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32045 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32046 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32047 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32048 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32049 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32050 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32051 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32052 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32053 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32054 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32055 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32056
93d5cbf8 320572008-08-31 Robert Millan <rmh@aybabtu.com>
32058
32059 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32060 declaration.
32061 (grub_multiboot): Fix a few warnings.
32062
21751d50 320632008-08-31 Robert Millan <rmh@aybabtu.com>
32064
32065 * loader/i386/pc/multiboot.c: Update comment not to say that
32066 boot_device support is unimplemented.
32067
e27a75c5 320682008-08-31 Robert Millan <rmh@aybabtu.com>
32069
32070 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32071 or memory map support are unimplemented.
32072
81a06771 320732008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32074
32075 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32076
81a06771 320772008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32078
32079 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32080 total video memory in 'vbeinfo' output; show color format details for
32081 each video mode.
32082
7c5d8d95 320832008-08-30 Pavel Roskin <proski@gnu.org>
32084
32085 * util/genmoddep.c: Remove for real this time.
32086 * DISTLIST: Remove util/genmoddep.c.
32087
4cebd25a 320882008-08-30 Robert Millan <rmh@aybabtu.com>
32089
32090 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32091 as required by Multiboot spec (it was already 4-byte aligned, but
32092 only by chance).
32093
b497a269 320942008-08-29 Pavel Roskin <proski@gnu.org>
32095
e3925185 32096 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32097 * kern/powerpc/ieee1275/startup.S: ... this.
32098 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32099 * DISTLIST: Likewise.
32100
b497a269 32101 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32102 grub/cpu/kernel.h. Add start label for consistency with other
32103 platforms. Add grub_prefix immediately after start. Add jump
32104 to the code after grub_prefix.
32105 * include/grub/powerpc/kernel.h: Provide valid values for
32106 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32107
6e5a42fe 321082008-08-29 Bean <bean123ch@gmail.com>
32109
32110 * configure.ac: Change host_os to cygwin for mingw.
32111 (asprintf): New check for function.
32112
32113 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32114 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32115
32116 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32117 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32118 sync, sleep and grub_util_get_disk_size for mingw.
32119
32120 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32121 to get size in mingw.
32122 (open_device): Use flag O_BINARY if it's defined.
32123 (find_root_device): Add dummy code for mingw.
32124
32125 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32126 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32127 (get_scsi_disk_name): Return 0 for mingw.
32128
32129 * util/hostfs.c: #include <grub/util/misc.h>.
32130 (grub_hostfs_open): Use "rb" flag to open file, use
32131 grub_util_get_disk_size to get disk size for mingw.
32132
32133 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32134 (asprintf): New function if HAVE_ASPRINTF is not set.
32135 (sync): New function for mingw.
32136 (sleep): Likewise.
32137 (grub_util_get_disk_size): Likewise.
32138
ab3f2673 321392008-08-28 Pavel Roskin <proski@gnu.org>
32140
32141 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32142 kern/time.c.
32143
1c282483 321442008-08-28 Robert Millan <rmh@aybabtu.com>
32145
32146 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32147
678e849c 321482008-08-28 Robert Millan <rmh@aybabtu.com>
32149
32150 Change find_grub_drive() syntax so it doesn't prevent it from
32151 detecting NULL names as errors.
32152
32153 * util/biosdisk.c (find_grub_drive): Move free slot search code
32154 from here ...
32155 (find_free_slot): ... to here.
32156 (read_device_map): Use find_free_slot() to search for free slots.
32157
965c75ca 321582008-08-27 Marco Gerards <marco@gnu.org>
32159
32160 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32161 (scsi_mod_SOURCES): New variable.
32162 (scsi_mod_CFLAGS): Likewise
32163 (scsi_mod_LDFLAGS): Likewise.
32164
32165 * disk/scsi.c: New file.
32166
32167 * include/grub/scsi.h: Likewise.
32168
32169 * include/grub/scsicmd.h: Likewise.
32170
32171 * disk/ata.c: Include <grub/scsi.h>.
32172 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32173 instead.
32174 (grub_ata_iterate): Skip ATAPI devices.
32175 (grub_ata_open): Only handle ATAPI devices.
32176 (struct grub_atapi_read): Removed.
32177 (grub_atapi_readsector): Likewise.
32178 (grub_ata_read): No longer handle ATAPI devices.
32179 (grub_ata_write): Likewise.
32180 (grub_atapi_iterate): New function.
32181 (grub_atapi_read): Likewise.
32182 (grub_atapi_write): Likewise.
32183 (grub_atapi_open): Likewise.
32184 (grub_atapi_close): Likewise.
32185 (grub_atapi_dev): New variable.
32186 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32187 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32188
32189 * include/grub/disk.h (enum grub_disk_dev_id): Add
32190 `GRUB_DISK_DEVICE_SCSI_ID'.
32191
c07ae501 321922008-08-26 Robert Millan <rmh@aybabtu.com>
32193
32194 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32195 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32196 descriptive.
32197
5ed20adc 321982008-08-23 Bean <bean123ch@gmail.com>
32199
32200 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32201 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32202 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32203 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32204 dm_nv.mod.
32205 (raid5rec_mod_SOURCES): New macro.
32206 (raid5rec_mod_CFLAGS): Likewise.
32207 (raid5rec_mod_LDFLAGS): Likewise.
32208 (raid6rec_mod_SOURCES): Likewise.
32209 (raid6rec_mod_CFLAGS): Likewise.
32210 (raid6rec_mod_LDFLAGS): Likewise.
32211 (mdraid_mod_SOURCES): Likewise.
32212 (mdraid_mod_CFLAGS): Likewise.
32213 (mdraid_mod_LDFLAGS): Likewise.
32214 (dm_nv_mod_SOURCES): Likewise.
32215 (dm_nv_mod_CFLAGS): Likewise.
32216 (dm_nv_mod_LDFLAGS): Likewise.
32217
32218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32219 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32220 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32221
32222 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32223 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32224
32225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32226
32227 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32228
32229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32230
32231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32232
32233 * disk/raid5_recover.c: New file.
32234
32235 * disk/raid6_recover.c: Likewise.
32236
32237 * disk/mdraid_linux.c: Likewise.
32238
32239 * disk/dmraid_nvidia.c: Likewise.
32240
32241 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32242 ULONG_MAX.
32243
32244 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32245 calculate the size of raid device.
32246 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32247 different layout of raid5.
32248 (grub_raid_scan_device): Remove code specific to mdraid.
32249 (grub_raid_list): New variable.
32250 (free_array): New function.
32251 (grub_raid_register): Likewise.
32252 (grub_raid_unregister): Likewise.
32253 (grub_raid_rescan): Likewise.
32254 (GRUB_MOD_INIT): Don't iterate device here.
32255 (GRUB_MOD_FINI): Use free_array to release resource.
32256
32257 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32258 (grub_raid5_recover_func_t): New function variable type.
32259 (grub_raid6_recover_func_t): Likewise.
32260 (grub_raid5_recover_func): New variable.
32261 (grub_raid6_recover_func): Likewise.
32262 (grub_raid_register): New function.
32263 (grub_raid_unregister): Likewise.
32264 (grub_raid_rescan): Likewise.
32265 (grub_raid_block_xor): Likewise.
32266
32267 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32268 (CMD_CRC): New macro.
32269 (part): Removed.
32270 (read_file): Handle device as well as file.
32271 (cmd_crc): New function.
32272 (fstest): Handle multiple disks.
32273 (options): Remove part, raw and long, add root and diskcount.
32274 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32275 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32276 add handling for the new options, support multiple disks.
32277
32278 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32279
29c18915 322802008-08-23 Bean <bean123ch@gmail.com>
32281
32282 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32283
32284 * genfslist.sh: Ignore kernel.mod.
32285
32286 * genpartmaplist.sh: Likewise.
32287
8415f261 322882008-08-23 Robert Millan <rmh@aybabtu.com>
32289
32290 * util/getroot.c (find_root_device): Skip anything that starts with
32291 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32292
d5a7dc5b 322932008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32294
d5a7dc5b 32295 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32296 * util/grub.d/00_header.in: Allow the administrator to change default
32297 gfxmode via ${GRUB_GFXMODE}.
32298
380cfbb4 322992008-08-21 Felix Zielcke <fzielcke@z-51.de>
32300
32301 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32302
c9baafe7 323032008-08-21 Robert Millan <rmh@aybabtu.com>
32304
32305 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32306 loader.
32307 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32308 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32309
e290bef2 323102008-08-20 Carles Pina i Estany <carles@pina.cat>
32311
32312 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32313 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32314
f9dbfc96 323152008-08-19 Robert Millan <rmh@aybabtu.com>
32316
32317 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32318 (struct grub_virtual_screen): Remove `cursor_color'.
32319 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32320 initialization.
32321 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32322
dd6bd6ab 323232008-08-18 Robert Millan <rmh@aybabtu.com>
32324
32325 Unify (identical) linux_normal.c files.
32326 * loader/i386/efi/linux_normal.c: Move from here ...
32327 * loader/linux_normal.c: ... to here. Update all users.
32328 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32329 * loader/i386/ieee1275/linux_normal.c: Likewise.
32330
7f42f83e 323312008-08-18 Robert Millan <rmh@aybabtu.com>
32332
32333 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32334 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32335 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32336 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32337 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32338 New macros.
32339 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32340 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32341 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32342 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32343 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32344 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32345 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32346 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32347 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32348 portably using grub_getxy().
32349 Replace `-EFI' with `-bzImage' in boot message.
32350
38487ddb 323512008-08-17 Robert Millan <rmh@aybabtu.com>
32352
32353 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32354
deceb3ec 323552008-08-17 Robert Millan <rmh@aybabtu.com>
32356
32357 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32358
32359 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32360 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32361 (grub_machine_mmap_iterate): New function declaration.
32362 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32363 structure.
32364 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32365 macros.
32366
32367 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32368 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32369 Move e820 parsing from here ...
32370 * kern/i386/pc/mmap.c: New file.
32371 (grub_machine_mmap_iterate): ... to here.
32372
32373 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32374 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32375 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32376 (grub_available_iterate): Redeclare to return `void', and redeclare
32377 its hook to use grub_uint64_t as addr and size parameters, and rename
32378 to ...
32379 (grub_machine_mmap_iterate): ... this. Update all users.
32380
32381 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32382 to make it more readable. Rename to ...
32383 (grub_machine_mmap_iterate): ... this.
32384
32385 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32386 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32387 (grub_multiboot): Allocate an extra region after the payload, and fill
32388 it with a Multiboot memory map. Adjust a.out loader to calculate size
32389 with the extra space.
32390 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32391 with the extra space.
32392
f8aa0f43 323932008-08-17 Carles Pina i Estany <carles@pina.cat>
32394
9807deb9 32395 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32396
605f5bb6 323972008-08-17 Felix Zielcke <fzielcke@z-51.de>
32398
32399 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32400 mdate-sh to the list `find' searches for.
32401 * DISTLIST: Regenerated.
32402
210db6c6 324032008-08-16 Felix Zielcke <fzielcke@z-51.de>
32404
32405 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32406 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32407 genmoddep.awk, gensymlist.sh.in.
32408 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32409 * DISTLIST: Regenerated.
48cdbfd4 32410 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32411
1082b929 324122008-08-16 Robert Millan <rmh@aybabtu.com>
32413
32414 * disk/raid.c (grub_raid_init): Handle/report errors set by
32415 grub_device_iterate().
32416 * disk/lvm.c (grub_lvm_init): Likewise.
32417
42ce5170 324182008-08-15 Bean <bean123ch@gmail.com>
32419
32420 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32421 and datehook.mod.
32422 (datetime_mod_SOURCES): New macro.
32423 (datetime_mod_CFLAGS): Likewise.
32424 (datetime_mod_LDFLAGS): Likewise.
32425 (date_mod_SOURCES): Likewise.
32426 (date_mod_CFLAGS): Likewise.
32427 (date_mod_LDFLAGS): Likewise.
32428 (datehook_mod_SOURCES): Likewise.
32429 (datehook_mod_CFLAGS): Likewise.
32430 (datehook_mod_LDFLAGS): Likewise.
32431
32432 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32433 and datehook.mod.
32434 (datetime_mod_SOURCES): New macro.
32435 (datetime_mod_CFLAGS): Likewise.
32436 (datetime_mod_LDFLAGS): Likewise.
32437 (date_mod_SOURCES): Likewise.
32438 (date_mod_CFLAGS): Likewise.
32439 (date_mod_LDFLAGS): Likewise.
32440 (datehook_mod_SOURCES): Likewise.
32441 (datehook_mod_CFLAGS): Likewise.
32442 (datehook_mod_LDFLAGS): Likewise.
32443
32444 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32445 and datehook.mod.
32446 (datetime_mod_SOURCES): New macro.
32447 (datetime_mod_CFLAGS): Likewise.
32448 (datetime_mod_LDFLAGS): Likewise.
32449 (date_mod_SOURCES): Likewise.
32450 (date_mod_CFLAGS): Likewise.
32451 (date_mod_LDFLAGS): Likewise.
32452 (datehook_mod_SOURCES): Likewise.
32453 (datehook_mod_CFLAGS): Likewise.
32454 (datehook_mod_LDFLAGS): Likewise.
32455
32456 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32457 and datehook.mod.
32458 (datetime_mod_SOURCES): New macro.
32459 (datetime_mod_CFLAGS): Likewise.
32460 (datetime_mod_LDFLAGS): Likewise.
32461 (date_mod_SOURCES): Likewise.
32462 (date_mod_CFLAGS): Likewise.
32463 (date_mod_LDFLAGS): Likewise.
32464 (datehook_mod_SOURCES): Likewise.
32465 (datehook_mod_CFLAGS): Likewise.
32466 (datehook_mod_LDFLAGS): Likewise.
32467
32468 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32469 and datehook.mod.
32470 (datetime_mod_SOURCES): New macro.
32471 (datetime_mod_CFLAGS): Likewise.
32472 (datetime_mod_LDFLAGS): Likewise.
32473 (date_mod_SOURCES): Likewise.
32474 (date_mod_CFLAGS): Likewise.
32475 (date_mod_LDFLAGS): Likewise.
32476 (datehook_mod_SOURCES): Likewise.
32477 (datehook_mod_CFLAGS): Likewise.
32478 (datehook_mod_LDFLAGS): Likewise.
32479
32480 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32481
32482 * commands/date.c: New file.
32483
32484 * hook/datehook.c: Likewise.
32485
32486 * include/grub/lib/datetime.h: Likewise.
32487
32488 * include/grub/i386/cmos.h: Likewise.
32489
32490 * lib/datetime.c: Likewise.
32491
32492 * lib/i386/datetime.c: Likewise.
32493
32494 * lib/efi/datetime.c: Likewise.
32495
0e9242da 324962008-08-14 Robert Millan <rmh@aybabtu.com>
32497
32498 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32499 (grub_mkelfimage_SOURCES): New variable.
32500 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32501
32502 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32503 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32504 * conf/powerpc-ieee1275.rmk: Likewise.
32505 * conf/i386-ieee1275.rmk: Likewise.
32506
32507 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32508 * kern/i386/coreboot/init.c: Likewise.
32509
32510 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32511 with `<grub/cpu/kernel.h>'.
32512 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32513 to ...
32514 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32515 * kern/i386/coreboot/startup.S: Likewise.
32516
32517 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32518 (GRUB_MOD_GAP): Remove.
32519 * include/grub/powerpc/kernel.h: New file.
32520 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32521 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32522 * include/grub/i386/kernel.h: New file.
32523 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32524 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32525 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32526
32527 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32528 `grub-mkelfimage'.
32529 Use --directory when invoking grub_mkimage.
32530
32531 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32532 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32533 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32534 and GRUB_KERNEL_CPU_PREFIX.
32535
b86408f8 325362008-08-14 Felix Zielcke <fzielcke@z-51.de>
32537
d5e619ca 32538 * include/grub/err.h (grub_err_printf): New function prototype.
32539 * util/misc.c (grub_err_printf): New function.
32540 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32541 grub_printf.
32542 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32543
7161f0e0 325442008-08-13 Robert Millan <rmh@aybabtu.com>
32545
32546 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32547
a1967522 325482008-08-13 Robert Millan <rmh@aybabtu.com>
32549
32550 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32551 boot entry.
32552
371458b5 325532008-08-12 Robert Millan <rmh@aybabtu.com>
32554
32555 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32556 of the relocation code from here ...
32557 (grub_multiboot): ... to here.
32558 (forward_relocator, backward_relocator): Move from here ...
32559 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32560 (grub_multiboot_backward_relocator): ... to here.
32561 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32562 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32563 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32564 (grub_multiboot_forward_relocator_end)
32565 (grub_multiboot_backward_relocator)
32566 (grub_multiboot_backward_relocator_end): New variables.
32567
05f9452b 325682008-08-12 Bean <bean123ch@gmail.com>
32569
32570 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32571
20024ab0 325722008-08-11 Robert Millan <rmh@aybabtu.com>
32573
32574 * kern/i386/linuxbios/startup.S: Move from here ...
32575 * kern/i386/coreboot/startup.S: ... to here.
32576
32577 * kern/i386/linuxbios/init.c: Move from here ...
32578 * kern/i386/coreboot/init.c: ... to here.
32579
32580 * kern/i386/linuxbios/table.c: Move from here ...
32581 * kern/i386/coreboot/mmap.c: ... to here.
32582
32583 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32584
e352e9cd 325852008-08-11 Robert Millan <rmh@aybabtu.com>
32586
32587 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32588 errors. Leave it to the upper layer to handle them.
32589
2d05bc6a 325902008-08-09 Christian Franke <franke@computer.org>
32591
32592 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32593 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32594 Install `grub.d/10_windows' only on Cygwin.
32595 * configure.ac: Add subst of `target_os'.
32596 Check `target_os' also before setting TARGET_OBJ2ELF.
32597 Add `--enable-grub-pe2elf'.
32598
042bd419 325992008-08-08 Robert Millan <rmh@aybabtu.com>
32600
32601 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32602 (grub_last_time): Change type to grub_uint64_t.
32603 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32604 (grub_disk_close): Likewise.
32605
32606 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32607 (run_menu): Migrate code from to using grub_get_time_ms().
32608
32609 * util/misc.c (grub_get_time_ms): New function.
32610
7f280db5 326112008-08-08 Marco Gerards <marco@gnu.org>
32612
32613 * disk/ata.c (grub_ata_regget): Change return type to
32614 `grub_uint8_t'.
32615 (grub_ata_regget2): Likewise.
32616 (grub_ata_wait_status): New function.
32617 (grub_ata_wait_busy): Removed function, updated all users to use
32618 `grub_ata_wait_status'.
32619 (grub_ata_wait_drq): Likewise.
32620 (grub_ata_cmd): New function.
32621 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32622 error handling.
32623 (grub_ata_pio_write): Add error handling.
32624 (grub_atapi_identify): Likewise.
32625 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32626 handling.
32627 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32628 handling. Actually use the detected registers. Reorder the
32629 detection logic such that it is easier to read.
32630 (grub_ata_pciinit): Do not assign the same ID to each controller.
32631 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32632 handling.
32633 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32634
32635 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32636
1fbc5e66 326372008-08-08 Marco Gerards <marco@gnu.org>
32638
32639 * NEWS: Update.
32640
819ce6c0 326412008-08-07 Bean <bean123ch@gmail.com>
32642
32643 * include/grub/x86_64/pci.h: New file.
32644
5c41d44d 326452008-08-07 Christian Franke <franke@computer.org>
32646
32647 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32648 (TIMER2_GATE): Likewise.
32649 (grub_pit_wait): Add enable/disable of the timer2 gate
32650 bit of port 0x61. This fixes a possible infinite loop.
32651
5ebc275d 326522008-08-07 Bean <bean123ch@gmail.com>
32653
32654 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32655 kern/i386/tsc.c and kern/i386/pit.c.
32656
32657 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32658 x86_64 platform.
32659
32660 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32661 <grub/i386/tsc.h>.
32662
32663 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32664
e383b3d0 326652008-08-07 Bean <bean123ch@gmail.com>
32666
32667 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32668
32669 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32670
32671 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32672 multiple inclusion. Add #include <grub/types.h>.
32673
1cbb58ac 326742008-08-06 Christian Franke <franke@computer.org>
32675
32676 * conf/common.rmk: Build and install `10_windows'.
32677 * util/grub.d/10_windows.in: New script.
32678
337f5a1e 326792008-08-06 Pavel Roskin <proski@gnu.org>
32680
32681 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32682
057bc4ac 326832008-08-06 Robert Millan <rmh@aybabtu.com>
32684
32685 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32686 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32687
2b99f123 326882008-08-06 Bean <bean123ch@gmail.com>
32689
32690 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32691 (grub_pxefs_fs_int): Remove dummy definition.
32692 (grub_pxefs_open): Use data->block_size to store the current block
32693 size setting.
32694 (grub_pxefs_read): Use block size stored in data->block_size. As the
32695 value of grub_pxe_blksize can be changed after the file is opened.
32696
9f0234cb 326972008-08-06 Bean <bean123ch@gmail.com>
32698
32699 * fs/i386/pc/pxe.c (curr_file): new variable.
32700 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32701 require the dummy internal file system anymore.
32702 (grub_pxefs_read): Removed.
32703 (grub_pxefs_close): Likewise.
32704 (grub_pxefs_fs_int): Likewise.
32705 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32706 connection when we switch file.
32707 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32708
a55d42e0 327092008-08-06 Robert Millan <rmh@aybabtu.com>
32710
32711 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32712 `halt.mod'.
32713 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32714 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32715
32716 * kern/i386/halt.c: New file.
32717 * kern/i386/reboot.c: Likewise.
32718 * include/grub/i386/reboot.h: Likewise.
32719 * include/grub/i386/halt.h: Likewise.
32720
32721 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32722 Include `<grub/cpu/halt.h>'.
32723 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32724 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32725
32726 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32727 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32728 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32729 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32730 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32731 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32732 from here ...
32733 * include/grub/i386/at_keyboard.h: ... to here.
32734
24371d26 327352008-08-05 Robert Millan <rmh@aybabtu.com>
32736
32737 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32738 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32739 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32740 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32741 `kern/generic/millisleep.c'.
32742
32743 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32744 instead of grub_get_rtc().
32745 (grub_tsc_init): Initialize `tsc_boot_time'.
32746
32747 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32748 (grub_machine_init): Use grub_tsc_init() rather than
32749 installing an RTC-based handler via grub_install_get_time_ms().
32750
32751 * kern/i386/pit.c: New file.
32752 * include/grub/i386/pit.h: Likewise.
32753
9e7007b3 327542008-08-05 Bean <bean123ch@gmail.com>
32755
32756 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32757
32758 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32759 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32760 (pxe_mod_SOURCES): New macro.
32761 (pxe_mod_CFLAGS): Likewise.
32762 (pxe_mod_LDFLAGS): Likewise.
32763 (pxecmd_mod_SOURCES): Likewise.
32764 (pxecmd_mod_CFLAGS): Likewise.
32765 (pxecmd_mod_LDFLAGS): Likewise.
32766
32767 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32768 (grub_pxe_call): Likewise.
32769
32770 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32771
32772 * commands/i386/pc/pxecmd.c: New file.
32773
9f0234cb 32774 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32775
32776 * include/grub/i386/pc/pxe.h: Likewise.
32777
6977d49f 327782008-08-05 Bean <bean123ch@gmail.com>
32779
32780 * util/console.c (grub_console_cur_color): New variable.
32781 (grub_console_standard_color): Likewise.
32782 (grub_console_normal_color): Likewise.
32783 (grub_console_highlight_color): Likewise.
32784 (color_map): Likewise.
32785 (use_color): Likewise.
32786 (NUM_COLORS): New macro.
32787 (grub_ncurses_setcolorstate): Handle color properly.
32788 (grub_ncurses_setcolor): Don't change color here, just remember the
32789 settings, color will be set in grub_ncurses_setcolorstate.
32790 (grub_ncurses_getcolor): New function.
32791 (grub_ncurses_init): Initialize color pairs.
32792 (grub_ncurses_term): New member grub_ncurses_getcolor.
32793
9c2ff3ee 327942008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32795
9c2ff3ee 32796 High resolution timer support. Implemented for x86 CPUs using TSC.
32797 Extracted generic grub_millisleep() so it's linked in only as needed.
32798 This requires a Pentium compatible CPU; if the RDTSC instruction is
32799 not supported, then it falls back on the generic grub_get_time_ms()
32800 implementation that uses the machine's RTC.
32801
32802 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32803 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32804 `kern/generic/millisleep.c'.
32805
32806 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32807 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32808
32809 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32810 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32811
32812 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32813
32814 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32815 `kern/generic/millisleep.c'.
32816
32817 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32818
32819 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32820
32821 * kern/generic/rtc_get_time_ms.c: New file.
32822
32823 * kern/generic/millisleep.c: New file.
337f5a1e 32824
9c2ff3ee 32825 * kern/misc.c: Don't include
32826 <kern/time.h> anymore.
32827 (grub_millisleep_generic): Removed.
32828
32829 * commands/sleep.c (grub_interruptible_millisleep): Uses
32830 grub_get_time_ms() instead of grub_get_rtc().
32831
32832 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32833 function.
32834 (grub_cpu_is_cpuid_supported): New inline function.
32835 (grub_cpu_is_tsc_supported): New inline function.
32836 (grub_tsc_init): New function prototype.
32837 (grub_tsc_get_time_ms): New function prototype.
32838
32839 * kern/i386/tsc.c (grub_get_time_ms): New file.
32840
32841 * include/grub/time.h: Include <grub/types.h.
32842 (grub_millisleep_generic): Removed.
32843 (grub_get_time_ms): New prototype.
32844 (grub_install_get_time_ms): New prototype.
32845 (grub_rtc_get_time_ms): New prototype.
32846
32847 * kern/time.c (grub_get_time_ms): New function.
32848 (grub_install_get_time_ms): New function.
32849
32850 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32851 <grub/time.h> anymore.
32852 (grub_millisleep): Removed.
32853 (grub_machine_init): Call grub_tsc_init.
32854
32855 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32856 get_time_ms() implementation.
32857
32858 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32859 (ieee1275_get_time_ms): New function.
32860 (grub_machine_init): Install get_time_ms() implementation.
32861
32862 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32863 (grub_machine_init): Call grub_tsc_init().
32864 (grub_millisleep): Removed.
bf06a93f 32865
9c2ff3ee 32866 * kern/ieee1275/init.c (grub_millisleep): Removed.
32867 (grub_machine_init): Install ieee1275_get_time_ms()
32868 implementation.
32869 (ieee1275_get_time_ms): New function.
32870 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32871 real work.
32872
9ec92aaf 328732008-08-05 Marco Gerards <marco@gnu.org>
32874
32875 * disk/ata.c: Include <grub/pci.h>.
32876 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32877 (grub_ata_initialize): Rewritten.
32878 (grub_ata_device_initialize): New function.
32879
8d23f507 328802008-08-04 Pavel Roskin <proski@gnu.org>
32881
32882 * kern/main.c: Include grub/mm.h.
32883
5e15ee3d 328842008-08-04 Robert Millan <rmh@aybabtu.com>
32885
32886 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32887 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32888 corruption problem).
32889
a9053f8f 328902008-08-04 Robert Millan <rmh@aybabtu.com>
32891
32892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32893 warnings introduced in my last commit.
32894
dd19c7d7 328952008-08-03 Robert Millan <rmh@aybabtu.com>
32896
32897 Make PCI available on all i386 architectures.
32898
32899 * include/grub/i386/pc/pci.h: Move from here ...
32900 * include/grub/i386/pci.h: ... to here.
32901
32902 * include/grub/i386/pc/pci.h: Remove.
32903 * include/grub/i386/efi/pci.h: Remove.
32904 * include/grub/x86_64/efi/pci.h: Remove.
32905
32906 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32907 `<grub/cpu/pci.h>'.
32908
32909 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32910 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32911 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32912
32913 * conf/i386-ieee1275.rmk: Likewise.
32914
e14a6184 329152008-08-03 Robert Millan <rmh@aybabtu.com>
32916
32917 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32918 (grub_console_setcursor): Make it possible to set cursor off.
32919
52768e37 329202008-08-03 Robert Millan <rmh@aybabtu.com>
32921
32922 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32923 of modules instead of assuming which platform provides what.
32924 * util/update-grub.in: Likewise.
32925
2d52f57f 329262008-08-03 Robert Millan <rmh@aybabtu.com>
32927
32928 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32929 instead of `grub_install_dos_part' to determine whether a drive needs
32930 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32931 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32932
2a5cd121 329332008-08-02 Robert Millan <rmh@aybabtu.com>
32934
32935 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32936
93808428 329372008-08-02 Robert Millan <rmh@aybabtu.com>
32938
32939 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32940 of informational grub_dprintf() calls.
32941
3bd0a12a 329422008-08-02 Robert Millan <rmh@aybabtu.com>
32943
32944 * disk/memdisk.c (memdisk_size): Don't initialize.
32945 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32946
32947 * include/grub/i386/pc/kernel.h
32948 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32949 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32950 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32951 (grub_arch_memdisk_size): Remove.
32952
32953 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32954 field (was only used to transfer a constant). Add `type' field to
32955 support multiple module types.
32956 (grub_module_iterate): New function.
32957
32958 * kern/device.c (grub_device_open): Do not hide error messages
32959 when grub_disk_open() fails. Use grub_print_error() instead.
32960
32961 * kern/i386/pc/init.c (grub_arch_modules_addr)
32962 (grub_arch_memdisk_size): Remove functions.
32963 (grub_arch_modules_addr): Return the module address in high memory
32964 (now that it isn't copied anymore).
32965
32966 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32967 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32968 decompression routine (grub_total_module_size already includes that
32969 now). Don't copy modules back to low memory.
32970
32971 * kern/main.c: Include `<grub/mm.h>'.
32972 (grub_load_modules): Split out (and use) ...
32973 (grub_module_iterate): ... this function, which iterates through
32974 module objects and runs a hook.
32975 Comment out grub_mm_init_region() call, as it would cause non-ELF
32976 modules to be overwritten.
32977
32978 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32979 the memdisk image in its own region, make it part of the module list.
32980 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32981 (main): Parse --memdisk|-m option, and pass user-provided path as
32982 parameter to generate_image().
32983 (add_segments): Pass `memdisk_path' down to load_modules().
32984 (load_modules): Embed memdisk image in module section when requested.
32985 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32986 `header.type' instead of `header.offset'.
32987
32988 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32989 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32990 (memdisk_mod_LDFLAGS): New variables.
32991 * conf/i386-coreboot.rmk: Likewise.
32992 * conf/i386-ieee1275.rmk: Likewise.
32993
a927cc73 329942008-08-02 Robert Millan <rmh@aybabtu.com>
32995
32996 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32997 (backward_relocator): New variables. Used to allocate and relocate
32998 the payload, respectively.
32999 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33000 address, install the appropriate relocator code in each bound of
a927cc73 33001 the payload, and set the entry point such that
33002 grub_multiboot_real_boot() will jump to one of them.
33003
33004 * kern/i386/loader.S (grub_multiboot_payload_size)
33005 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33006 (grub_multiboot_payload_entry_offset): New variables.
33007 (grub_multiboot_real_boot): Set cpu context to what the relocator
33008 expects, and jump to the relocator instead of the payload.
33009
33010 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33011 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33012 (grub_multiboot_payload_entry_offset): Export.
33013
b15d8a0c 330142008-08-01 Bean <bean123ch@gmail.com>
33015
33016 * normal/menu_entry.c (editor_getline): Don't return the original
33017 string as result, as it will be released by lexer once it has done
33018 using it.
33019
cdfb3d22 330202008-08-01 Robert Millan <rmh@aybabtu.com>
33021
33022 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33023 within menuentries, not before them.
33024 util/grub.d/10_hurd.in: Likewise.
33025
9175e93d 330262008-08-01 Bean <bean123ch@gmail.com>
33027
33028 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33029 (bufio_mod_SOURCES): New macro.
33030 (bufio_mod_CFLAGS): Likewise.
33031 (bufio_mod_LDFLAGS): Likewise.
33032
33033 * include/grub/bufio.h: New file.
33034
33035 * io/bufio.c: Likewise.
33036
33037 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33038 (grub_video_reader_png): Use grub_buffile_open to open file.
33039
33040 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33041 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33042
33043 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33044 (grub_video_reader_tga): Use grub_buffile_open to open file.
33045
33046 * font/manager.c: Include <grub/bufio.h>.
33047 (add_font): Use grub_buffile_open to open file.
33048
3d8383e7 330492008-07-31 Robert Millan <rmh@aybabtu.com>
33050
33051 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33052 ELF segments, use a macro for arbitrarily accessing any of them instead
33053 of preparing a pointer that allows access to one at a time.
33054 (grub_multiboot_load_elf64): Likewise.
33055
16e641b6 330562008-07-31 Bean <bean123ch@gmail.com>
33057
33058 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33059 GRUB_KERNEL_MACHINE_DATA_END.
33060
59198b72 330612008-07-30 Robert Millan <rmh@aybabtu.com>
33062
33063 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33064 Increase from 0x50 to 0x60.
33065 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33066 use UUIDs to identify the root drive for them. If that's not
33067 possible, abort.
33068 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33069 check, for cross-disk installs.
33070
ae88bca3 330712008-07-30 Robert Millan <rmh@aybabtu.com>
33072
33073 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33074 is non-empty, use it to set the `prefix' environment variable instead
33075 of the usual approach.
33076 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33077 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33078 environment variable instead of dummy make_install_device().
33079
33080 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33081 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33082 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33083
33084 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33085 New variable reference.
33086 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33087 New macro. Defines offset of `grub_prefix' within startup.S (relative
33088 to `start').
33089 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33090 section within startup.S (relative to `start').
33091 * include/grub/i386/coreboot/kernel.h: Likewise.
33092
33093 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33094 Overwrite grub_prefix with its contents, at the beginning of the
33095 first segment.
33096 (main): Understand -p|--prefix.
33097
14f41dd1 330982008-07-30 Robert Millan <rmh@aybabtu.com>
33099
33100 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33101
4ca049a3 331022008-07-30 Robert Millan <rmh@aybabtu.com>
33103
33104 * term/i386/pc/vga_text.c (grub_console_cls): Use
33105 grub_console_gotoxy() to go back to beginning of the screen.
33106 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33107
2921d337 331082008-07-29 Christian Franke <franke@computer.org>
33109
33110 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33111 Add conversion of emulated mount points on Cygwin.
33112
b609876d 331132008-07-29 Christian Franke <franke@computer.org>
33114
33115 * util/update-grub.in: Add a check for admin
33116 group on Cygwin.
33117 Remove old `grub.cfg.new' before creation.
33118 Add `-f' to `mv' to handle the different filesystem
33119 semantics of Windows.
33120
e93e4679 331212008-07-29 Bean <bean123ch@gmail.com>
33122
33123 * normal/main.c (get_line): Fix buffer overflow bug.
33124
41694fd0 331252008-07-28 Robert Millan <rmh@aybabtu.com>
33126
33127 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33128 (struct grub_apple_header): New struct. Describes the layout of
33129 the partmap header.
33130 (apple_partition_map_iterate): Check the header magic as well as the
33131 partition magic (which was already being checked).
33132
cfd0b4e6 331332008-07-28 Pavel Roskin <proski@gnu.org>
33134
33135 * genmk.rb: Add a warning to the beginning of the output that
33136 it's a generated file and should not be edited.
33137
93cce016 331382008-07-28 Robert Millan <rmh@aybabtu.com>
33139
33140 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33141 with the same number are found, just use issue a warning with
33142 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33143
cd1df915 331442008-07-27 Robert Millan <rmh@aybabtu.com>
33145
33146 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33147 information.
33148
b70a8427 331492008-07-27 Bean <bean123ch@gmail.com>
33150
33151 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33152 (grub_fat_find_dir): Ignore case when comparing filename.
33153
8f5e379f 331542008-07-27 Bean <bean123ch@gmail.com>
33155
33156 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33157 smallino, as it's more descriptive, and i8count can be confused with
33158 the other field count.
33159 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33160 inode type.
33161
a85cd5a0 331622008-07-27 Bean <bean123ch@gmail.com>
33163
33164 * commands/crc.c: New file.
33165
33166 * lib/crc.c: Likewise.
33167
33168 * include/grub/lib/crc.h: Likewise.
33169
33170 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33171
33172 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33173 (hexdump): Move this function to ...
33174
33175 * lib/hexdump.c: ... here.
33176
33177 * include/grub/hexdump.h: Renamed to ...
33178
33179 * include/grub/lib/hexdump.h: ... this.
33180
33181 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33182
33183 * util/grub-editenv.c: Likewise.
33184
33185 * include/envblk.h: Renamed to ...
33186
33187 * include/lib/envblk.h: ... this.
33188
33189 * util/envblk.c: Renamed to ...
33190
33191 * lib/envblk.c: ... this.
33192
33193 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33194 lib/hexdump.c.
33195 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33196 (pkglib_MODULES): Add crc.mod.
33197 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33198 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33199 (crc_mod_SOURCES): New macro.
33200 (crc_mod_CFLAGS): Likewise.
33201 (crc_mod_LDFLAGS): Likewise.
33202
33203 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33204
33205 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33206
33207 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33208
33209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33210
33211 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33212
c298def0 332132008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33214
33215 * commands/help.c: Include <grub/term.h>.
33216 (TERM_WIDTH): Removed. Updated all users.
33217
cc349fb3 332182008-07-27 Pavel Roskin <proski@gnu.org>
33219
33220 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33221 spurious warnings about a comment within a comment.
33222
9051607e 332232008-07-25 Robert Millan <rmh@aybabtu.com>
33224
33225 * util/getroot.c (find_root_device): Skip devices that match
33226 /dev/dm-[0-9]. This lets the real device be found for any type of
33227 abstraction (LVM, EVMS, RAID..).
33228 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33229 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33230 device is found first, find_root_device() will now skip it.
33231
01453bfc 332322008-07-24 Pavel Roskin <proski@gnu.org>
33233
33234 * include/grub/types.h: Use __builtin_bswap32() and
33235 __builtin_bswap64() with gcc 4.3 and newer.
33236
6af9849f 332372008-07-24 Christian Franke <franke@computer.org>
33238
3a0fa256 33239 * util/i386/pc/grub-install.in: If `--debug' is specified,
33240 pass `--verbose' to grub-setup.
33241 Abort script if make_system_path_relative_to_its_root() fails.
33242
7810e747 332432008-07-24 Bean <bean123ch@gmail.com>
33244
33245 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33246 variable `target_platform' should be `platform'.
33247
42290e17 332482008-07-24 Bean <bean123ch@gmail.com>
33249
51cc5193 33250 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33251 (grub_png_init_fixed_block): New function.
33252 (grub_png_decode_image_data): Handle fixed huffman code compression.
33253
2a8a80e4 332542008-07-24 Bean <bean123ch@gmail.com>
33255
33256 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33257 (grub_pe2elf_SOURCES): New macro.
33258 (CLEANFILES): Add grub-pe2elf.
33259
33260 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33261 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33262 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33263 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33264 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33265 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33266 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33267 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33268 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33269 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33270 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33271 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33272 (GRUB_PE32_DT_FUNCTION): Likewise.
33273 (GRUB_PE32_REL_I386_DIR32): Likewise.
33274 (GRUB_PE32_REL_I386_REL32): Likewise.
33275 (grub_pe32_symbol): New structure.
33276 (grub_pe32_reloc): Likewise.
33277
33278 * util/grub-pe2elf.c: New file.
33279
33280 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33281 start symbol in non pc platform.
33282
33283 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33284
33285 The following patches are from Christian Franke.
33286
33287 * include/grub/dl.h: Remove .previous, gas supports this only
33288 for ELF format.
33289
33290 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33291 Remove .type, gas supports this only for ELF format.
33292
33293 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33294 nullbytes in symbol table. This fixes an infinite loop if table is
33295 zero filled.
33296
33297 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33298 TARGET_IMG_LDFLAGS and EXEEXT.
33299
33300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33301 TARGET_IMG_LDFLAGS_AC.
33302 (grub_CHECK_STACK_ARG_PROBE): New function.
33303
33304 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33305
33306 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33307
33308 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33309 to set TARGET_IMG_LD* accordingly.
33310 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33311 Add call to grub_CHECK_STACK_ARG_PROBE.
33312 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33313
33314 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33315
33316 * genmk.rb: Add EXEEXT to CLEANFILES.
33317
12ccdb75 333182008-07-23 Robert Millan <rmh@aybabtu.com>
33319
33320 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33321 define the codes for arrows and lines used for the menu).
33322 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33323 as well.
33324
33325 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33326 fonts, because the latter are too slow.
33327
18eeaf04 333282008-07-21 Bean <bean123ch@gmail.com>
33329
33330 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33331 a20. Run keyboard test last, as it will cause macbook to halt.
33332
b095e2ad 333332008-07-18 Pavel Roskin <proski@gnu.org>
33334
33335 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33336 load foreign architecture modules correctly anyway. Keep
33337 support for loading host architecture modules, whether we
33338 compile them or not.
33339
737feb35 333402008-07-17 Pavel Roskin <proski@gnu.org>
33341
3f4ce737 33342 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33343 change target_cpu. The compiler default can mismatch target_cpu
33344 in any case.
33345
4ad2d049 33346 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33347 * kern/efi/efi.c: Likewise.
33348
f6130a12 33349 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33350 target compiler is functional.
33351 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33352 are set up.
33353
58393a2d 33354 * configure.ac: Default to efi platform for x86_64-apple. Allow
33355 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33356 adjustments from the rest, only do them if target is not
33357 explicitly given. Merge other adjustments with the final sanity
33358 check. Remove an extraneous check for supported CPU. Be
33359 specific which CPU and which platform is not supported.
33360
737feb35 33361 * configure.ac: Default to pc platform for x86_64.
33362
546f966a 333632008-07-17 Robert Millan <rmh@aybabtu.com>
33364
33365 Partial LinuxBIOS -> Coreboot rename.
33366
33367 * conf/i386-linuxbios.rmk: Renamed to ...
33368 * conf/i386-coreboot.rmk: ... this.
33369 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33370 * configure.ac: Accept "coreboot" as input platform (but maintain
33371 compatibility with "linuxbios").
33372 * include/grub/i386/linuxbios: Renamed to ...
33373 * include/grub/i386/coreboot: ... this.
33374
20011694 333752008-07-17 Bean <bean123ch@gmail.com>
33376
33377 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33378 (appleldr_mod_SOURCE): New variable.
20011694 33379 (appleldr_mod_CFLAGS): Likewise.
33380 (appleldr_mod_LDFLAGS): Likewise.
33381 (pci_mod_SOURCES): Likewise.
33382 (pci_mod_CFLAGS): Likewise.
33383 (pci_mod_LDFLAGS): Likewise.
33384 (lspci_mod_SOURCES): Likewise.
33385 (lspci_mod_CFLAGS): Likewise.
33386 (lspci_mod_LDFLAGS): Likewise.
33387
33388 * conf/x86_64-efi.rmk: New file.
33389
33390 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33391 macro.
33392 (grub_efidisk_write): Likewise.
33393
33394 * include/efi/api.h (efi_call_0): New macro.
33395 (efi_call_1): Likewise.
33396 (efi_call_2): Likewise.
33397 (efi_call_3): Likewise.
33398 (efi_call_4): Likewise.
33399 (efi_call_5): Likewise.
33400 (efi_call_6): Likewise.
33401
33402 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33403 grub_rescue_cmd_chainloader.
33404
33405 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33406 (grub_pe32_optional_header): Change some fields based on i386 or
33407 x86_64 platform.
33408 (GRUB_PE32_PE32_MAGIC): Likewise.
33409
33410 * include/grub/efi/uga_draw.h: New file.
33411
33412 * include/grub/elf.h (STN_ABS): New constant.
33413 (R_X86_64_NONE): Relocation constant for x86_64.
33414 (R_X86_64_64): Likewise.
33415 (R_X86_64_PC32): Likewise.
33416 (R_X86_64_GOT32): Likewise.
33417 (R_X86_64_PLT32): Likewise.
33418 (R_X86_64_COPY): Likewise.
33419 (R_X86_64_GLOB_DAT): Likewise.
33420 (R_X86_64_JUMP_SLOT): Likewise.
33421 (R_X86_64_RELATIVE): Likewise.
33422 (R_X86_64_GOTPCREL): Likewise.
33423 (R_X86_64_32): Likewise.
33424 (R_X86_64_32S): Likewise.
33425 (R_X86_64_16): Likewise.
33426 (R_X86_64_PC16): Likewise.
33427 (R_X86_64_8): Likewise.
33428 (R_X86_64_PC8): Likewise.
33429
33430 * include/grub/i386/efi/pci.h: New file.
33431
33432 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33433 Change it value based on platform.
33434 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33435 (GRUB_E820_RAM): Likewise.
33436 (GRUB_E820_RESERVED): Likewise.
33437 (GRUB_E820_ACPI): Likewise.
33438 (GRUB_E820_NVS): Likewise.
33439 (GRUB_E820_EXEC_CODE): Likewise.
33440 (GRUB_E820_MAX_ENTRY): Likewise.
33441 (grub_e820_mmap): New structure.
33442 (linux_kernel_header): Change the efi field according to different
33443 kernel version, also field from linux_kernel_header.
33444
33445 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33446
33447 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33448 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33449 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33450 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33451 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33452 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33453 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33454 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33455 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33456 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33457
33458 * include/grub/x86_64/efi/kernel.h: New file.
33459
33460 * include/grub/x86_64/efi/loader.h: Likewise.
33461
33462 * include/grub/x86_64/efi/machine.h: Likewise.
33463
33464 * include/grub/x86_64/efi/pci.h: Likewise.
33465
33466 * include/grub/x86_64/efi/time.h: Likewise.
33467
33468 * include/grub/x86_64/linux.h: Likewise.
33469
33470 * include/grub/x86_64/setjmp.h: Likewise.
33471
33472 * include/grub/x86_64/time.h: Likewise.
33473
33474 * include/grub/x86_64/types.h: Likewise.
33475
33476 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33477 GRUB_TARGET_SIZEOF_VOID_P.
33478
33479 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33480 (grub_efi_locate_handle): Likewise.
33481 (grub_efi_open_protocol): Likewise.
33482 (grub_efi_set_text_mode): Likewise.
33483 (grub_efi_stall): Likewise.
33484 (grub_exit): Likewise.
33485 (grub_reboot): Likewise.
33486 (grub_halt): Likewise.
33487 (grub_efi_exit_boot_services): Likewise.
33488 (grub_get_rtc): Likewise.
33489
33490 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33491 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33492 (grub_efi_allocate_pages): Wrap efi calls.
33493 (grub_efi_free_pages): Wrap efi calls.
33494 (grub_efi_get_memory_map): Wrap efi calls.
33495
33496 * kern/x86_64/dl.c: New file.
33497
33498 * kern/x86_64/efi/callwrap.S: Likewise.
33499
33500 * kern/x86_64/efi/startup.S: Likewise.
33501
33502 * loader/efi/appleloader.c: Likewise.
33503
33504 * loader/efi/chainloader.c (cmdline): New variable.
33505 (grub_chainloader_unload): Wrap efi calls.
33506 (grub_chainloader_boot): Likewise.
33507 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33508 command line.
33509
33510 * loader/efi/chainloader_normal.c (chainloader_command):
33511 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33512 command line.
33513
33514 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33515 method.
33516 (grub_e820_add_region): New function.
33517 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33518 booting.
33519 (grub_find_video_card): New function.
33520 (grub_linux_setup_video): New function.
33521 (grub_rescue_cmd_linux): Probe for video information.
33522
33523 * normal/x86_64/setjmp.S: New file.
33524
33525 * term/efi/console.c (map_char): New function.
33526 (grub_console_putchar): Map unicode char.
33527 (grub_console_checkkey): Wrap efi calls.
33528 (grub_console_getkey): Likewise.
33529 (grub_console_getwh): Likewise.
33530 (grub_console_gotoxy): Likewise.
33531 (grub_console_cls): Likewise.
33532 (grub_console_setcolorstate): Likewise.
33533 (grub_console_setcursor): Likewise.
33534
33535 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33536
59652a20 335372008-07-16 Pavel Roskin <proski@gnu.org>
33538
ef294055 33539 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33540 format strings.
33541
59652a20 33542 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33543 pointer, not an integer. This fixes a warning and prevents
33544 precision loss on 64-bit systems.
33545 (relocate_addresses): Remove unneeded cast.
33546
afc3b5d7 335472008-07-15 Pavel Roskin <proski@gnu.org>
33548
506b2b3e 33549 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33550
62ead89c 33551 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33552
c4cd51d7 33553 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33554 Fix comparison between signed and unsigned.
33555
0d3d8f28 33556 * include/grub/i386/ieee1275/console.h: Declare
33557 grub_console_init() and grub_console_fini().
33558
8804b286 33559 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33560 It's empty and unused.
33561
ee01cf35 33562 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33563 beginning to avoid warnings with some compilers.
33564
afc3b5d7 33565 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33566 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33567
e4e8eaa5 335682008-07-14 Pavel Roskin <proski@gnu.org>
33569
407aceb4 33570 * kern/env.c (grub_register_variable_hook): Don't copy empty
33571 string, it leaks memory. Pass "" to grub_env_set(), it should
33572 handle constant strings.
33573
e4e8eaa5 33574 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33575 * commands/cmp.c (grub_cmd_cmp): Likewise.
33576 * kern/dl.c (grub_dl_flush_cache): Likewise.
33577 (grub_dl_load_core): Likewise.
33578 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33579 (grub_elf64_load_phdrs): Likewise.
33580
d4e2dad3 335812008-07-13 Pavel Roskin <proski@gnu.org>
33582
33583 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33584 between signed and unsigned.
33585 (LzmaEnc_Finish): Fix warning about an unused parameter.
33586
aa24b516 335872008-07-13 Bean <bean123ch@gmail.com>
33588
33589 * Makefile.in (enable_lzo): New rule.
33590
33591 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33592
33593 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33594
33595 * boot/i386/pc/lnxboot.S: #include <config.h>.
33596
33597 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33598 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33599
33600 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33601 compression algorithm according to configure macro.
33602
33603 * kern/i386/pc/startup.S (codestart): Likewise.
33604
33605 * kern/i386/pc/lzma_decode.S: New file.
33606
33607 * include/grub/lib/LzFind.h: Likewise.
33608
33609 * include/grub/lib/LzHash.h: Likewise.
33610
33611 * include/grub/lib/LzmaDec.h: Likewise.
33612
33613 * include/grub/lib/LzmaEnc.h: Likewise.
33614
33615 * include/grub/lib/LzmaTypes.h: Likewise.
33616
33617 * lib/LzFind.c: Likewise.
33618
33619 * lib/LzmaDec.c: Likewise.
33620
33621 * lib/LzmaEnc.c: Likewise.
33622
4ae821ac 336232008-07-13 Bean <bean123ch@gmail.com>
33624
33625 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33626 (grub_ext4_extent_header): New structure.
33627 (grub_ext4_extent): Likewise.
33628 (grub_ext4_extent_idx): Likewise.
33629 (grub_ext4_find_leaf): New function.
33630 (grub_ext2_read_block): Handle extents.
33631
9a745147 336322008-07-12 Robert Millan <rmh@aybabtu.com>
33633
33634 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33635
d49a4cf6 336362008-07-11 Robert Millan <rmh@aybabtu.com>
33637
33638 * util/grub.d/40_custom.in: New file. Example on how to add custom
33639 entries to /etc/grub.d.
33640 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33641 40_custom (implicitly, by merging all the grub.d rules).
33642
947414b4 336432008-07-11 Pavel Roskin <proski@gnu.org>
33644
0059cf6f 33645 * commands/read.c (grub_getline): Fix invalid memory access.
33646 Don't add newline to the variable value.
33647
947414b4 33648 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33649 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33650 (serial_hw_get_port): Check validity of the port number.
33651 (grub_cmd_serial): Check return value of serial_hw_get_port().
33652
62a02d00 336532008-07-07 Pavel Roskin <proski@gnu.org>
33654
33655 * boot/i386/pc/diskboot.S (notification_string): Replace
33656 "Loading kernel" with just "loading". This is shorter, less
33657 confusing and saves a few bytes for possible future changes.
33658
3e5581b0 336592008-07-05 Pavel Roskin <proski@gnu.org>
33660
ea387a48 33661 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33662 size for ATAPI devices, they are undefined. Output sector
33663 number in decimal form.
33664
3e5581b0 33665 * disk/ata.c: Use named constants for status bits.
33666
fdecb8fd 336672008-07-04 Pavel Roskin <proski@gnu.org>
33668
bcd35b90 33669 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33670 grub_addr_t before casting it to the void pointer to fix a
33671 warning. Non-addressable regions are discarded earlier.
33672 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33673 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33674 (check_signature): Don't shadow table_header.
33675 (grub_linuxbios_table_iterate): Cast numeric constants to
33676 grub_linuxbios_table_header_t.
33677 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33678 grub_stop().
33679
af58ab3d 33680 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33681 prevent warnings.
33682
1759aa57 33683 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33684 pointer, which can cause warnings. Support 64-bit addresses.
33685
fdecb8fd 33686 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33687 of sizeof(long). This fixes PowerPC image generation on x86_64.
33688
8516d2a8 336892008-07-04 Robert Millan <rmh@aybabtu.com>
33690
33691 This fixes a performance issue when pc & gpt partmap iterators
33692 didn't abort iteration even after our hook found what it was
fe987087 33693 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33694
33695 Some callers relied on previous buggy behaviour, since they would
34c44600 33696 raise an error when their own hooks caused early abortion of its
8516d2a8 33697 iteration.
33698
33699 * kern/device.c (grub_device_open): Improve error message.
33700 * disk/lvm.c (grub_lvm_open): Likewise.
33701 * disk/raid.c (grub_raid_open): Likewise.
33702
33703 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33704 when hook requests it, independently of grub_errno.
33705 (pc_partition_map_probe): Do not fail when find_func() caused
33706 early abortion of pc_partition_map_iterate().
33707
33708 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33709 when hook requests it, independently of grub_errno.
33710 (gpt_partition_map_probe): Do not fail when find_func() caused
33711 early abortion of gpt_partition_map_iterate().
33712
33713 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33714 when hook requests it, independently of grub_errno. Do not fail when
33715 part_map_iterate_hook() caused early abortion of p->iterate().
33716
33717 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33718 when grub_partition_iterate() returned with non-zero.
33719
277d0de9 337202008-07-03 Pavel Roskin <proski@gnu.org>
33721
33722 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33723 like we do in grub_ata_pio_read().
33724 (grub_ata_readwrite): Always write individual sectors. Fix the
33725 sector count for the remainder.
33726 (grub_ata_write): Enable writing to ATA devices. Correctly
33727 report error for ATAPI devices.
33728
d4c9b428 337292008-07-02 Pavel Roskin <proski@gnu.org>
33730
e43fc690 33731 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33732 warning.
33733
f707af42 33734 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33735 for every read sector, we already increment it for the whole
33736 batch. This fixes reading more than 256 sectors at once.
33737
11e16b15 33738 * util/grub-editenv.c (cmd_info): Cast argument to long
33739 explicitly. ptrdiff_t reduces to int on i386.
33740
cbabfdd4 33741 * util/grub-editenv.c (main): Be specific which parameter is
33742 missing.
33743
b8fbce0a 33744 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33745 (memdisk): Make memdisk_orig_addr a pointer.
33746
c9c8e606 33747 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33748 for file offsets, use grub_off_t instead. Fix printf format
33749 warnings.
33750
ca62e598 33751 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33752 there. Real unexpected warnings should not drown in the noise
33753 about known problems.
33754
ce8d1766 33755 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33756 grub_disk_addr_t for memory addresses.
33757
00c7a56a 33758 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33759 explicitly to fix a warning.
33760
08d3ef09 33761 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33762
cb71ba20 33763 * Makefile.in (MODULE_LDFLAGS): New variable.
33764 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33765 the linker accepts --build-id=none.
33766 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33767 MODULE_LDFLAGS.
33768 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33769
d4c9b428 33770 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33771 those in Linux XFS code. Provide a way to access 64-bit parent
33772 inode.
33773 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33774 the end of struct grub_xfs_dir_header.
33775
d4156eee 337762008-07-02 Bean <bean123ch@gmail.com>
33777
33778 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33779 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33780 and GRUB_IEEE1275_FLAG_NO_ANSI.
33781
33782 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33783 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33784 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33785
33786 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33787 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33788
33789 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33790 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33791
33792 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33793 esc sequence on non ANSI terminal.
33794 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33795
33796 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33797 beginning of file.
33798
2270f77b 337992008-07-02 Bean <bean123ch@gmail.com>
33800
33801 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33802 (grub_editenv_SOURCES): New variable.
33803 (pkglib_MODULES): Add loadenv.mod.
33804 (loadenv_mod_SOURCES): New variable.
33805 (loadenv_mod_CFLAGS): Likewise.
33806 (loadenv_mod_LDFLAGS): Likewise.
33807
33808 * include/grub/envblk.h: New file.
33809
33810 * util/envblk.c: New file.
33811
33812 * util/grub-editenv.c: New file.
33813
33814 * commands/loadenv.c: New file.
33815
0e9e51ec 338162008-07-01 Pavel Roskin <proski@gnu.org>
33817
d89b7634 33818 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33819 not unsigned char. This fixes warnings and is consistent with
33820 other tags.
33821
bf1835b1 33822 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33823
8222a04b 33824 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33825
6a42d99d 33826 * term/tparm.c (analyze): Always set *popcount.
33827
10b159d1 33828 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33829 cast to fix a warning.
33830
b8789f6c 33831 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33832 cast to suppress a warning.
33833
29d7e38a 33834 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33835 grub_fshelp_read_file() expects.
33836
f341f669 33837 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33838 write uuid as a 32-bit value in CPU byte order, so declare and
33839 use it as such.
33840
0e9e51ec 33841 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33842 long if the format specifier expects it.
33843 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33844 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33845 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33846 long to fix a warning.
33847 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33848 grub_dprintf() arguments to fix warnings.
33849
3aefa857 338502008-06-30 Pavel Roskin <proski@gnu.org>
33851
56c7668b 33852 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33853 install_bsd_part immediately before core.img is embedded or
33854 modified on disk. This fixes core.img verification if core.img
33855 cannot be embedded.
33856
3aefa857 33857 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33858 core_path to calculate the blocklist.
33859 Patch from Javier Martín <lordhabbit@gmail.com>
33860
5444088d 338612008-06-29 Robert Millan <rmh@aybabtu.com>
33862
33863 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33864 block to disk block.
33865 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33866 Patch from Niels Böhm <bitbucket@arcor.de>
33867
674835c8 338682008-06-29 Robert Millan <rmh@aybabtu.com>
33869
33870 * util/update-grub_lib.in (font_path): Search for fonts in
33871 /boot/grub first, which is more likely to be readable (we aren't
33872 deciding where fonts live, just looking for them).
33873
f527dbc8 338742008-06-26 Pavel Roskin <proski@gnu.org>
33875
6c2d8df6 33876 * util/biosdisk.c (read_device_map): Don't leave dead map
33877 entries for devices failing stat() check.
33878
f527dbc8 33879 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33880 core_path_dev for the core.img path on the target device.
33881
aebe3d13 338822008-06-26 Robert Millan <rmh@aybabtu.com>
33883
33884 * disk/fs_uuid.c: New file.
33885 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33886 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33887 (fs_uuid_mod_LDFLAGS): New variables.
33888 * include/grub/disk.h (grub_disk_dev_id): Add
33889 `GRUB_DISK_DEVICE_UUID_ID'.
33890 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33891 implement iterate().
33892
37aaf354 338932008-06-26 Robert Millan <rmh@aybabtu.com>
33894
33895 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33896 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33897 Linux image includes no initrd.
33898
25ff262a 338992008-06-21 Javier Martín <lordhabbit@gmail.com>
33900
33901 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33902 call to resolve the core image location that effectively appended the
33903 name twice.
33904
76a2bd44 339052008-06-21 Robert Millan <rmh@aybabtu.com>
33906
33907 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33908 call from here ...
33909
33910 * util/grub.d/10_hurd.in: ... to here ...
33911 * util/grub.d/10_linux.in: ... and here.
33912
650e1c79 339132008-06-19 Robert Millan <rmh@aybabtu.com>
33914
fe987087 33915 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33916 after it has been set by grub_machine_set_prefix().
33917
6ce63911 339182008-06-19 Robert Millan <rmh@aybabtu.com>
33919
33920 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33921 search result when not saving to variable, not the other way around.
33922 When saving to variable, abort iteration as soon as a match is found.
33923
73940cec 339242008-06-19 Robert Millan <rmh@aybabtu.com>
33925
33926 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33927 check for partition that provides /boot/grub. Its logic is flawed,
33928 as it prevents prepare_grub_to_access_device() from being called
33929 multiple times.
33930
3c62a39d 339312008-06-19 Robert Millan <rmh@aybabtu.com>
33932
33933 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33934 "insmod" command directly when abstraction modules are needed,
fe987087 33935 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33936 since it had already been processed).
33937
47395a42 339382008-06-19 Pavel Roskin <proski@gnu.org>
33939
33940 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33941 changed. This is needed in case GRUB_LIBDIR changes.
33942 * conf/i386-ieee1275.rmk: Likewise.
33943 * conf/i386-linuxbios.rmk: Likewise.
33944 * conf/i386-pc.rmk: Likewise.
33945 * conf/powerpc-ieee1275.rmk: Likewise.
33946
a145ac2d 339472008-06-18 Pavel Roskin <proski@gnu.org>
33948
33949 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33950 kernel_elf_symlist.c to symlist.c for consistency with other
33951 architectures. Update all users.
33952 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33953
7847c51e 339542008-06-18 Robert Millan <rmh@aybabtu.com>
33955
33956 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33957 it in prefix.
33958
33959 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33960 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33961 a RAID device, run setup() for all members independently on whether
33962 LVM abstraction is being used.
33963 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33964 If grub-mkimage has set `*install_dos_part == -2', don't override this
33965 value.
33966 Perform *install_dos_part adjustments independently on whether
33967 we're embedding or not.
33968 Clarify error message when image is too big for embedding.
33969 Remove duplicate *install_dos_part stanza.
33970
b23e5644 339712008-06-17 Robert Millan <rmh@aybabtu.com>
33972
33973 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33974 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33975 variables.
33976 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33977 values in grub_ofconsole_normal_color and
33978 grub_ofconsole_highlight_color (they're not directly related to
33979 background and foreground).
33980 (grub_ofconsole_setcolorstate): Extract background and foreground
33981 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33982
0aac2f79 339832008-06-17 Robert Millan <rmh@aybabtu.com>
33984
33985 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33986 /boot/grub for the check in last commit, not /boot (they could be
33987 different partitions).
33988
3cca7ef3 339892008-06-16 Robert Millan <rmh@aybabtu.com>
33990
33991 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33992 asked to setup access for the same partition that provides /boot,
33993 don't bother using UUIDs since our root already has the value we
33994 want.
33995
347396d8 339962008-06-16 Robert Millan <rmh@aybabtu.com>
33997
33998 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33999 I2O devices.
34000 Patch from Sven Mueller <sven@debian.org>.
34001
991477f8 340022008-06-16 Robert Millan <rmh@aybabtu.com>
34003
34004 * util/update-grub.in: Check for $EUID instead of $UID.
34005 Reported by Vincent Zweije.
34006
d31a32a1 340072008-06-16 Bean <bean123ch@gmail.com>
34008
fe987087 34009 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34010 (grub_ext2_read_block): Likewise.
34011 (grub_ext2_read_inode): Likewise.
34012 (grub_ext2_mount): Likewise.
34013 (grub_ext2_close): Likewise.
34014 (grub_ext3_get_journal): Removed.
34015
fe987087 34016 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34017 (grub_reiserfs_read_symlink): Likewise.
34018 (grub_reiserfs_mount): Likewise.
34019 (grub_reiserfs_open): Likewise.
34020 (grub_reiserfs_read): Likewise.
34021 (grub_reiserfs_close): Likewise.
34022 (grub_reiserfs_get_journal): Removed.
34023
34024 * fs/fshelp.c (grub_fshelp_read): Removed.
34025 (grub_fshelp_map_block): Likewise.
34026
34027 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34028 (grub_fshelp_journal): Likewise.
34029 (grub_fshelp_read): Likewise.
34030 (grub_fshelp_map_block): Likewise.
34031
3540a760 340322008-06-16 Pavel Roskin <proski@gnu.org>
34033
34034 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34035 floating point anymore.
34036 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34037
95614c84 340382008-06-15 Pavel Roskin <proski@gnu.org>
34039
34040 * commands/ls.c (grub_ls_list_files): Use integer calculations
34041 for human readable format, avoid floating point use.
34042 * kern/misc.c (grub_ftoa): Remove.
34043 (grub_vsprintf): Remove floating point support.
34044
50465dd6 340452008-06-15 Robert Millan <rmh@aybabtu.com>
34046
fe6b695a 34047 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34048 devices.
34049 Reported by Max Vozeler.
34050
a9207284 340512008-06-15 Robert Millan <rmh@aybabtu.com>
34052
34053 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34054 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34055 skipped later.
34056 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34057 the beginning of the prefix.
34058
34059 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34060 It is assumed that if we have a memdisk, grub-mkimage has set
34061 grub_prefix to include the "(memdisk)" drive in it.
34062
a7cbd45a 340632008-06-15 Robert Millan <rmh@aybabtu.com>
34064
34065 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34066 Initialize keyboard controller after registering the terminal, so that
34067 grub_printf() can be called from grub_keyboard_controller_init().
34068
21cf716a 340692008-06-15 Robert Millan <rmh@aybabtu.com>
34070
34071 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34072 extent-btree which is written as big endian on disk.
34073 Reported by Alain Greppin <al@chilibi.org>.
34074
23a64d8e 340752008-06-14 Robert Millan <rmh@aybabtu.com>
34076
34077 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34078 * util/i386/pc/grub-install.in (modules): Likewise.
34079
d687651c 340802008-06-13 Pavel Roskin <proski@gnu.org>
34081
34082 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34083
dfe9ddd4 340842008-06-13 Bean <bean123ch@gmail.com>
34085
34086 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34087
34088 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34089
34090 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34091 to indicate sparse block.
34092
16ae7781 340932008-06-12 Pavel Roskin <proski@gnu.org>
34094
e6d1a308 34095 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34096 number, grub_fshelp_read() does it for us.
34097
16ae7781 34098 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34099 linear disk read with journal translation.
34100 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34101 * include/grub/fshelp.h: Declare grub_fshelp_read().
34102
40fd3a2b 341032008-06-09 Pavel Roskin <proski@gnu.org>
34104
34105 * fs/minix.c (grub_minix_mount): Handle error reading
34106 superblock.
34107
f5679726 341082008-06-08 Robert Millan <rmh@aybabtu.com>
34109
34110 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34111 don't append the RAID prefix afterwards.
34112 Reported by Clint Adams.
34113
ce525529 341142008-06-08 Robert Millan <rmh@aybabtu.com>
34115
34116 Based on description from Pavel:
34117 * kern/disk.c (grub_disk_check_range): Rename to ...
34118 (grub_disk_adjust_range): ... this. Add a comment explaining the
34119 tasks performed by this function.
34120
ad4936a0 341212008-06-08 Robert Millan <rmh@aybabtu.com>
34122
34123 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34124 `num_serial' (for consistency with other variables).
34125 (struct grub_ntfs_data): Add `uuid' member.
34126 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34127 (grub_ntfs_uuid): New function.
34128 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34129
dc20b0f9 341302008-06-07 Pavel Roskin <proski@gnu.org>
34131
34132 * util/biosdisk.c (open_device): Revert last change to the
34133 function, it broke installation. The sector needs to be
34134 different dependent on which device is opened.
34135
c5e3cfba 341362008-06-06 Robert Millan <rmh@aybabtu.com>
34137
34138 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34139 rest of GRUB, and breakage doesn't happen if its value were modified.
34140
34141 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34142 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34143 a constant (same value).
34144 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34145 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34146
26a1f8c4 341472008-06-06 Robert Millan <rmh@aybabtu.com>
34148
34149 * util/biosdisk.c (open_device): Do not modify sector offset when
34150 accessing a partition. kern/disk.c already handles this for us.
34151
25d6b327 341522008-06-06 Robert Millan <rmh@aybabtu.com>
34153
34154 * util/grub-emu.c (grub_machine_init): Move code in this function from
34155 here ...
34156 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34157 segfault in case grub_printf() is called).
34158
34159 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34160 grub_probe. Update all users not to explicitly add it again.
34161 (grub_device): New variable; contains corresponding device for grubdir.
34162 (fs_module, partmap_module, devabstraction_module): Pass
34163 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34164 every time.
34165
9ece62fb 341662008-06-05 Robert Millan <rmh@aybabtu.com>
34167
34168 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34169 is found, print it (same layout as with labels).
34170
1ad36d37 341712008-06-04 Robert Millan <rmh@aybabtu.com>
34172
34173 * util/biosdisk.c (get_drive): Rename to ...
34174 (find_grub_drive): ... this. Update all users.
34175
34176 (get_os_disk): Rename to ...
34177 (convert_system_partition_to_system_disk): ... this. Update all users.
34178
34179 (find_drive): Rename to ...
34180 (find_system_device): ... this. Update all users.
34181
e6a30859 341822008-06-04 Robert Millan <rmh@aybabtu.com>
34183
34184 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34185 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34186 (make_device_map): Likewise.
34187
00c108a4 341882008-06-01 Robert Millan <rmh@aybabtu.com>
34189
34190 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34191 before dereferencing it.
34192
34193 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34194 union with fat12/fat16-specific ones. Add some new fields, including
34195 `num_serial' for both versions.
34196 (struct grub_fat_data): Add `uuid' member.
34197 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34198 names. Initialize `data->uuid' using `num_serial'.
34199 (grub_fat_uuid): New function.
34200 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34201
34202 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34203 (grub_reiserfs_uuid): New function.
34204 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34205 member.
34206
34207 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34208 (grub_xfs_uuid): New function.
34209 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34210
1385c5bb 342112008-06-01 Robert Millan <rmh@aybabtu.com>
34212
34213 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34214 code that is backward compatible with pre-uuid search command.
34215
c682dfd7 342162008-05-31 Robert Millan <rmh@aybabtu.com>
34217
34218 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34219 floppies after everything else, to ensure floppy drive isn't accessed
34220 unnecessarily (patch from Bean).
34221
b7db5d47 342222008-05-31 Robert Millan <rmh@aybabtu.com>
34223
34224 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34225 not print device names when we were asked to set a variable.
34226
6e037aa9 342272008-05-31 Robert Millan <rmh@aybabtu.com>
34228
34229 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34230 using "cursor-on" and "cursor-off" commands (understood at least by
34231 the Open Firmware flavour on OLPC).
34232
41305bc8 342332008-05-31 Michael Gorven <michael@gorven.za.net>
34234
34235 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34236 on and off sequences.
34237
69ba137e 342382008-05-31 Robert Millan <rmh@aybabtu.com>
34239
34240 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34241 * util/update-grub.in: Likewise.
34242
520ae21b 342432008-05-30 Pavel Roskin <proski@gnu.org>
34244
34245 * util/biosdisk.c (linux_find_partition): Simplify logic and
34246 make the code more universal. Keep special processing for
34247 devfs, but use a simple rule for all other devices. If the
34248 device ends with a number, append 'p' and the partition number.
34249 Otherwise, append only the partition number.
34250
5786569b 342512008-05-30 Robert Millan <rmh@aybabtu.com>
34252
34253 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34254 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34255 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34256 the `root' parameter to Linux.
34257
51500452 342582008-05-30 Robert Millan <rmh@aybabtu.com>
34259
34260 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34261 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34262 --fs_uuid with --fs-uuid.
34263 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34264 all filesystems support them).
34265
811d3878 342662008-05-30 Robert Millan <rmh@aybabtu.com>
34267
34268 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34269 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34270
cab63c95 342712008-05-30 Robert Millan <rmh@aybabtu.com>
34272
34273 * util/grub.d/00_header.in: Remove obsolete comment referencing
34274 convert_system_path_to_grub_path().
34275 * util/update-grub.in: Likewise.
34276 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34277 (convert_system_path_to_grub_path): Add a warning message explaining
34278 that this function is deprecated. Rely on is_path_readable_by_grub()
34279 for the readability checks.
34280 (font_path): Use is_path_readable_by_grub() for the readability
34281 check rather than convert_system_path_to_grub_path().
34282
972e2f7a 342832008-05-30 Robert Millan <rmh@aybabtu.com>
34284
34285 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34286 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34287 converting it first.
34288 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34289 grub.cfg for access to font file, and afterwards call it again to set
34290 the root device.
34291
62191274 342922008-05-30 Robert Millan <rmh@aybabtu.com>
34293
34294 * commands/search.c (options): Add --fs_uuid option.
34295 (search_fs_uuid): New function.
34296 (grub_cmd_search): Fix --set argument passing.
34297 Use search_fs_uuid() when requested via --fs_uuid.
34298 (grub_search_init): Update help message.
34299 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34300 and redeclare it as an array of 16-bit words.
34301 (grub_ext2_uuid): New function.
34302 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34303 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34304 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34305 (GRUB_DEVICE_BOOT_UUID): New variables.
34306 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34307 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34308 whenever possible.
34309 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34310 just assume `root' variable has the right value.
34311 * util/grub.d/10_linux.in: Likewise.
34312 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34313 via PRINT_FS_UUID.
34314 (main): Recognise `-t fs_uuid' argument.
34315
01b73ec8 343162008-05-30 Robert Millan <rmh@aybabtu.com>
34317
34318 * util/biosdisk.c (map): Redefine structure to hold information
34319 about GRUB drive name.
fe6b695a 34320 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34321 drive names.
34322 (call_hook): Remove.
34323 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34324 member. Assume drive has partitions.
34325 (grub_util_biosdisk_open): Access device names via `.device' struct
34326 member.
34327 (open_device): Likewise.
34328 (find_drive): Likewise.
34329 (read_device_map): Adjust map[] usage to match the new struct
34330 definition. Don't check for duplicates (still possible, but not cheap
34331 anymore).
34332 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34333 (make_device_name): Remove assumption of BIOS-like drive names.
34334
22f16596 343352008-05-30 Pavel Roskin <proski@gnu.org>
34336
34337 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34338 compiling execute.c doesn't need grub_script.tab.h anymore.
34339 (normal/command.c_DEPENDENCIES): Likewise.
34340 (normal/function.c_DEPENDENCIES): Likewise.
34341 * conf/i386-ieee1275.rmk: Likewise.
34342 * conf/i386-linuxbios.rmk: Likewise.
34343 * conf/i386-pc.rmk: Likewise.
34344 * conf/powerpc-ieee1275.rmk: Likewise.
34345 * conf/sparc64-ieee1275.rmk: Likewise.
34346
528ad8f2 343472008-05-29 Pavel Roskin <proski@gnu.org>
34348
d1dff95d 34349 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34350 when scanning metadata for volume group name.
34351
528ad8f2 34352 * include/grub/script.h: Don't include grub_script.tab.h. It's
34353 a generated file, which may only be included from the files with
34354 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34355 use union YYSTYPE, as the later allows forward declaration.
34356 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34357
47248e08 343582008-05-29 Robert Millan <rmh@aybabtu.com>
34359
34360 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34361 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34362 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34363 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34364 scan codes.
34365
ee632529 343662008-05-29 Robert Millan <rmh@aybabtu.com>
34367
34368 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34369 control key combinations.
34370
eee96e08 343712008-05-29 Robert Millan <rmh@aybabtu.com>
34372
34373 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34374 * util/ieee1275/grub-install.in: ... to here.
34375 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34376 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34377 (grub_install_SOURCES): Likewise.
34378
da9a6a94 343792008-05-29 Robert Millan <rmh@aybabtu.com>
34380
34381 * fs/affs.c: Update copyright year.
34382 * fs/ext2.c: Likewise.
34383 * fs/fshelp.c: Likewise.
34384 * fs/hfsplus.c: Likewise.
34385 * fs/ntfs.c: Likewise.
34386 * fs/xfs.c: Likewise.
34387 * include/grub/fshelp.h: Likewise.
34388 * util/grub-mkdevicemap.c: Likewise.
34389
12e65f3a 343902008-05-28 Robert Millan <rmh@aybabtu.com>
34391
34392 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34393 might need to be fatfs to support some firmware implementations
34394 (e.g. OFW or EFI).
34395
23023641 343962008-05-28 Robert Millan <rmh@aybabtu.com>
34397
34398 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34399 devices.
34400 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34401 (make_device_map): Likewise.
34402
887d2619 344032008-05-20 Bean <bean123ch@gmail.com>
34404
34405 * fs/fshelp.c (grub_fshelp_map_block): New function.
34406 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34407 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34408
34409 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34410 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34411 (grub_fshelp_journal): New structure.
34412 (grub_fshelp_map_block): New function prototype.
34413 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34414 (grub_fshelp_map_block): Likewise.
34415
34416 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34417 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34418 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34419 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34420 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34421 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34422 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34423 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34424 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34425 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34426 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34427 (grub_ext2_sblock): New members for journal support.
34428 (grub_ext3_journal_header): New structure.
34429 (grub_ext3_journal_revoke_header): Likewise.
34430 (grub_ext3_journal_block_tag): Likewise.
34431 (grub_ext3_journal_sblock): Likewise.
34432 (grub_fshelp_node): New members logfile and journal.
34433 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34434 grub_fshelp_map_block to get real block number.
34435 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34436 number.
34437 (grub_ext2_read_inode): Likewise.
34438 (grub_ext3_get_journal): New function.
34439 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34440 (grub_ext2_close): Release memory used by journal.
34441
34442 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34443 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34444 (grub_reiserfs_transaction_header): Renamed to
34445 grub_reiserfs_description_block, replace field data with real_blocks.
34446 (grub_reiserfs_commit_block): New structure.
34447 (grub_reiserfs_data): New member journal.
34448 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34449 number.
34450 (grub_reiserfs_read_symlink): Likewise.
34451 (grub_reiserfs_iterate_dir): Likewise.
34452 (grub_reiserfs_open): Likewise.
34453 (grub_reiserfs_read): Likewise.
34454 (grub_reiserfs_get_journal): New function.
34455 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34456 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34457 using grub_reiserfs_get_journal.
34458 (grub_reiserfs_close): Release memory used by journal.
34459
34460 * fs/affs.c (grub_affs_read_block): Change block type to
34461 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34462
34463 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34464
34465 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34466
34467 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34468
34469 * fs/udf.c (grub_udf_read_block): Change block type to
34470 grub_disk_addr_t. Use type cast to avoid warning.
34471
34472 * fs/xfs.c (grub_xfs_read_block): Likewise.
34473
b7c6bed5 344742008-05-16 Christian Franke <franke@computer.org>
34475
34476 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34477 to ensure that break with ESC will always work.
34478 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34479 Remove ESC from keyboard queue.
34480
eedf167f 344812008-05-16 Christian Franke <franke@computer.org>
34482
34483 * util/biosdisk.c: [__CYGWIN__] Add includes.
34484 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34485 (get_os_disk): Move variable declarations to OS specific
34486 parts to avoid warning.
34487 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34488 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34489 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34490 Cygwin.
34491 * util/getroot.c: [__CYGWIN__] Add includes.
34492 (strip_extra_slashes): Fix "/" case.
34493 [__CYGWIN__] (get_win32_path): New function.
34494 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34495 [__CYGWIN__] (find_root_device): Disable.
34496 [__CYGWIN__] (get_bootsec_serial): New function.
34497 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34498 [__linux__] (grub_guess_root_device): Add early returns to simplify
34499 structure.
34500 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34501 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34502 check for Linux only.
34503
a079699e 345042008-05-15 Bean <bean123ch@gmail.com>
34505
34506 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34507 keyboard hang problem in apple's intel mac.
34508
1cf4059a 345092008-05-09 Robert Millan <rmh@aybabtu.com>
34510
34511 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34512 devices.
34513 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34514 (make_device_map): Likewise.
34515 Reported by Aurelien Jarno <aurel32@debian.org>
34516
ed759390 345172008-05-07 Ian Campbell <ijc@hellion.org.uk>
34518
34519 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34520 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34521 (make_device_map): Output entries for xvd type disks.
34522
b56c4eaa 345232008-05-07 Robert Millan <rmh@aybabtu.com>
34524
34525 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34526 devices.
34527 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34528 (make_device_map): Likewise.
34529 Reported by Roland Dreier <rdreier@cisco.com>
34530
7f8866ed 345312008-05-07 Robert Millan <rmh@aybabtu.com>
34532
34533 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34534 grub_strstr() call. Correct a few mistakes in failure path handling.
34535
b0346e0f 345362008-05-06 Robert Millan <rmh@aybabtu.com>
34537
34538 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34539 Do not print a trailing slash (therefore, the root directory is an
34540 empty string).
34541 (convert_system_path_to_grub_path): Do not remove trailing slash
34542 from make_system_path_relative_to_its_root() output.
34543
34544 * util/i386/pc/grub-install.in: Add trailing slash to output from
34545 make_system_path_relative_to_its_root().
34546
6cf12cbd 345472008-05-06 Robert Millan <rmh@aybabtu.com>
34548
34549 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34550 ensures that output lines aren't intermangled with those sent to
34551 stderr (via grub_util_info()).
34552 * util/grub-probe.c (grub_refresh): Likewise.
34553 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34554
0fbb3117 345552008-05-05 Christian Franke <franke@computer.org>
34556
34557 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34558 Add Cygwin device names.
34559 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34560 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34561 (check_device): Return error instead of success on empty name.
34562 (make_device_map): Move label inside linux specific code to
34563 prevent compiler warning.
34564
8124cdb7 345652008-04-30 Robert Millan <rmh@aybabtu.com>
34566
34567 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34568 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34569 first boot option.
34570 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34571
094c01d0 345722008-04-29 Robert Millan <rmh@aybabtu.com>
34573
34574 * docs/grub.cfg: New file (example GRUB configuration).
34575
f4b1fc02 345762008-04-26 Robert Millan <rmh@aybabtu.com>
34577
329ce2a5 34578 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34579 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34580 and `disk/ieee1275/nand.c'.
f4b1fc02 34581
25f16ec1 345822008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34583
25f16ec1 34584 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34585 i386-linuxbios.
34586
34587 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34588 change the buffer size to 4096 for cdrom device.
34589
34590 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34591 and nand.mod.
34592 (_linux_mod_SOURCES): New variable.
34593 (_linux_mod_CFLAGS): Likewise.
34594 (_linux_mod_LDFLAGS): Likewise.
34595 (linux_mod_SOURCES): Likewise.
34596 (linux_mod_CFLAGS): Likewise.
34597 (linux_mod_LDFLAGS): Likewise.
34598 (nand_mod_SOURCES): Likewise.
34599 (nand_mod_CFLAGS): Likewise.
34600 (nand_mod_LDFLAGS): Likewise.
34601
34602 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34603 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34604 type property. (nand device in olpc don't have this property)
34605
34606 * include/grub/disk.h (grub_disk_dev_id): New macro
34607 GRUB_DISK_DEVICE_NAND_ID.
34608
34609 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34610 function prototype.
34611 (grub_rescue_cmd_initrd): Likewise.
34612
34613 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34614 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34615 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34616
25f16ec1 34617 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34618 GRUB_MACHINE_IEEE1275 is defined.
34619
34620 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34621 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34622
34623 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34624 on nested function heap_init.
34625 (grub_upper_mem): New variable for i386-ieee1275.
34626 (grub_get_extended_memory): New function for i386-ieee1275.
34627 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34628
34629 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34630 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34631 property.
f19dbdb7 34632
25f16ec1 34633 * loader/i386/ieee1275/linux.c: New file.
34634
34635 * loader/i386/ieee1275/linux_normal.c: New file.
34636
34637 * disk/ieee1275/nand.c: New file.
34638
e89d61e9 346392008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34640
34641 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34642 value.
34643 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34644
602566f6 346452008-04-18 Robert Millan <rmh@aybabtu.com>
34646
34647 Restructures early code path on ieee1275 to unify grub_main() as
34648 the first C function that is executed in every platform.
34649
34650 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34651 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34652 cmain().
34653 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34654 * kern/ieee1275/cmain.c (cmain): Rename to ...
34655 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34656 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34657 at the beginning.
34658
57490c2b 346592008-04-18 Robert Millan <rmh@aybabtu.com>
34660
34661 * util/update-grub.in: Fix syntax error when setting
34662 `GRUB_PRELOAD_MODULES'.
34663 Reported by Stephane Chazelas <stephane@artesyncp.com>
34664
1977517d 346652008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34666
34667 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34668 section into account, newer toolchains generate unique build ids
34669 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34670 we want build ids to be preserved
1977517d 34671 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34672 far from other sections don't cause the raw binary images grow
34673 size
34674
bfb1f1a2 346752008-04-15 Robert Millan <rmh@aybabtu.com>
34676
34677 * disk/lvm.c: Update copyright year.
34678 * kern/misc.c: Likewise.
34679
01979850 346802008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34681
34682 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34683 there is no memory left for physical volume name.
01979850 34684
0a1150e2 346852008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34686
34687 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34688 volume name mapping to support bigger than 9 character names properly.
34689
82ead3fe 346902008-04-13 Robert Millan <rmh@aybabtu.com>
34691
34692 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34693 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34694
e54a72f5 346952008-04-13 Christian Franke <franke@computer.org>
34696
34697 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34698 to create a floppy emulation boot CD when non emulation mode
34699 does not work.
34700 Enable Joliet CD filesystem extension.
34701
9fe86034 347022008-04-13 Robert Millan <rmh@aybabtu.com>
34703
34704 * kern/misc.c (grub_strncat): Fix off-by-one error.
34705 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34706
34707 * kern/env.c (grub_env_context_close): Clear current context, not
34708 previous one.
34709 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34710
34711 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34712
7ceeee39 347132008-04-13 Robert Millan <rmh@aybabtu.com>
34714
34715 Improve robustness when handling LVM.
34716
34717 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34718 (and leave `*p' unmodified).
7ceeee39 34719 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34720 through it.
34721 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34722 iterating through it.
34723 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34724 through it.
fe6b695a 34725 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34726 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34727 Don't assume `vg->pvs != NULL' when iterating through it.
34728
58cd3d85 347292008-04-13 Robert Millan <rmh@aybabtu.com>
34730
34731 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34732 * genmk.rb (partmap): New variable.
34733 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34734 (#{partmap}): New target rule.
34735 * genpartmaplist.sh: New file.
34736 * Makefile.in (pkglib_DATA): Add partmap.lst.
34737 (partmap.lst): New target rule.
34738 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34739 modules (including all partition maps), instead of preloading them.
34740
78b51059 347412007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34742
34743 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34744 `linux-boot-prober' (if installed) to detect other operating
34745 systems which are installed on the computer and add them to
34746 the boot menu.
34747 * conf/common.rmk: Build and install 30_os-prober.
34748
a91627b4 347492008-04-12 Robert Millan <rmh@aybabtu.com>
34750
34751 * kern/powerpc/ieee1275/init.c: Move from here ...
34752 * kern/ieee1275/init.c: ... to here. Update all users.
34753
34754 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34755 * kern/ieee1275/cmain.c: ... to here. Update all users.
34756
34757 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34758 * kern/ieee1275/openfw.c: ... to here. Update all users.
34759
34760 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34761 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34762
322562ea 347632008-04-10 Pavel Roskin <proski@gnu.org>
34764
34765 * configure.ac: Always use "_cv_" in cache variables for
34766 compatibility with Autoconf 2.62.
34767
a02a73c5 347682008-04-07 Robert Millan <rmh@aybabtu.com>
34769
34770 Revert grub/machine/init.h addition by Pavel (since it breaks on
34771 i386-ieee1275 and others):
34772 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34773 * util/powerpc/ieee1275/misc.c: Likewise.
34774
25c024b1 347752008-04-07 Robert Millan <rmh@aybabtu.com>
34776
34777 * util/grub-probe.c (probe): Improve error message.
34778
3cbd2f98 347792008-04-07 Robert Millan <rmh@aybabtu.com>
34780
34781 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34782 (this prevents the presence of a bogus entry from ruining the whole
34783 thing).
34784
87a297bf 347852008-04-06 Pavel Roskin <proski@gnu.org>
34786
36747a62 34787 * util/biosdisk.c: Include grub/util/biosdisk.h.
34788 * util/grub-fstest.c (execute_command): Make static.
34789 * util/grub-mkdevicemap.c (check_device): Likewise.
34790 * util/i386/pc/misc.c: Include grub/machine/init.h.
34791 * util/powerpc/ieee1275/misc.c: Likewise.
34792 * util/lvm.c: Include grub/util/lvm.h.
34793 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34794 grub/cache.h.
34795 * util/raid.c: Include grub/util/raid.h.
34796 (grub_util_getdiskname): Make static.
34797
87a297bf 34798 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34799 grub_hostfs_fini(), as they are called from grub_init_all() and
34800 grub_fini_all() respectively. This fixes an infinite loop in
34801 grub-fstest due to double registration of hostfs.
34802 Reported by Christian Franke <Christian.Franke@t-online.de>
34803
f6ce7629 348042008-04-05 Pavel Roskin <proski@gnu.org>
34805
34806 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34807 all 8 functions. Otherwise, probe function 0 only.
34808
070e49e4 348092008-04-04 Pavel Roskin <proski@gnu.org>
34810
8b088a4c 34811 * commands/lspci.c (grub_lspci_iter): Print the bus number
34812 correctly.
34813
4f657021 34814 * commands/lspci.c (grub_pci_classes): Fix typos.
34815 (grub_lspci_iter): Don't print func twice. Print vendor ID
34816 before device ID, as it's normally done.
34817
070e49e4 34818 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34819 Fix signedness warnings.
34820 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34821 Likewise.
34822 * util/ieee1275/get_disk_name.c: Include config.h so that
34823 _GNU_SOURCE is defined and getline() is declared. Mark an
34824 unused argument as such. Fix a signedness warning.
34825
ba7328dc 348262008-04-02 Pavel Roskin <proski@gnu.org>
34827
26887f22 34828 * genkernsyms.sh.in: Use more robust assignments for CC and
34829 srcdir. Quote srcdir.
34830 * gensymlist.sh.in: Likewise. Assert at the compile time that
34831 the symbol table is not empty.
34832
ba7328dc 34833 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34834 * fs/cpio.c (grub_cpio_read): Likewise.
34835
0f582c6b 348362008-04-01 Pavel Roskin <proski@gnu.org>
34837
4b6e1995 34838 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34839 * disk/host.c (grub_host_open): Likewise.
34840 * disk/loopback.c (grub_loopback_open): Likewise.
34841 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34842 disk->id as in disk/host.c, not a multi-character constant.
34843
828a2768 34844 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34845 later is obsolete, potentially dangerous and sets a bad example.
34846 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34847 * util/misc.c (grub_util_get_image_size): Likewise.
34848
2bb4fb47 34849 * disk/loopback.c (options): Improve help for "--partitions".
34850
0f582c6b 34851 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34852 options to align them with the short options, e.g. "echo -e".
34853
a33224e0 348542008-03-31 Bean <bean123ch@gmail.com>
34855
34856 * video/reader/png.c (grub_png_data): New member is_16bit and
34857 image_data.
34858 (grub_png_decode_image_header): Detect 16 bit png image.
34859 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34860 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34861 (grub_video_reader_png): Release memory occupied by image_data.
34862
34863 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34864 4096 bytes.
34865 (grub_nfs_mount): Skip the test for sector per cluster.
34866
34867 * include/grub/ntfs.h (MAX_SPC): Removed.
34868
86cb4f54 348692008-03-31 Bean <bean123ch@gmail.com>
34870
34871 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34872 (grub_probe_SOURCES): Add fs/afs.c.
34873 (grub_fstest_SOURCES): Likewise.
34874 (afs_mod_SOURCES): New variable.
34875 (afs_mod_CFLAGS): Likewise.
34876 (afs_mod_LDFLAGS): Likewise.
34877
34878 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34879 (grub_emu_SOURCES): Likewise.
34880
34881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34882
34883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34884
34885 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34886
34887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34888
34889 * fs/afs.c: New file.
34890
17c74c21 348912008-03-30 Pavel Roskin <proski@gnu.org>
34892
4cb68e89 34893 * disk/host.c: Include grub/misc.h to fix a warning.
34894 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34895 warnings about implicit declarations.
34896
8790bb04 34897 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34898 variable.
34899 * include/grub/i386/loader.h: Change declaration of
34900 grub_linux_boot() to match what grub_loader_set() expects.
34901 * util/getroot.c (grub_guess_root_device): Return const char* to
34902 fix a warning.
34903 * util/grub-probe.c (probe): Fix a warning about uninitialized
34904 abstraction_name variable.
34905 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34906 second argument as unused to fix a warning.
34907
9a3f3296 34908 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34909 missing grub_error() call.
34910
0ecef90d 34911 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34912 2.60 and newer uses it to define datadir.
34913
0bf6d401 34914 * commands/sleep.c: Fix warning about implicit declaration.
34915 * disk/memdisk.c: Likewise.
34916 * loader/aout.c: Likewise.
34917 * loader/i386/bsd_normal.c: Likewise.
34918 * util/grub-probe.c: Likewise.
34919
7cdacf97 34920 * commands/i386/cpuid.c (has_longmode): Make static.
34921 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34922 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34923
17c74c21 34924 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34925 GDT. This is more robust, as %ds can change.
34926 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34927 calling real_to_prot().
34928 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34929
80a3e68b 349302008-03-28 Pavel Roskin <proski@gnu.org>
34931
34932 * kern/i386/pc/startup.S: Assert that uncompressed functions
34933 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34934 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34935 code, as they push parts of the code (error handlers) beyond
34936 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34937 code as correctness and size.
34938
77bcd272 349392008-03-28 Pavel Roskin <proski@gnu.org>
34940
34941 * kern/i386/pc/startup.S
34942 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34943 data block address to the real mode, keep offset minimal. This
34944 works around a bug in AWARD BIOS on old Athlon systems, which
34945 makes CD detection hang.
34946
c5dfd43b 349472008-03-26 Pavel Roskin <proski@gnu.org>
34948
34949 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34950 const.
34951 * include/grub/normal.h: Add grub_parse_color_name_pair()
34952 declaration.
34953
bf962df2 349542008-03-24 Bean <bean123ch@gmail.com>
34955
34956 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34957 (cd_count): Removed.
34958 (cd_drive): New variable.
34959 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34960 (grub_biosdisk_call_hook): Likewise.
34961 (grub_biosdisk_iterate): Change cdrom detection method.
34962 (grub_biosdisk_open): Replace cd_start with cd_drive.
34963 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34964 detect cdrom device.
34965
34966 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34967 Removed.
34968 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34969 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34970 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34971 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34972 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34973 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34974 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34975 (grub_biosdisk_cdrp): New structure.
34976 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34977
34978 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34979
34980 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34981 device.
34982
34983 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34984 New function.
34985
68e7fc7a 349862008-03-20 Robert Millan <rmh@aybabtu.com>
34987
34988 Remove 2 TiB limit in ata.mod.
34989 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34990 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34991 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34992 grub_uint64_t instead of grub_uint32_t.
34993
38ad2cf5 349942008-03-05 Bean <bean123ch@gmail.com>
34995
34996 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34997 (grub_multiboot): Set boot device.
34998
34999 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35000
2b89344e 350012008-03-02 Bean <bean123ch@gmail.com>
35002
35003 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35004 symlink_buffer.
35005
87a95d1f 350062008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35007
35008 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35009 texinfo.tex.
35010
35011 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35012 modified.
35013
35014 * docs/fdl.texi: New file.
f19dbdb7 35015
87a95d1f 35016 * docs/mdate-sh: New file. Copied from gnulib.
35017 * docs/texinfo.tex: Likewise.
35018
35019 * config.guess: Updated from gnulib.
35020 * install-sh: Likewise.
35021
7dc15d8e 350222008-02-28 Robert Millan <rmh@aybabtu.com>
35023
35024 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35025 (aout_mod_SOURCES): New variable.
35026 (aout_mod_CFLAGS): Likewise.
35027 (aout_mod_LDFLAGS): Likewise.
35028
35029 * conf/i386-ieee1275.rmk: Likewise.
35030
b00ab696 350312008-02-28 Robert Millan <rmh@aybabtu.com>
35032
35033 * util/update-grub.in: Reorganise terminal validity check. Accept
35034 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35035 Based on suggestion by Franklin PIAT.
35036
79ca2d78 350372008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35038
35039 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35040 function.
35041 * util/getroot.c (grub_util_check_block_device): New function that
35042 returns the given argument if it is a block device and returns NULL else.
35043 * util/grub-probe.c (argument_is_device): New variable.
35044 (probe): Promote device_name from a variable to an argument. Receive
35045 device_name from grub_util_check_block_device() if path is NULL and from
35046 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35047 (options): Introduce new parameter '-d, --device'.
79ca2d78 35048 (main): Add description of the new parameter to the help screen.
35049 Rename path variable to argument. Set argument_is_device if the '-d'
35050 option is given. Pass argument to probe() depending on
35051 argument_is_device.
35052
0d16e571 350532008-02-24 Bean <bean123ch@gmail.com>
35054
35055 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35056 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35057 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35058 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35059 (GRUB_ISO9660_VOLDESC_END): Likewise.
35060 (grub_iso9660_primary_voldesc): New member escape.
35061 (grub_iso9660_data): New member joliet.
35062 (grub_iso9660_convert_string): New function.
35063 (grub_iso9660_mount): Detect joliet extension.
35064 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35065 (grub_iso9660_iso9660_label): Likewise.
35066
35067 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35068 (grub_setup_SOURCES): Add fs/udf.c.
35069 (grub_fstest_SOURCES): Likewise.
35070 (udf_mod_SOURCES): New variable.
35071 (udf_mod_CFLAGS): Likewise.
35072 (udf_mod_LDFLAGS): Likewise.
35073
35074 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35075 (grub_emu_SOURCES): Likewise.
35076
35077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35078
35079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35080
35081 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35082
35083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35084
35085 * fs/udf.c: New file.
35086
8a594a17 350872008-02-24 Robert Millan <rmh@aybabtu.com>
35088
35089 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35090 (normal/lexer.c_DEPENDENCIES): New variables.
35091 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35092 (normal/lexer.c_DEPENDENCIES): Likewise.
35093 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35094 (normal/lexer.c_DEPENDENCIES): Likewise.
35095 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35096 (normal/lexer.c_DEPENDENCIES): Likewise.
35097 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35098 (normal/lexer.c_DEPENDENCIES): Likewise.
35099 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35100 (normal/lexer.c_DEPENDENCIES): Likewise.
35101
2dc33c03 351022008-02-23 Robert Millan <rmh@aybabtu.com>
35103
35104 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35105 since they were intended to be in hex. This didn't break previously
35106 because of a bug in gpt_partition_map_iterate() (see below).
35107
35108 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35109 when checking the validity of GPT header.
35110 Remove `partno', since it always provides the same information as `i'.
35111
f6f4cfb0 351122008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35113
35114 * include/grub/efi/time.h: Fix a wrong comment.
35115
79ff665f 351162008-02-19 Pavel Roskin <proski@gnu.org>
35117
35118 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35119 message.
35120
d38e24c2 351212008-02-19 Bean <bean123ch@gmail.com>
35122
35123 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35124 (aout_mod_SOURCES): New variable.
35125 (aout_mod_CFLAGS): Likewise.
35126 (aout_mod_LDFLAGS): Likewise.
35127 (_bsd_mod_SOURCES): New variable.
35128 (_bsd_mod_CFLAGS): Likewise.
35129 (_bsd_mod_LDFLAGS): Likewise.
35130 (bsd_mod_SOURCES): New variable.
35131 (bsd_mod_CFLAGS): Likewise.
35132 (bsd_mod_LDFLAGS): Likewise.
35133
35134 * include/grub/aout.h: New file.
35135
35136 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35137
35138 * include/grub/i386/bsd.h: New file.
35139
35140 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35141 to make it public.
35142
35143 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35144 function is called, so that it's possible to change it inside the hook.
35145 (grub_elf64_load): Likewise.
35146 (grub_elf_file): Don't close the file if elf header is not found.
35147 (grub_elf_close): Close the file if grub_elf_file fails (The new
35148 grub_elf_file won't close it).
35149 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35150 (grub_elf64_size): Likewise.
35151
35152 * kern/i386/loader.S (grub_unix_real_boot): New function.
35153
35154 * loader/aout.c: New file.
35155
35156 * loader/i386/bsd.c: New file.
35157
35158 * loader/i386/bsd_normal.c: New file.
35159
35160 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35161
35162 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35163 can test other formats.
d38e24c2 35164
b93bdb0f 351652008-02-19 Robert Millan <rmh@aybabtu.com>
35166
35167 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35168 (grub_gpt_partition_type_empty): Redefine with macro from
35169 `<grub/gpt_partition.h>'.
35170 (gpt_partition_map_iterate): Adjust partition type comparison.
35171
35172 Export `entry' as partmap-specific `part.data' struct.
35173 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35174
35175 * include/grub/gpt_partition.h (grub_gpt_header)
35176 (grub_gpt_partentry): ... to here (new file).
35177
35178 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35179
35180 (grub_gpt_partition_type_bios_boot): New const variable, defined
35181 with macro from `<grub/gpt_partition.h>'.
35182
35183 (setup): Replace `first_start' with `embed_region', which keeps
35184 track of the embed region (and is partmap-agnostic).
35185
35186 Replace find_first_partition_start() with find_usable_region(),
35187 which finds a usable region for embedding using partmap-specific
35188 knowledge (supports PC/MSDOS and GPT).
35189
35190 Fix all assumptions that the embed region start at sector 1, using
35191 `embed_region.start' from now on. Similarly, use `embed_region.end'
35192 rather than `first_start' to calculate available size.
35193
35194 In grub_util_info() message, replace "into after the MBR" with an
35195 indication of the specific sector our embed region starts at.
35196
66cb40f6 351972008-02-19 Robert Millan <rmh@aybabtu.com>
35198
35199 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35200 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35201 `commands/reboot.c'.
35202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35203 (halt_mod_SOURCES): Likewise.
35204 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35205 (halt_mod_SOURCES): Likewise.
35206
b7202015 352072008-02-17 Christian Franke <franke@computer.org>
35208
35209 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35210
32b0fc49 352112008-02-17 Robert Millan <rmh@aybabtu.com>
35212
35213 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35214 set `first_start' to 0 for non-PC/MSDOS partition maps.
35215
aca63502 352162008-02-16 Robert Millan <rmh@aybabtu.com>
35217
35218 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35219 do not assume partition map is PC/MSDOS before performing checks that
35220 are specific to that layout.
35221
0de8be86 352222008-02-13 Robert Millan <rmh@aybabtu.com>
35223
35224 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35225 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35226 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35227
c3db8364 352282008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35229
35230 * configure.ac: Only a cosmetic change on the handling of
35231 -fno-stack-protector.
35232
f714229e 352332008-02-12 Alexandre Boeglin <alex@boeglin.org>
35234
c3db8364 35235 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35236 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35237 reboot.c.
f714229e 35238 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35239 (halt_mod_SOURCES): New variable.
35240 (halt_mod_CFLAGS): Likewise.
35241 (halt_mod_LDFLAGS): Likewise.
35242 (reboot_mod_SOURCES): Likewise.
35243 (reboot_mod_CFLAGS): Likewise.
35244 (reboot_mod_LDFLAGS): Likewise.
35245
c3db8364 35246 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35247 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35248 reboot.c.
f714229e 35249 (halt_mod_SOURCES): Likewise.
35250 (reboot_mod_SOURCES): Likewise.
35251
c3db8364 35252 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35253 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35254 (reboot_mod_SOURCES): Likewise.
35255
35256 * commands/i386/pc/reboot.c: merge this file ...
35257
35258 * commands/ieee1275/reboot.c: ... and this file ...
35259
35260 * commands/reboot.c: ... to this file.
c3db8364 35261 Add some precompiler directive to include the correct header for
35262 each machine.
f714229e 35263
35264 * commands/ieee1275/halt.c: move this file ...
35265
35266 * commands/halt.c: ... to here.
c3db8364 35267 Add some precompiler directive to include the correct header for
35268 each machine.
f714229e 35269
35270 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35271 (grub_halt): Likewise.
35272
35273 * kern/efi/efi.c (grub_reboot): New function.
35274 (grub_halt): Likewise.
35275
c74493e0 352762008-02-12 Robert Millan <rmh@aybabtu.com>
35277
35278 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35279 /dev (like it is done for /dev/mapper). This doesn't provide support
35280 for EVMS, but at least it is now easy to identify the problem when it
35281 arises.
35282
d0db4b04 352832008-02-11 Robert Millan <rmh@aybabtu.com>
35284
35285 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35286 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35287 comparing it with -1, not 0.
35288
bf748642 352892008-02-10 Robert Millan <rmh@aybabtu.com>
35290
35291 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35292 `disk/lvm.c'.
35293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35294 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35295
35296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35297 `disk/lvm.c' to the end of the list.
35298 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35300
b5db202a 353012008-02-10 Robert Millan <rmh@aybabtu.com>
35302
35303 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35304 grub_print_error() instead. This will let user know why we're entering
35305 rescue mode.
35306 Based on suggestions from Sam Morris.
35307
83abee31 353082008-02-10 Alexandre Boeglin <alex@boeglin.org>
35309
35310 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35311 on remaining N args, instead of "--" arg N times.
35312
78d5a08b 353132008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35314
35315 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35316 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35317 pattern for unknown glyphs.
35318
68807e5f 353192008-02-09 Robert Millan <rmh@aybabtu.com>
35320
35321 * configure.ac: Probe for `help2man'.
35322 * Makefile.in (builddir): New variable.
35323 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35324 or otherwise add a few flags/options to it.
35325 (install-local): For every executable utility or script that is
35326 installed, invoke $(HELP2MAN) to install a manpage based on --help
35327 output.
35328
35329 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35330 that it doesn't prevent --help from working in build tree.
35331
35332 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35333 with `bug-grub@gnu.org'.
35334 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35335 * util/update-grub.in (usage): New function.
35336 Implement proper argument check, with support for --help and --version
35337 (as well as existing -y).
35338
353392008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35340
35341 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35342 avoid overwriting previous output.
35343 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35344
c1962162 353452008-02-09 Robert Millan <rmh@aybabtu.com>
35346
35347 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35348 drawing the menu.
35349
3dac2e3f 353502008-02-09 Robert Millan <rmh@aybabtu.com>
35351
35352 * commands/sleep.c: New file.
35353 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35354 (sleep_mod_SOURCES): New variable.
35355 (sleep_mod_CFLAGS): Likewise.
35356 (sleep_mod_LDFLAGS): Likewise.
35357
7a634e08 353582008-02-09 Robert Millan <rmh@aybabtu.com>
35359
35360 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35361 situations in which we can deduce the RAID size and the superblock
35362 doesn't match it.
35363
b92f0c18 353642008-02-09 Robert Millan <rmh@aybabtu.com>
35365
35366 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35367 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35368 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35369
35370 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35371 and return a grub_diskmemberlist_t composed of physical array members.
35372 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35373
35374 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35375 prototype.
35376 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35377 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35378 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35379
35380 * util/grub-probe.c (probe): Move partmap probing code from here ...
35381 (probe_partmap): ... to here.
35382 (probe): Use probe_partmap() once for the disk we're probing, and
35383 additionally, when such disk contains a memberlist() struct member,
35384 once for each disk that is contained in the structure returned by
35385 memberlist().
35386
91a4bf68 353872008-02-09 Robert Millan <rmh@aybabtu.com>
35388
35389 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35390 environment variable to 'all' in order to obtain debug output from
35391 non-util/ code.
35392 * util/i386/pc/grub-setup.c (main): Likewise.
35393
a96f9caa 353942008-02-08 Robert Millan <rmh@aybabtu.com>
35395
35396 * disk/raid.c (grub_raid_scan_device): Check for
35397 `array->device[sb.this_disk.number]' rather than for
35398 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35399 guaranteed to be accessible.
a96f9caa 35400
b37a9222 354012008-02-08 Robert Millan <rmh@aybabtu.com>
35402
35403 * disk/raid.c: Update copyright.
35404 * fs/cpio.c: Likewise.
35405 * include/grub/raid.h: Likewise.
35406 * loader/i386/pc/multiboot.c: Likewise.
35407 * util/hostfs.c: Likewise.
35408
5626aee1 354092008-02-08 Robert Millan <rmh@aybabtu.com>
35410
35411 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35412 to a grub_disk_t array.
35413 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35414 `device[x]'.
35415 (grub_raid_scan_device): Replace `device[x].name' accesses with
35416 `device[x]->name'. Simplify initialization of `array->device[x]'.
35417
554f0187 354182008-02-08 Robert Millan <rmh@aybabtu.com>
35419
35420 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35421 grub_dprintf() calls.
35422 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35423 error message.
35424
1ec8425d 354252008-02-07 Christian Franke <franke@computer.org>
35426
35427 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35428 instead of fseek and ftell to support large files.
35429 (grub_hostfs_read): Likewise.
35430
f2156fda 354312008-02-07 Robert Millan <rmh@aybabtu.com>
35432
35433 Patch from Jeroen Dekkers.
35434 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35435 failure, since successfully reading all array members might not be
f2156fda 35436 required.
35437
9216e0e7 354382008-02-06 Robert Millan <rmh@aybabtu.com>
35439
35440 * util/grub-probe.c (probe): Simplify partmap probing (with the
35441 assumption that the first word up to the underscore equals to
35442 the module name).
35443
b0dfd29a 354442008-02-06 Christian Franke <franke@computer.org>
35445
35446 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35447 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35448 last block of a cpio or tar stream.
35449 Check for "TRAILER!!!" instead of any empty data
35450 block to detect last block of a cpio stream.
35451 (grub_cpio_dir): Fix constness of variable np.
35452 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35453 cpio or tar trailer is detected. This fixes a crash
35454 on open of a non existing file.
35455
c32865bf 354562008-02-05 Bean <bean123ch@gmail.com>
35457
35458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35459 address of entry.
35460 (grub_multiboot_load_elf64): Likewise.
35461 (grub_multiboot): Initialize mbi structure.
35462
35463 * util/grub-fstest.c: Don't include unused header file script.h.
35464
fe6b695a 35465 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35466 of file.
35467 (grub_fstest_SOURCES): Likewise.
35468
409480b7 354692008-02-05 Robert Millan <rmh@aybabtu.com>
35470
35471 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35472 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35473 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35474 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35475
35476 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35477 (translation_table): Replace hardcoded values with macros
35478 provided by `<grub/term.h>'.
35479
35480 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35481 (keyboard_map): Correct/add a few values, with macros provided
35482 by `<grub/term.h>'.
35483 (keyboard_map_shift): Zero values that don't differ from their
35484 `keyboard_map' equivalents.
35485 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35486 Discard the second scan code that is always sent by Caps lock.
35487 Only use `keyboard_map_shift' when it provides a non-zero value,
35488 otherwise fallback to `keyboard_map'.
35489
99fadbaa 354902008-02-04 Bean <bean123ch@gmail.com>
35491
35492 * Makefile.in (enable_grub_fstest): New variable.
35493
35494 * conf/common.rmk (grub_fstest_init.lst): New rule.
35495 (grub_fstest_init.h): Likewise.
35496 (grub_fstest_init.c): Likewise.
35497 (util/grub-fstest.c_DEPENDENCIES): New variable.
35498 (grub_fstest_SOURCES): Likewise.
35499
35500 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35501
35502 * util/grub-fstest.c: New file.
35503
bf567c50 355042008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35505
35506 Make grub-setup handle a separate root device.
f19dbdb7 35507
bf567c50 35508 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35509 so that the root device can be compared with the destination
35510 device.
35511 When embedding the core image, if the root and destination devices
35512 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35513 0xFF.
35514 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35515
9be6b98b 355162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35517
35518 Add support for having a grub directory in a different drive. This
35519 is still only the data handling part.
f19dbdb7 35520
9be6b98b 35521 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35522 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35523 (grub_root_drive): New variable.
35524
35525 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35526 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35527 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35528 as it was.
35529
35530 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35531
35532 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35533 macro.
35534 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35535
35536 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35537 is bogus, because PXE booting does not specify any drive
35538 correctly.
35539
35540 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35541 am not sure if this is really correct.
35542
35543 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35544 is always identical to the boot drive when booting from a CD.
35545
35546 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35547 longer.
35548 (root_drive): New variable.
35549 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35550 (setup_sectors): Push %dx right after popping it, because %dh will
35551 be modified later.
35552 (copy_buffer): Restore %dx.
35553
e0ca0677 355542008-02-03 Robert Millan <rmh@aybabtu.com>
35555
35556 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35557 use `cdboot.img' for cdrom images.
35558
3b3f6629 355592008-02-03 Robert Millan <rmh@aybabtu.com>
35560
35561 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35562 only setup gfxterm when `font' command has succeeded.
35563
d42b3672 355642008-02-03 Robert Millan <rmh@aybabtu.com>
35565
35566 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35567 (grub_rescue_cmd_multiboot_loader)
35568 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35569
fa370ea6 355702008-02-03 Pavel Roskin <proski@gnu.org>
35571
e0c5dacb 35572 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35573 %edx and %esi from stack only after grub_gate_a20() is called.
35574 grub_gate_a20() clobbers %edx.
35575
f2a76e1d 355762008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35577
35578 * configure.ac (AC_INIT): Bumped to 1.96.
35579
35580 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35581 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35582 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35583 video/readers/png.c.
35584
90fd32d1 355852008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35586
35587 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35588 (cdboot_img_SOURCES): New variable.
35589 (cdboot_img_ASFLAGS): New variable.
35590 (cdboot_img_LDFLAGS): New variable.
35591
35592 * boot/i386/pc/cdboot.S: New file.
35593
35594 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35595 (cd_count): Likewise.
35596 (grub_biosdisk_get_drive): Add support for cd device.
35597 (grub_biosdisk_call_hook): Likewise.
35598 (grub_biosdisk_iterate): Likewise.
35599 (grub_biosdisk_open): Likewise.
35600 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35601 (grub_biosdisk_rw): Support reading from cd device.
35602 (GRUB_MOD_INIT): Iterate cd devices.
35603
35604 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35605 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35606 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35607
35608 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35609
4020aa53 356102008-02-02 Robert Millan <rmh@aybabtu.com>
35611
35612 * commands/read.c: New file.
35613 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35614 (read_mod_SOURCES): New variable.
35615 (read_mod_CFLAGS): Likewise.
35616 (read_mod_LDFLAGS): Likewise.
35617
e03a1132 356182008-02-02 Robert Millan <rmh@aybabtu.com>
35619
35620 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35621 determining whether menu has to be displayed.
35622
58c69220 356232008-02-02 Marco Gerards <marco@gnu.org>
35624
35625 * bus/pci.c: New file.
35626
35627 * include/grub/pci.h: Likewise.
35628
35629 * include/grub/i386/pc/pci.h: Likewise.
35630
35631 * commands/lspci.c: Likewise.
35632
35633 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35634 `lspci.mod'.
35635 (pci_mod_SOURCES): New variable.
35636 (pci_mod_CFLAGS): Likewise.
35637 (pci_mod_LDFLAGS): Likewise.
35638 (lspci_mod_SOURCES): Likewise.
35639 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35640 (lspci_mod_LDFLAGS): Likewise.
58c69220 35641
c004e1b4 356422008-02-02 Bean <bean123ch@gmail.com>
35643
35644 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35645 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35646
35647 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35648 (grub_xfs_btree_node): New structure.
35649 (grub_xfs_btree_root): New structure.
35650 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35651 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35652 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35653 (GRUB_XFS_EXTENT_SIZE): Likewise.
35654 (grub_xfs_read_block): Support btree format type.
35655 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35656 Use directory block as basic unit.
35657
35658 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35659
35660 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35661 __attribute__ ((__regparm__ (1))).
35662
f95562bf 356632008-02-01 Robert Millan <rmh@aybabtu.com>
35664
35665 Correct a mistake in previous commit.
35666
35667 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35668 top.
35669 (normal/command.c_DEPENDENCIES): New variable.
35670
7d31f41f 356712008-02-01 Robert Millan <rmh@aybabtu.com>
35672
35673 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35674 top.
35675 (normal/command.c_DEPENDENCIES): New variable.
35676 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35677 * conf/i386-ieee1275.rmk: Likewise.
35678 * conf/i386-linuxbios.rmk: Likewise.
35679 * conf/i386-pc.rmk: Likewise.
35680 * conf/sparc64-ieee1275.rmk: Likewise.
35681 * conf/powerpc-ieee1275.rmk: Likewise.
35682 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35683
35684 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35685
60b6be74 356862008-02-01 Robert Millan <rmh@aybabtu.com>
35687
35688 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35689 call at beginning of function.
35690
078522ab 356912008-01-31 Pavel Roskin <proski@gnu.org>
35692
35693 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35694 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35695 (grub_mkrescue_SOURCES): Likewise.
078522ab 35696 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35697
ccaa8a5f 356982008-01-30 Robert Millan <rmh@aybabtu.com>
35699
35700 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35701 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35702 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35703 (grub_probe_SOURCES): ... to here.
35704
35705 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35706 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35707 * conf/i386-ieee1275.rmk: Likewise.
35708 * conf/i386-linuxbios.rmk: Likewise.
35709 * conf/powerpc-ieee1275.rmk: Likewise.
35710
ae5a9cd7 357112008-01-30 Tristan Gingold <gingold@free.fr>
35712
35713 * kern/rescue.c: Silently accept empty lines.
35714
70bc2ef2 357152008-01-29 Bean <bean123ch@gmail.com>
35716
35717 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35718 (real_code_2): Code cleanup and change comment style.
35719 (move_memory): Avoid using 32-bit address mode.
35720
6a4d50ea 357212008-01-29 Bean <bean123ch@gmail.com>
35722
35723 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35724 (png_mod_SOURCES): New variable.
35725 (png_mod_CFLAGS): Likewise.
35726 (png_mod_LDFLAGS): Likewise.
35727
35728 * video/readers/png.c: New file.
35729
11cc30ac 357302008-01-28 Robert Millan <rmh@aybabtu.com>
35731
35732 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35733 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35734 `ifndef GRUB_MOD_GAP' hack.
35735 * util/elf/grub-mkimage.c (add_segments): Likewise.
35736
3abc589f 357372008-01-27 Robert Millan <rmh@aybabtu.com>
35738
35739 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35740 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35741 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35742
e1907778 357432008-01-27 Robert Millan <rmh@aybabtu.com>
35744
35745 Get grub-emu to build again (including parallel builds).
35746
35747 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35748 Split into ...
35749 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35750 (normal/execute.c_DEPENDENCIES): ... this, ...
35751 (grub-emu_DEPENDENCIES): ... and this.
35752
35753 * conf/i386-efi.rmk: Likewise.
35754 * conf/i386-linuxbios.rmk: Likewise.
35755 * conf/i386-ieee1275.rmk: Likewise.
35756 * conf/powerpc-ieee1275.rmk: Likewise.
35757 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35758
2216b101 357592008-01-27 Robert Millan <rmh@aybabtu.com>
35760
35761 * NEWS: Add a few items.
35762
f75172d9 357632008-01-27 Robert Millan <rmh@aybabtu.com>
35764
35765 Fix parallel builds with grub-emu. Based on earlier commit for
35766 grub-probe and grub-setup.
35767
35768 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35769 (util/grub-emu.c_DEPENDENCIES): ... this.
35770 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35771 (util/grub-emu.c_DEPENDENCIES): ... this.
35772 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35773 (util/grub-emu.c_DEPENDENCIES): ... this.
35774 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35775 (util/grub-emu.c_DEPENDENCIES): ... this.
35776 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35777 (util/grub-emu.c_DEPENDENCIES): ... this.
35778
3f51de77 357792008-01-27 Pavel Roskin <proski@gnu.org>
35780
35781 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35782 to create a gap between _end and the modules added to the image
35783 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35784 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35785 * util/elf/grub-mkimage.c (add_segments): Likewise.
35786
2033f53e 357872008-01-26 Pavel Roskin <proski@gnu.org>
35788
35789 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35790 just return an error.
35791
22da1f6f 357922008-01-26 Bean <bean123ch@gmail.com>
35793
35794 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35795 (grub_reiserfs_get_item): Save offset of the next item.
35796 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35797
2a9525e6 357982008-01-25 Robert Millan <rmh@aybabtu.com>
35799
35800 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35801 make all filesystem sources appear together (possibly fixing omissions
35802 while at it).
35803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35805 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35807
35808 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35809 add `kern/file.c'.
35810 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35811 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35812 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35813 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35814
35815 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35816 (probe): Add a sanity check to make sure of our ability to read
35817 requested files when probing for filesystem type.
35818
35819 * genmk.rb: Update copyright year (2007).
35820
35821 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35822 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35823 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35824 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35825 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35826 : Remove function prototypes.
35827
b95f71b5 358282008-01-25 Robert Millan <rmh@aybabtu.com>
35829
35830 Revert my previous commits (based on wrong assumption of how grub_errno
35831 works).
35832
fe6b695a 35833 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35834 * kern/file.c (grub_file_open): Likewise.
35835
d08bbb49 358362008-01-24 Pavel Roskin <proski@gnu.org>
35837
35838 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35839 that hang if GRUB tries to setup colors.
35840 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35841 colors for firmwares that don't support it.
35842 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35843 Recognize Open Hack'Ware, set flags to work around its
35844 limitations.
35845
605e36ed 358462008-01-24 Robert Millan <rmh@aybabtu.com>
35847
35848 * kern/file.c (grub_file_open): Do not account previous failures of
35849 unrelated functions when grub_errno is checked for.
35850 Reported by Oleg Strikov.
35851
bac332a1 358522008-01-24 Bean <bean123ch@gmail.com>
35853
35854 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35855 (grub_ufs_sblock): New member volume name.
35856 (grub_ufs_find_file): Fix string copy bug.
35857 (grub_ufs_label): Implement this function properly.
35858
35859 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35860 (grub_hfs_iterate_records): Use the correct file number for extents
35861 and catalog file. Fix problem in next index calculation.
35862 (grub_hfs_find_node): Replace recursive function call with loop.
35863 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35864
15c80c09 358652008-01-23 Robert Millan <rmh@aybabtu.com>
35866
35867 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35868 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35869 (grub_multiboot2_real_boot): New function prototype.
35870
35871 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35872 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35873
35874 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35875 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35876
305338fd 358772008-01-23 Robert Millan <rmh@aybabtu.com>
35878
35879 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35880 #ifdef'ed out grub_printf().
35881
3ea52685 358822008-01-23 Robert Millan <rmh@aybabtu.com>
35883
35884 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35885 grub_dprintf calls, since they make "debug=all" mode unusable.
35886 (grub_console_checkkey): Likewise.
35887
5882ae4b 358882008-01-23 Robert Millan <rmh@aybabtu.com>
35889
35890 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35891 `term/i386/pc/at_keyboard.c'.
35892 (pkglib_MODULES): Add `serial.mod'.
35893 (serial_mod_SOURCES): New variable.
35894 (serial_mod_CFLAGS): Likewise.
35895 (serial_mod_LDFLAGS): Likewise.
35896
35897 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35898 `<grub/powerpc/ieee1275/console.h>'.
35899 (grub_keyboard_controller_init): New function prototype.
35900 (grub_console_checkkey): Likewise.
35901 (grub_console_getkey): Likewise.
35902
35903 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35904 keyboard on i386.
35905
35906 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35907 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35908
06ab5303 359092008-01-23 Robert Millan <rmh@aybabtu.com>
35910
35911 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35912 present, "(memdisk)/boot/grub" becomes the default prefix.
35913
35914 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35915 a memdisk tarball with all the modules. Add --overlay=DIR option that
35916 allows users to overlay additional files into the image.
35917
dbb475a4 359182008-01-23 Robert Millan <rmh@aybabtu.com>
35919
35920 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35921 and `machine/memory.h'.
35922 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35923 (_multiboot_mod_SOURCES): New variable.
35924 (_multiboot_mod_CFLAGS): Likewise.
35925 (_multiboot_mod_LDFLAGS): Likewise.
35926 (multiboot_mod_SOURCES): Likewise.
35927 (multiboot_mod_CFLAGS): Likewise.
35928 (multiboot_mod_LDFLAGS): Likewise.
35929
35930 * include/grub/i386/ieee1275/loader.h: New file.
35931
35932 * include/grub/i386/ieee1275/machine.h: Likewise.
35933
35934 * include/grub/i386/ieee1275/memory.h: Likewise.
35935
35936 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35937 variable declaration.
35938 (grub_os_area_size): Likewise.
35939
35940 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35941 (grub_lower_mem, grub_upper_mem): New variables.
35942 (grub_stop_floppy): New function (just to make
35943 grub_multiboot2_real_boot() happy).
35944
35945 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35946 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35947 (grub_stop): New function.
35948 Include `"../realmode.S"' and `"../loader.S"'.
35949
35950 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35951 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35952
35953 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35954 rely on grub_multiboot2_real_boot() for final boot.
35955
25638629 359562008-01-22 Robert Millan <rmh@aybabtu.com>
35957
35958 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35959 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35960 device that doesn't look like an SD card.
35961 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35962 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35964 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35965 found.
35966
9dad816d 359672008-01-22 Robert Millan <rmh@aybabtu.com>
35968
35969 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35970 avoid claiming over our own code.
35971
34842f2d 359722008-01-22 Bean <bean123ch@gmail.com>
35973
35974 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35975 (jpeg_mod_SOURCES): New variable.
35976 (jpeg_mod_CFLAGS): Likewise.
35977 (jpeg_mod_LDFLAGS): Likewise.
35978
35979 * video/readers/jpeg.c : New file.
35980
44023a28 359812008-01-22 Bean <bean123ch@gmail.com>
35982
35983 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35984 there are no more items.
35985
bc2d8ac6 359862008-01-21 Robert Millan <rmh@aybabtu.com>
35987
35988 * kern/mm.c (grub_mm_init_region): Improve debug message.
35989
261bd4bc 359902008-01-21 Robert Millan <rmh@aybabtu.com>
35991
35992 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35993 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35994 address.
35995 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35996 a C macro.
35997 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35998 Indicates start of upper memory.
35999 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36000 (generate_image): Abort when image size is big enough to corrupt
36001 upper memory.
36002
36003 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36004 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36005 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36006 instead of hardcoding 0xA0000.
36007 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36008 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36009 instead of hardcoding 0xA0000.
36010
f970b55e 360112008-01-21 Robert Millan <rmh@aybabtu.com>
36012
36013 * disk/memdisk.c (memdisk_size): New variable.
36014 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36015 `memdisk_size'.
36016 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36017 image to dynamic memory.
36018 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36019 `memdisk_size'. Free memdisk block.
36020
1a8b0526 360212008-01-21 Robert Millan <rmh@aybabtu.com>
36022
36023 Fix detection of very small filesystems (like tar).
36024
36025 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36026 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36027 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36028 a problem with this disk).
36029
6e9b4aab 360302008-01-21 Robert Millan <rmh@aybabtu.com>
36031
36032 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36033 on grub_biosdisk_rw_standard() error.
36034
0d8837b2 360352008-01-21 Robert Millan <rmh@aybabtu.com>
36036
36037 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36038 recent changes.
36039 * kern/elf.c: Likewise.
36040 * kern/ieee1275/ieee1275.c: Likewise.
36041 * kern/powerpc/ieee1275/openfw.c: Likewise.
36042 * term/ieee1275/ofconsole.c: Likewise.
36043
ffd36e34 360442008-01-21 Robert Millan <rmh@aybabtu.com>
36045
36046 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36047
3f0093d0 36048 * include/grub/kernel.h (grub_arch_memdisk_addr)
36049 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36050
3f0093d0 36051 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36052 (grub_arch_memdisk_size): ... to here.
ffd36e34 36053
6c391b21 360542008-01-21 Robert Millan <rmh@aybabtu.com>
36055
36056 Mostly based on bugfix from Bean.
36057
36058 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36059 attribute with hook() parameter.
36060 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36061 declaration.
36062 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36063 attribute with hook() parameter.
36064 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36065 declaration.
36066
55a581dc 360672008-01-21 Robert Millan <rmh@aybabtu.com>
36068
36069 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36070 (pkglib_MODULES): Add `memdisk.mod'.
36071 (memdisk_mod_SOURCES): New variable.
36072 (memdisk_mod_CFLAGS): Likewise.
36073 (memdisk_mod_LDFLAGS): Likewise.
36074
36075 * disk/memdisk.c: New file.
36076
36077 * include/grub/disk.h (grub_disk_dev_id): Add
36078 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36079
36080 * include/grub/i386/pc/kernel.h
36081 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36082 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36083 (grub_kernel_image_size): New variable declaration.
36084 (grub_total_module_size): Likewise.
36085 (grub_memdisk_image_size): Likewise.
36086
36087 * include/grub/i386/pc/memory.h
36088 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36089
36090 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36091 (grub_arch_memdisk_addr): New variable declaration.
36092 (grub_arch_memdisk_size): Likewise.
36093
36094 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36095 (grub_arch_memdisk_size): Likewise.
36096
36097 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36098 (codestart): Replace hardcoded `0x100000' with
36099 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36100
36101 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36102 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36103 not NULL, append the contents of the file it refers to, at the end of
36104 the compressed kernel image. Initialize `grub_memdisk_image_size'
36105 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36106 (options): Add "memdisk"|'m' option.
36107 (main): Parse --memdisk|-m option, and pass user-provided path as
36108 parameter to generate_image().
36109
3d7f54c9 361102008-01-20 Robert Millan <rmh@aybabtu.com>
36111
36112 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36113 grub_dprintf() calls from here ...
36114 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36115
0bf74728 361162008-01-20 Robert Millan <rmh@aybabtu.com>
36117
36118 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36119
36120 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36121 declaration.
36122 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36123 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36124 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36125 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36126 property).
36127 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36128 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36129
33bf70a7 361302008-01-19 Robert Millan <rmh@aybabtu.com>
36131
fe6b695a 36132 Get rid of confusing function (superseded by
33bf70a7 36133 `grub_ieee1275_get_integer_property')
36134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36135 prototype.
36136 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36137 function.
36138 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36139 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36140 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36141
e2da7d26 361422008-01-19 Robert Millan <rmh@aybabtu.com>
36143
36144 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36145 command after "shut-down", since implementations differ on which
36146 the command for halt is.
36147
59f1fd8d 361482008-01-19 Robert Millan <rmh@aybabtu.com>
36149
36150 * include/grub/i386/linuxbios/console.h: Add header protection.
36151 (grub_keyboard_controller_init): New function prototype.
36152 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36153 (KEYBOARD_COMMAND_READ): Likewise.
36154 (KEYBOARD_COMMAND_WRITE): Likewise.
36155 (KEYBOARD_SCANCODE_SET1): Likewise.
36156 (grub_keyboard_controller_write): New function.
36157 (grub_keyboard_controller_read): Likewise.
36158 (grub_keyboard_controller_init): Likewise.
36159
36160 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36161 (grub_console_init): On coreboot/LinuxBIOS, call
36162 grub_keyboard_controller_init().
36163
5f5a7c15 361642008-01-19 Robert Millan <rmh@aybabtu.com>
36165
36166 PowerPC changes provided by Pavel Roskin.
36167
36168 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36169 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36170 don't rely on cmain() doing it.
36171 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36172 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36173
1210e168 361742008-01-16 Robert Millan <rmh@aybabtu.com>
36175
36176 * include/grub/i386/linuxbios/memory.h
36177 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36178 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36179 receive `table_header' as argument. Instead, probe for it in the
36180 known memory ranges where it can be present.
36181 (grub_available_iterate): Do not pass a fixed `table_header' address
36182 to grub_linuxbios_table_iterate().
36183
3d04eab8 361842008-01-15 Robert Millan <rmh@aybabtu.com>
36185
36186 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36187 * conf/i386-ieee1275.rmk: New file.
36188 * include/grub/i386/ieee1275/console.h: Likewise.
36189 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36190 * include/grub/i386/ieee1275/kernel.h: Likewise.
36191 * include/grub/i386/ieee1275/time.h: Likewise.
36192 * kern/i386/ieee1275/init.c: Likewise.
36193 * kern/i386/ieee1275/startup.S: Likewise.
36194
d1bc1b73 361952008-01-15 Robert Millan <rmh@aybabtu.com>
36196
36197 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36198 when pointers are 32-bit (but still do set it to one when they are
36199 64-bit).
36200
66a65807 362012008-01-15 Robert Millan <rmh@aybabtu.com>
36202
36203 * include/grub/ieee1275/ieee1275.h
36204 (grub_ieee1275_get_integer_property): New function prototype.
36205
36206 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36207 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36208 grub_ieee1275_get_property() to handle endianness.
66a65807 36209
36210 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36211 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36212 where appropriate.
66a65807 36213 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36214 (grub_map): Likewise.
36215 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36216
a83ccafd 362172008-01-15 Bean <bean123ch@gmail.com>
36218
36219 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36220 (grub_script_execute_cmdline): Reset grub_errno.
36221
36222 * normal/main.c (read_config_file): Reset grub_errno.
36223
36224 * normal/parse.y (script_init): New.
36225 (script): Move function and menuentry here.
36226 (delimiter): New.
36227 (command): Add delimiter at the end of command.
36228 (commands): Adjust to match the new command.
36229 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36230 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36231 (if): Use the new commands.
36232
36233 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36234
df6ecfc6 362352008-01-15 Robert Millan <rmh@aybabtu.com>
36236
36237 * normal/menu.c (run_menu): Move timeout message from here ...
36238 (print_timeout): ... to here.
36239 (run_menu): Use print_timeout() once during initial draw to print
36240 the whole message, and again in every clock tick to update only
36241 the number of seconds.
36242
87ae25eb 362432008-01-15 Robert Millan <rmh@aybabtu.com>
36244
36245 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36246 actual size of `available' from grub_ieee1275_get_property(), and
36247 restrict parsing to that bound.
36248
47bf09a4 362492008-01-15 Christian Franke <franke@computer.org>
36250
36251 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36252 (argp_program_version): Remove variable.
36253 (argp_program_bug_address): Likewise.
36254 (options): Convert from struct argp_option to struct option.
36255 (struct arguments): Remove.
36256 (parse_opt): Remove.
36257 (usage): New function.
36258 (main): Replace struct args members by simple variables.
36259 Replace argp_parse() by getopt_long().
36260 Add switch to evaluate options.
36261 Add missing "(...)" around root_dev in prefix string.
36262
c86f1469 362632008-01-14 Robert Millan <rmh@aybabtu.com>
36264
36265 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36266 for grub_ieee1275_exit(), in order to improve portability.
36267
e622c559 362682008-01-14 Robert Millan <rmh@aybabtu.com>
36269
36270 * util/grub.d/10_linux.in (prefix): Define.
36271 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36272
44cb1ec8 362732008-01-13 Pavel Roskin <proski@gnu.org>
36274
36275 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36276 grub_errno if no errors have been detected.
36277
1eb8c802 362782008-01-12 Robert Millan <rmh@aybabtu.com>
36279
36280 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36281 (grub_util_get_dev_abstraction): New function prototype.
36282
36283 * util/getroot.c: Include `<grub/util/getroot.h>'
36284 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36285 (grub_util_get_dev_abstraction): ... here (new function).
36286
36287 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36288 `PRINT_ABSTRACTION'.
36289 (probe): Probe for abstraction type when requested.
36290 (main): Understand `--target=abstraction'.
36291
36292 * util/i386/efi/grub-install.in: Add abstraction module to core
36293 image when it is found to be necessary.
36294 * util/i386/pc/grub-install.in: Likewise.
36295 * util/powerpc/ieee1275/grub-install.in: Likewise.
36296
36297 * util/update-grub_lib.in (font_path): Return system path without
36298 converting to GRUB path.
36299 * util/update-grub.in: Convert system path returned by font_path()
36300 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36301 abstraction module is needed for loading fonts (if any). Export
36302 that as `GRUB_PRELOAD_MODULES'.
36303 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36304 insmod commands).
36305
52bd3de9 363062008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36307
36308 Remove some unused code from reiserfs.
f19dbdb7 36309
52bd3de9 36310 * fs/reiserfs.c (struct grub_reiserfs_key)
36311 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36312 (struct grub_reiserfs_node_body): Removed.
36313 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36314 Likewise.
36315 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36316 Likewise.
36317 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36318 Likewise.
36319 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36320 Likewise.
36321 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36322 Likewise.
36323 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36324 Likewise.
36325 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36326 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36327 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36328
2f80039d 363292008-01-10 Robert Millan <rmh@aybabtu.com>
36330
36331 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36332 Determines if a file is garbage left by packaging systems, etc.
36333 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36334 for processing /etc/grub.d scripts.
36335 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36336 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36337 as a condition for processing Linux images.
36338
87888032 363392008-01-10 Pavel Roskin <proski@gnu.org>
36340
36341 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36342 to compile reiserfs.c on PowerPC.
36343
7e54fced 363442008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36345
36346 * kern/device.c (grub_device_iterate): Do not abort device iteration
36347 when one of the devices cannot be opened.
36348 * kern/disk.c (grub_disk_open): Do not account previous failures of
36349 unrelated functions when grub_errno is checked for.
36350
5aa541e6 363512008-01-08 Robert Millan <rmh@aybabtu.com>
36352
36353 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36354 `! grub_linux_is_bzimage', change order of address comparison to make
36355 it more intuitive, and improve "too big zImage" error message.
36356
7076340d 363572008-01-08 Robert Millan <rmh@aybabtu.com>
36358
36359 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36360 `$(update-grub_DATA)'.
36361 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36362 targets.
36363
9ca70333 363642008-01-07 Robert Millan <rmh@aybabtu.com>
36365
36366 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36367 which instruction is modified by grub-setup during installation
36368 (since it wasn't obvious by only looking at this file).
36369
38ccf575 363702008-01-07 Robert Millan <rmh@aybabtu.com>
36371
36372 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36373 listing actual TODO items.
36374
f5db4291 363752008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36376
868967cf 36377 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36378 correctly.
36379 (grub_reiserfs_get_key_offset): Likewise.
36380 (grub_reiserfs_set_key_offset): Likewise.
36381 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36382 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36383
36384 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36385 better to remove the bitfield version completely.
f19dbdb7 36386
868967cf 363872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36388
f5db4291 36389 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36390 allocated from the heap, due to the fshelp implementation.
36391 (grub_reiserfs_dir): Free NODE, due to the same reason.
36392
492e6d9d 363932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36394
36395 Mostly from Vincent Pelletier:
f19dbdb7 36396
492e6d9d 36397 * fs/reiserfs.c: New file.
f19dbdb7 36398
492e6d9d 36399 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36400 (reiserfs_mod_SOURCES): New variable.
36401 (reiserfs_mod_CFLAGS): Likewise.
36402 (reiserfs_mod_LDFLAGS): Likewise.
36403
36404 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36405 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36406 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36407 normal/color.c.
36408
9ce3e7c1 364092008-01-06 Robert Millan <rmh@aybabtu.com>
36410
36411 * normal/color.c: Remove `<grub/env.h>'.
36412
f3b58148 364132008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36414
36415 * include/grub/normal.h: Include <grub/env.h>.
36416
7ac3bcfa 364172008-01-05 Robert Millan <rmh@aybabtu.com>
36418
36419 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36420 usage example with `(hd0,1)'.
fb358190 36421 Reported by Samuel Thibault.
7ac3bcfa 36422
c8ee99d7 364232008-01-05 Robert Millan <rmh@aybabtu.com>
36424
36425 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36426 (grub_linux_boot_zimage): Rename to ...
36427 (grub_linux_boot): ... this.
36428 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36429 (grub_linux_boot_zimage): Conditionalize zImage copy.
36430
36431 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36432 (grub_linux_boot_bzimage): Remove prototype.
36433 (grub_linux_boot_zimage): Rename to ...
36434 (grub_linux_boot): ... this.
36435
36436 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36437 (grub_linux_boot): Remove function.
36438
0ece25b1 364392008-01-05 Robert Millan <rmh@aybabtu.com>
36440
36441 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36442 (grub_env_write_color_highlight): Likewise.
36443 (grub_wait_after_message): Likewise.
36444
36445 * normal/color.c: New file.
36446
36447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36448 (normal_mod_DEPENDENCIES): Likewise.
36449
36450 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36451 (normal_mod_DEPENDENCIES): Likewise.
36452
36453 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36454 (normal_mod_DEPENDENCIES): Likewise.
36455
36456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36457 (normal_mod_DEPENDENCIES): Likewise.
36458
36459 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36460 for waiting after a message is printed.
36461 * normal/main.c (read_config_file): Likewise.
36462 (grub_normal_init): Register grub_env_write_color_normal() and
36463 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36464 `color_highlight' variables as global.
36465
36466 * normal/menu.c (grub_wait_after_message): New function.
36467 (grub_color_menu_normal): New variable. Replaces ...
36468 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36469 (grub_color_menu_highlight): New variable. Replaces ...
36470 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36471 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36472 `GRUB_TERM_COLOR_STANDARD'.
36473 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36474 `normal_code' and `highlight_code' to `old_color_normal' and
36475 `old_color_highlight', respectively.
36476 (grub_menu_init_page): Update colors when drawing the menu, based on
36477 `menu_color_normal' and `menu_color_highlight' variables.
36478 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36479 a message is printed.
36480
182dd4e5 364812008-01-05 Robert Millan <rmh@aybabtu.com>
36482
36483 * kern/env.c (grub_env_context_open): Propagate hooks for global
36484 variables to new context.
36485
36486 * kern/main.c (grub_set_root_dev): Export `root' variable.
36487
ddf8f6ad 364882008-01-05 Robert Millan <rmh@aybabtu.com>
36489
36490 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36491 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36492 them.
36493
d8b43d9b 364942008-01-05 Robert Millan <rmh@aybabtu.com>
36495
36496 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36497
2bff2de3 364982008-01-04 Christian Franke <franke@computer.org>
36499
36500 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36501 of eisa_mmap.
36502
97eab917 365032008-01-03 Pavel Roskin <proski@gnu.org>
36504
36505 * kern/i386/linuxbios/init.c: Put "void" to all function
36506 declarations with no arguments.
36507 * kern/powerpc/ieee1275/init.c: Likewise.
36508 * term/i386/pc/at_keyboard.c: Likewise.
36509 * term/i386/pc/vga_text.c: Likewise.
36510 * util/grub-mkdevicemap.c: Likewise.
36511
b9416d00 365122008-01-02 Robert Millan <rmh@aybabtu.com>
36513
36514 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36515 message when loaded image is out of bounds.
36516 (grub_multiboot_load_elf64): Likewise.
36517
92695df9 365182008-01-02 Pavel Roskin <proski@gnu.org>
36519
36520 * util/grub.d/10_linux.in: Try version without ".old" when
36521 looking for initrd. It's better to use initrd from the newer
36522 kernel of the same version than no initrd at all.
36523
d98d9cad 365242008-01-01 Robert Millan <rmh@aybabtu.com>
36525
36526 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36527
dbfdce36 365282008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36529
f19dbdb7 36530 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36531 grub_video_get_active_render_target.
36532 (grub_video_adapter): Added unmap_color and get_active_render_target.
36533
f19dbdb7 36534 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36535 grub_video_get_active_render_target.
36536 (grub_video_get_info): Changed method to accept NULL pointer as an
36537 argument to allow detection of active video adapter.
36538
36539 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36540 grub_video_vbe_unmap_color_int.
36541 Added grub_video_vbe_unmap_color and
36542 grub_video_vbe_get_active_render_target.
36543 (grub_video_vbe_adapter): Added unmap_color and
36544 get_active_render_target.
36545
f19dbdb7 36546 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36547 with grub_video_vbe_unmap_color_int.
36548
36549 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36550 (DEFAULT_NORMAL_COLOR): Likewise.
36551 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36552 (DEFAULT_FG_COLOR): Removed.
36553 (DEFAULT_BG_COLOR): Likewise.
36554 (DEFAULT_CURSOR_COLOR): Changed value.
36555 (grub_virtual_screen): Added standard_color_setting,
36556 normal_color_setting, highlight_color_setting and term_color.
36557 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36558 (bitmap_width): Added.
36559 (bitmap_height): Likewise.
36560 (bitmap): Likewise.
36561 (set_term_color): Likewise.
36562 (grub_virtual_screen_setup): Changed to use new terminal coloring
36563 settings.
36564 (grub_gfxterm_init): Added init for bitmap.
36565 (grub_gfxterm_fini): Added destroy for bitmap.
36566 (redraw_screen_rect): Updated to use background bitmap and new
36567 terminal coloring.
36568 (scroll_up): Added optimization for case when there is no bitmap.
36569 (grub_gfxterm_cls): Fixed to use correct background color.
36570 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36571 coloring.
36572 (grub_virtual_screen_setcolor): Likewise.
36573 (grub_virtual_screen_getcolor): Added.
36574 (grub_gfxterm_background_image_cmd): Likewise.
36575 (grub_video_term): Added setcolor and getcolor.
36576 (MOD_INIT): Added registration of background_image command.
36577 (MOD_TERM): Added unregistration for background_image command.
36578
c3c20931 365792007-12-30 Pavel Roskin <proski@gnu.org>
36580
36581 * loader/multiboot_loader.c: Fix multiboot command
36582 unregistration. Fix all typos in the word "multiboot".
36583
df266716 365842007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36585
36586 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36587 support for initrd names used in Fedora.
36588
fc6e896c 365892007-12-26 Bean <bean123ch@gmail.com>
36590
36591 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36592 (cpio_mod_SOURCES): New variable.
36593 (cpio_mod_CFLAGS): Likewise.
36594 (cpio_mod_LDFLAGS): Likewise.
36595
36596 * fs/cpio.c: New file.
36597
36598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36599
36600 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36601
36602 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36603
36604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36605
533110ad 366062007-12-25 Robert Millan <rmh@aybabtu.com>
36607
36608 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36609 (grub_getcolor): New function.
36610
36611 * kern/term.c (grub_getcolor): New function.
36612 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36613 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36614 (print_entry): Set normal and highlight colors to
36615 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36616 respectively, before printing and restore them to old
36617 values afterwards.
36618 (grub_menu_init_page): Likewise. Fill an additional colored space
36619 that would otherwise be left blank.
36620
36621 * term/efi/console.c (grub_console_getcolor): New function.
36622 (struct grub_console_term.getcolor): New variable.
36623 * term/i386/pc/console.c (grub_console_getcolor): New function.
36624 (struct grub_console_term.getcolor): New variable.
36625 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36626 (struct grub_console_term.getcolor): New variable.
36627
36628 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36629 (struct grub_console_term.setcolor): Remove variable.
36630 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36631 (struct grub_console_term.setcolor): Remove variable.
36632 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36633 (struct grub_console_term.setcolor): Remove variable.
36634 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36635 (struct grub_console_term.setcolor): Remove variable.
36636
4931827f 366372007-12-25 Robert Millan <rmh@aybabtu.com>
36638
36639 * configure.ac: Search for possible unifont.hex locations, and
36640 define UNIFONT_HEX if found.
36641
36642 * Makefile.in (UNIFONT_HEX): Define variable.
36643 (DATA): Rename to ...
36644 (PKGLIB): ... this. Update all users.
36645 (PKGDATA): New variable.
36646 (pkgdata_IMAGES): Rename to ...
36647 (pkglib_IMAGES): ... this. Update all users.
36648 (pkgdata_MODULES): Rename to ...
36649 (pkglib_MODULES): ... this. Update all users.
36650 (pkgdata_PROGRAMS): Rename to ...
36651 (pkglib_PROGRAMS): ... this. Update all users.
36652 (pkgdata_DATA): Rename to ...
36653 (pkglib_DATA): ... this. Update all users.
36654 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36655 (unicode.pff, ascii.pff): New rules.
36656 (all-local): Add `$(PKGDATA)' dependency.
36657 (install-local): Process `$(PKGDATA)'.
36658
36659 * util/update-grub_lib.in (font_path): Search for *.pff files in
36660 a few more locations, including `${pkgdata}'.
36661
57e57e31 366622007-12-23 Robert Millan <rmh@aybabtu.com>
36663
36664 Patch from Bean <bean123ch@gmail.com>:
36665 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36666 `size'.
36667
4bc72aa9 366682007-12-21 Bean <bean123ch@gmail.com>
36669
36670 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36671 (ntfscomp_mod_SOURCES): New variable.
36672 (ntfscomp_mod_CFLAGS): Likewise.
36673 (ntfscomp_mod_LDFLAGS): Likewise.
36674
36675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36676 (grub_probe_SOURCES): Likewise.
36677 (grub_emu_SOURCES): Likewise.
36678
36679 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36680 (grub_emu_SOURCES): Likewise.
36681
36682 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36683 (grub_emu_SOURCES): Likewise.
36684
36685 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36686 (grub_emu_SOURCES): Likewise.
36687
36688 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36689 (read_run_list): Renamed to grub_ntfs_read_run_list.
36690 (decomp_nextvcn): Moved to ntfscomp.c.
36691 (decomp_getch): Likewise.
36692 (decomp_get16): Likewise.
36693 (decomp_block): Likewise.
36694 (read_block): Likewise.
36695 (read_data): Partially moved to ntfscomp.c.
36696 (fixup): Change unsigned to grub_uint16_t.
36697 (read_mft): Change unsigned long to grub_uint32_t.
36698 (read_attr): Likewise.
36699 (read_data): Likewise.
36700 (read_run_data): Likewise.
36701 (read_run_list): Likewise.
36702 (read_mft): Likewise.
36703
36704 * fs/ntfscomp.c: New file.
36705
36706 * include/grub/ntfs.h: New file.
36707
af680a87 367082007-12-16 Robert Millan <rmh@aybabtu.com>
36709
36710 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36711 IDE disk check, since Linux is known to support 20 IDE disks.
36712 Reported by Colin Watson.
36713
84be7599 367142007-12-15 Bean <bean123ch@gmail.com>
36715
36716 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36717 (lnxboot_img_SOURCES): New variable.
36718 (lnxboot_img_ASFLAGS): Likewise.
36719 (lnxboot_img_LDFLAGS): Likewise.
36720
36721 * boot/i386/pc/lnxboot.S: New file.
36722
6af9db01 367232007-11-24 Pavel Roskin <proski@gnu.org>
36724
36725 * configure.ac: Test if '--build-id=none' is supported by the
36726 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36727 objcopy to generate incorrect binary files (binutils
36728 2.17.50.0.18-1 as shipped by Fedora 8).
36729 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36730 linking, so that build ID doesn't break the test.
36731
7361cfe6 367322007-11-24 Pavel Roskin <proski@gnu.org>
36733
36734 * include/grub/i386/time.h: use "void" in the argument list
36735 of grub_cpu_idle().
36736 * include/grub/powerpc/time.h: Likewise.
36737 * include/grub/sparc64/time.h: Likewise.
36738
1593e10c 367392007-11-18 Christian Franke <franke@computer.org>
36740
36741 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36742 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36743 This fixes the problem that function keys did not work in grub-emu.
36744
3b8db1a8 367452007-11-18 Christian Franke <franke@computer.org>
36746
36747 * disk/host.c (grub_host_open): Remove attribute unused from
36748 name parameter. Add check for "host". This fixes the problem
36749 that grub-emu does not find partitions.
36750
2e29408d 367512007-11-18 Christian Franke <franke@computer.org>
36752
36753 * util/hostfs.c (is_dir): New function.
36754 (grub_hostfs_dir): Handle missing dirent.d_type case.
36755 (grub_hostfs_read): Add missing fseek().
36756 (grub_hostfs_label): Clear label pointer. This fixes a crash
36757 of grub-emu on "ls (host)".
36758
398cd047 367592007-11-18 Christian Franke <franke@computer.org>
36760
36761 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36762 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36763 to 64 bit boundary by default.
36764
c405c391 367652007-11-18 Bean <bean123ch@gmail.com>
36766
36767 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36768 (hexdump_mod_SOURCES): New variable.
36769 (hexdump_mod_CFLAGS): Likewise.
36770 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36771
c405c391 36772 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36773
36774 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36775
36776 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36777
36778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36779
36780 * include/grub/hexdump.h: New file.
36781
36782 * commands/hexdump.c: New file.
36783
5cced7fd 367842007-11-10 Robert Millan <rmh@aybabtu.com>
36785
36786 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36787 in grub_outb() calls.
36788 (beep_on): Likewise.
36789
8b714eb0 367902007-11-10 Christian Franke <franke@computer.org>
36791
36792 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36793 (grub_menu_run): Likewise.
36794
ce0f1839 367952007-11-10 Robert Millan <rmh@aybabtu.com>
36796
36797 * include/grub/i386/efi/machine.h: New file.
36798 * include/grub/i386/linuxbios/machine.h: Likewise.
36799 * include/grub/i386/pc/machine.h: Likewise.
36800 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36801 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36802
36803 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36804 (serial_hw_io_addr): New variable.
36805 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36806 instead of `(unsigned short *) 0x400'.
36807
270c237d 368082007-11-10 Bean <bean123ch@gmail.com>
36809
36810 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36811
a87783bf 368122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36813
36814 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36815 (vga_mod_SOURCES): Added.
36816 (vga_mod_CFLAGS): Likewise.
36817 (vga_mod_LDFLAGS): Likewise.
36818
36819 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36820 grub_outb() calls.
36821 (set_map_mask): Likewise.
36822 (set_read_map): Likewise.
36823 (set_read_address): Likewise.
36824 (vga_font): Removed variable.
36825 (get_vga_glyph): Removed function.
36826 (invalidate_char): Likewise.
36827 (write_char): Changed to use grub_font_get_glyph() for font
36828 information.
36829 (grub_vga_putchar): Likewise.
36830 (grub_vga_getcharwidth): Likewise.
36831
6433b448 368322007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36833
36834 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36835 flags.
36836 (pxeboot_img_LDFLAGS): Likewise.
36837 (diskboot_img_LDFLAGS): Likewise.
36838 (kernel_img_LDFLAGS): Likewise.
36839
49178511 368402007-11-06 Robert Millan <rmh@aybabtu.com>
36841
36842 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36843 in grub_outb() calls.
36844 (serial_hw_init): Likewise.
36845
53b052de 368462007-11-05 Robert Millan <rmh@aybabtu.com>
36847
36848 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36849 spaces. Skip non-regular files.
36850
5ab33bba 368512007-11-05 Robert Millan <rmh@aybabtu.com>
36852
36853 * kern/disk.c (grub_disk_firmware_fini)
36854 (grub_disk_firmware_is_tainted): New variables.
36855
36856 * include/grub/disk.h (grub_disk_firmware_fini)
36857 (grub_disk_firmware_is_tainted): Likewise.
36858
36859 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36860 (grub_disk_biosdisk_fini): ... to here.
36861 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36862 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36863 is set. Register grub_disk_biosdisk_fini() in
36864 `grub_disk_firmware_fini'.
36865
36866 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36867 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36868 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36869 to finish existing firmware disk interface.
36870
36871 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36872 (ata_mod_SOURCES): New variable.
36873 (ata_mod_CFLAGS): Likewise.
36874 (ata_mod_LDFLAGS): Likewise.
36875
0149ab7c 368762007-11-05 Robert Millan <rmh@aybabtu.com>
36877
36878 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36879 (grub_ata_wait): Reimplement using grub_millisleep().
36880
36881 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36882 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36883
be7ac41e 368842007-11-03 Marco Gerards <marco@gnu.org>
36885
36886 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36887 (CRTC_ADDR_PORT): New macro.
36888 (CRTC_DATA_PORT): Likewise.
36889 (CRTC_CURSOR): Likewise.
36890 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36891 (CRTC_CURSOR_ADDR_LOW): Likewise.
36892 (update_cursor): New function.
36893 (grub_console_real_putchar): Call `update_cursor'.
36894 (grub_console_gotoxy): Likewise.
36895 (grub_console_cls): Set the default color when clearing the
36896 screen.
36897 (grub_console_setcursor): Implemented.
36898
bb06ab2e 368992007-11-03 Marco Gerards <marco@gnu.org>
36900
36901 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36902 become activate.
36903 (grub_ata_pio_write): Likewise.
36904
36905 (grub_atapi_identify): Wait after issuing an ATA command.
36906 (grub_atapi_packet): Likewise.
36907 (grub_ata_identify): Likewise.
36908 (grub_ata_readwrite): Likewise.
36909
cf8f780b 369102007-11-03 Marco Gerards <marco@gnu.org>
36911
36912 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36913 (grub_ata_pio_write): Likewise.
36914 (grub_ata_readwrite): Use `grub_error', instead of
36915 returning `grub_errno'.
36916
ed649e54 369172007-11-03 Marco Gerards <marco@gnu.org>
36918
36919 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36920 grub_ata_pio_write once for every single sector, instead of for
36921 multiple sectors.
36922
ca25d8f0 369232007-10-31 Robert Millan <rmh@aybabtu.com>
36924
36925 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36926
36927 * conf/i386-linuxbios.rmk: New file.
36928
36929 * kern/i386/pc/hardware.c: Likewise.
36930 * term/i386/pc/at_keyboard.c: Likewise.
36931 * term/i386/pc/vga_text.c: Likewise.
36932
36933 * include/grub/i386/linuxbios/boot.h: Likewise.
36934 * include/grub/i386/linuxbios/console.h: Likewise.
36935 * include/grub/i386/linuxbios/init.h: Likewise.
36936 * include/grub/i386/linuxbios/kernel.h: Likewise.
36937 * include/grub/i386/linuxbios/loader.h: Likewise.
36938 * include/grub/i386/linuxbios/memory.h: Likewise.
36939 * include/grub/i386/linuxbios/serial.h: Likewise.
36940 * include/grub/i386/linuxbios/time.h: Likewise.
36941
36942 * kern/i386/linuxbios/init.c: Likewise.
36943 * kern/i386/linuxbios/startup.S: Likewise.
36944 * kern/i386/linuxbios/table.c: Likewise.
36945
e911ecc1 369462007-10-31 Marco Gerards <marco@gnu.org>
36947
36948 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36949 (ata_mod_SOURCES): New variable.
36950 (ata_mod_CFLAGS): Likewise.
36951 (ata_mod_LDFLAGS): Likewise.
36952
36953 * disk/ata.c: New file.
36954
36955 * include/grub/disk.h (grub_disk_dev_id): Add
36956 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36957
7f66d0e0 369582007-10-31 Robert Millan <rmh@aybabtu.com>
36959
36960 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36961 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36962
36963 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36964 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36965
36966 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36967 `<grub/types.h>'.
36968
36969 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36970
5cd7dd46 369712007-10-27 Robert Millan <rmh@aybabtu.com>
36972
3236ca65 36973 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36974
2ebfc90f 369752007-10-22 Robert Millan <rmh@aybabtu.com>
36976
36977 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36978 `"../realmode.S"'.
36979 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36980
73fcb0f3 369812007-10-22 Robert Millan <rmh@aybabtu.com>
36982
36983 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36984 (pkgdata_MODULES): Add `biosdisk.mod'.
36985 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36986 variables.
36987
36988 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36989 (grub_biosdisk_init): Replace with ...
36990 (GRUB_MOD_INIT(biosdisk)): ... this.
36991 (grub_biosdisk_fini): Replace with ...
36992 (GRUB_MOD_FINI(biosdisk)): ... this.
36993
36994 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36995 (grub_machine_init): Remove call to grub_biosdisk_init().
36996 (grub_machine_fini): Remove call to grub_machine_fini().
36997
36998 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36999
3381d274 370002007-10-22 Robert Millan <rmh@aybabtu.com>
37001
37002 * include/grub/time.h: New file.
37003 * include/grub/i386/time.h: Likewise.
37004 * include/grub/powerpc/time.h: Likewise.
37005 * include/grub/sparc64/time.h: Likewise.
37006
37007 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37008 instances to ...
37009 (KERNEL_MACHINE_TIME_HEADER): ... this.
37010 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37011 instances to ...
37012 (KERNEL_MACHINE_TIME_HEADER): ... this.
37013 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37014 instances to ...
37015 (KERNEL_MACHINE_TIME_HEADER): ... this.
37016
37017 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37018 (grub_millisleep): New function.
37019 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37020 (grub_millisleep): New function.
37021 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37022 Remove `grub/machine/time.h' include.
37023 (grub_millisleep): New function.
37024 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37025 Remove `grub/machine/time.h' include.
37026 (grub_millisleep): New function.
37027
37028 * include/grub/misc.h (grub_div_roundup): New function.
37029
37030 * kern/misc.c: Include `<grub/time.h>'.
37031 (grub_millisleep_generic): New function.
37032
37033 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37034 Add `time.h'.
37035 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37036 Add `time.h'.
37037 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37038 `machine/time.h'. Add `time.h'.
37039 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37040
a39a0312 370412007-10-21 Robert Millan <rmh@aybabtu.com>
37042
37043 * include/grub/misc.h (grub_max): New function.
37044
2aad70e2 370452007-10-21 Robert Millan <rmh@aybabtu.com>
37046
37047 * util/misc.c (grub_util_info): Call fflush() before returning.
37048
54b71c4b 370492007-10-20 Robert Millan <rmh@aybabtu.com>
37050
37051 * genmk.rb (Image): Copy `extra_flags' from here ...
37052 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37053
37054 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37055 to `argc' and `args' arguments.
37056
a979f513 370572007-10-17 Robert Millan <rmh@aybabtu.com>
37058
37059 * kern/i386/loader.S: New file.
37060
37061 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37062 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37063 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37064 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37065 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37066 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37067 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37068 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37069 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37070 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37071 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37072 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37073 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37074 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37075
37076 * kern/i386/realmode.S: New file.
37077
37078 * kern/i386/pc/startup.S (protstack): Moved from here ...
37079 * kern/i386/realmode.S (protstack)... to here.
37080 * kern/i386/pc/startup.S (gdt): Moved from here ...
37081 * kern/i386/realmode.S (gdt)... to here.
37082 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37083 * kern/i386/realmode.S (prot_to_real)... to here.
37084
37085 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37086 `kern/i386/realmode.S'.
37087
825fc8fd 370882007-10-17 Robert Millan <rmh@aybabtu.com>
37089
37090 * include/grub/i386/loader.h: New file.
37091
37092 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37093 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37094 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37095 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37096 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37097 * include/grub/i386/loader.h (grub_linux_prot_size)
37098 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37099 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37100 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37101 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37102
37103 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37104
e179b2f4 371052007-10-15 Robert Millan <rmh@aybabtu.com>
37106
37107 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37108 filesystem when dev->disk is unset.
37109 Do probe for filesystem even when dev->disk->has_partitions is set.
37110 In case a filesystem is found, always report it.
37111 In case it isn't, if dev->disk->has_partitions is set, report that
37112 a partition table was found instead of reporting that no filesystem
37113 could be identified.
37114
5db82af6 371152007-10-12 Robert Millan <rmh@aybabtu.com>
37116
37117 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37118 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37119
68f6ac74 37120 * include/grub/types.h (grub_host_to_target16): New macro.
37121 (grub_host_to_target32): Likewise.
37122 (grub_host_to_target64): Likewise.
37123 (grub_target_to_host16): Likewise.
37124 (grub_target_to_host32): Likewise.
37125 (grub_target_to_host64): Likewise.
5db82af6 37126
37127 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37128 Renamed from to ...
37129 (GRUB_MOD_ALIGN): ...this. Update all users.
37130
68f6ac74 37131 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37132 grub_host_to_target32.
37133 Replace grub_be_to_cpu32 with grub_target_to_host32.
37134 (load_modules): Likewise.
37135 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37136 Replace grub_be_to_cpu32 with grub_target_to_host32.
37137 Replace grub_cpu_to_be16 with grub_host_to_target16.
37138 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37139
3cf497cc 371402007-10-12 Robert Millan <rmh@aybabtu.com>
37141
37142 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37143 * util/elf/grub-mkimage.c: ... here.
37144
37145 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37146 `util/powerpc/ieee1275/grub-mkimage.c'.
37147
c8cc3692 371482007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37149
c8cc3692 37150 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37151 and make it easier to figure out.
37152 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37153 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37154 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37155 leave us with less than HEAP_MIN_SIZE total heap.
37156 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37157
5c58b791 371582007-10-03 Robert Millan <rmh@aybabtu.com>
37159
37160 * include/grub/i386/io.h: New file.
37161 * commands/i386/pc/play.c (inb): Removed.
37162 (outb): Removed.
37163 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37164 with grub_outb().
afcd2ef8 37165 * term/i386/pc/serial.c (inb): Removed.
37166 (outb): Removed.
37167 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37168 with grub_outb().
37169 * term/i386/pc/vga.c (inb): Removed.
37170 (outb): Removed.
37171 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37172 with grub_outb().
5c58b791 37173
1a477ed6 371742007-10-02 Robert Millan <rmh@aybabtu.com>
37175
37176 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37178 Reported by Marcin Kurek.
37179
6b5d80fa 371802007-09-07 Robert Millan <rmh@aybabtu.com>
37181
37182 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37183 SmartFirmware version updates (as released by Sven Luther), and avoid
37184 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37185 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37186 known broken.
37187
5618afbf 371882007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37189
37190 From Hitoshi Ozeki:
37191 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37192 when merging two regions.
37193
6139dcd9 371942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37195
508e39ee 37196 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37197 * normal/completion.c (grub_normal_do_completion): Likewise.
37198 Reported by Hitoshi Ozeki.
37199
372002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37201
6139dcd9 37202 Do not use devices at boot in chainloading.
f19dbdb7 37203
6139dcd9 37204 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37205 (boot_part_addr): Likewise.
37206 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37207 with BOOT_DRIVE and BOOT_PART_ADDR.
37208 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37209 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37210
38da6516 372112007-08-29 Robert Millan <rmh@aybabtu.com>
37212
37213 Patch from Simon Peter <dn.tlp@gmx.net>:
37214 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37215 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37216 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37217 util/i386/pc/grub-setup.c_DEPENDENCIES.
37218 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37219 util/grub-probe.c_DEPENDENCIES.
37220 * conf/powerpc-ieee1275.rmk: Likewise.
37221
29d0928c 372222007-08-28 Robert Millan <rmh@aybabtu.com>
37223
37224 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37225 to tell grub-mkdevicemap how to name devices.
37226 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37227 feature).
37228
37229 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37230 util/i386/get_disk_name.c.
37231 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37232 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37233 util/ieee1275/get_disk_name.c.
37234
37235 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37236
37237 * DISTLIST: Add util/i386/get_disk_name.c and
37238 util/ieee1275/get_disk_name.c.
37239
37240 * util/grub-mkdevicemap.c: Replace device naming logic with
37241 grub_util_get_disk_name() calls.
37242
5a0d3cca 372432007-08-20 Robert Millan <rmh@aybabtu.com>
37244
37245 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37246 (so that it works for both plural and singular quantities).
37247
8b72db2f 372482007-08-05 Robert Millan <rmh@aybabtu.com>
37249
37250 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37251 so that [xz] isn't taken into account when determining order.
37252
352466bf 372532007-08-02 Marco Gerards <marco@gnu.org>
37254
37255 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37256 `include/multiboot2.h', `include/grub/elfload.h',
37257 `include/multiboot.h', `include/grub/multiboot.h',
37258 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37259 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37260 `kern/elf.c', `loader/multiboot_loader.c',
37261 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37262 `loader/i386/pc/multiboot2.c',
37263 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37264 `util/i386/pc/grub-mkrescue.in'. Remove
37265 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37266 `include/grub/i386/pc/util/biosdisk.h' and
37267 `include/grub/powerpc/ieee1275/multiboot.h'.
37268
8f096014 372692007-08-02 Bean <bean123ch@gmail.com>
37270
37271 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37272 (ntfs_mod_SOURCES): New variable.
37273 (ntfs_mod_CFLAGS): Likewise.
37274 (ntfs_mod_LDFLAGS): Likewise.
37275
37276 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37277 (grub_probe_SOURCES): Likewise.
37278 (grub_emu_SOURCES): Likewise.
37279
37280 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37281 (grub_emu_SOURCES): Likewise.
37282
37283 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37284 (grub_emu_SOURCES): Likewise.
f19dbdb7 37285
8f096014 37286 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37287
37288 * fs/ntfs.c: New file.
37289
9959f7db 372902007-08-02 Bean <bean123ch@gmail.com>
37291
37292 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37293
37294 * file.h (grub_file): Likewise.
37295
37296 * fshelp.h (grub_fshelp_read_file): Likewise.
37297
37298 * util/i386/pc/grub-setup.c (setup): Likewise.
37299 (save_first_sector): Likewise.
37300 (save_blocklists): Likewise.
f19dbdb7 37301
9959f7db 37302 * fs/affs.c (grub_affs_read_file): Likewise.
37303
37304 * fs/ext2.c (grub_ext2_read_file): Likewise.
37305
37306 * fs/fat.c (grub_fat_read_data): Likewise.
37307
37308 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37309
37310 * fs/hfs.c (grub_hfs_read_file): Likewise.
37311
37312 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37313
37314 * fs/jfs.c (grub_jfs_read_file): Likewise.
37315
37316 * fs/minix.c (grub_minix_read_file): Likewise.
37317
37318 * fs/sfs.c (grub_sfs_read_file): Likewise.
37319
37320 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37321
9959f7db 37322 * fs/xfs.c (grub_xfs_read_file): Likewise.
37323
37324 * command/blocklist.c (read_blocklist): Likewise.
37325 (print_blocklist): Likewise.
37326
0a203f83 373272007-08-02 Marco Gerards <marco@gnu.org>
37328
37329 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37330 `util/hostfs.c'.
37331
37332 * disk/host.c: New file.
37333
37334 * util/hostfs.c: Likewise.
37335
37336 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37337 return `GRUB_ERR_BAD_FS'.
37338 * fs/sfs.c (grub_sfs_mount): Likewise.
37339 * fs/xfs.c (grub_xfs_mount): Likewise.
37340
37341 * include/grub/disk.h (enum grub_disk_dev_id): Add
37342 `GRUB_DISK_DEVICE_HOST_ID'.
37343
37344 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37345
e5dfe777 373462007-07-24 Jerone Young <jerone@gmail.com>
37347
f19dbdb7 37348 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37349 modules for compilation.
37350 * conf/powerpc-ieee1275.rmk: Likewise.
37351
37352 * include/multiboot.h: Move multiboot definitions to one file. Rename
37353 many definitions to not get grub specific.
37354 * include/multiboot2.h: Create header with multiboot 2 definitions.
37355 * include/grub/multiboot.h: Header for grub specific function
37356 prototypes and definitions.
37357 * include/grub/multiboot2.h: Likewise.
37358 * include/grub/multiboot_loader.h: Likewise.
37359 * include/grub/i386/pc/multiboot.h: Removed.
37360 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37361
37362 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37363 and 2 to allow for one multiboot and module commands.
37364 * loader/multiboot2.c: Add multiboot2 functionality.
37365 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37366 and definition names.
37367 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37368 2 functions.
37369 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37370 ieee1275 specific multiboot2 code.
37371
37372 * kern/i386/pc/startup.S: Change headers and definition names for
37373 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37374
daf0f0ba 373752007-07-22 Robert Millan <rmh@aybabtu.com>
37376
37377 * geninitheader.sh: Process file specified in first parameter rather
37378 than hardcoding grub_modules_init.lst.
fe6b695a 37379 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37380 than hardcoding grub_modules_init.h.
37381
37382 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37383 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37384 grub_probe_init.[ch] and grub_setup_init.[ch].
37385
37386 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37387 grub_modules_init.h with grub_emu_init.h.
37388 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37389 grub_probe_init.[ch] files.
37390 * conf/i386-efi.rmk: Likewise.
37391 * conf/i386-pc.rmk: Likewise.
37392 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37393 grub_setup_init.[ch] files.
37394
37395 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37396 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37397 to initialize modules rather than a list of hardcoded functions.
37398 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37399 grub_init_all() to initialize modules rather than a list of hardcoded
37400 functions.
37401
54cdc1cc 374022007-07-22 Robert Millan <rmh@aybabtu.com>
37403
37404 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37405 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37406
ad0686cc 374072007-07-22 Robert Millan <rmh@aybabtu.com>
37408
37409 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37410 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37411 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37412 flag when running on SmartFirmware.
37413 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37414 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37415 was set.
37416
37417 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37418 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37419 rather than decreasing it.
37420
37421 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37422 there's not enough space to do it, fail in the same way as when it
37423 can't be done because there are no partitions.
37424
37425 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37426 when nvsetenv failed.
37427
969c02ec 374282007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37429
37430 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37431 because this rule is automatically generated.
37432 (grub-mkrescue): Removed for the same reason as above.
37433
5a79f472 374342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37435
37436 Migrate to GNU General Public License Version 3.
f19dbdb7 37437
5a79f472 37438 * COPYING: Replaced with the plain text version of GPLv3.
37439
37440 * config.guess: Updated from gnulib.
37441 * config.sub: Likewise.
37442
37443 * geninit.sh: Output a GPLv3 copyright notice.
37444 * geninitheader.sh: Likewise.
37445 * genmodsrc.sh: Likewise.
37446 * gensymlist.sh.in: Likewise.
37447
37448 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37449 * boot/i386/pc/diskboot.S: Likewise.
37450 * boot/i386/pc/pxeboot.S: Likewise.
37451 * commands/blocklist.c: Likewise.
37452 * commands/boot.c: Likewise.
37453 * commands/cat.c: Likewise.
37454 * commands/cmp.c: Likewise.
37455 * commands/configfile.c: Likewise.
37456 * commands/echo.c: Likewise.
37457 * commands/help.c: Likewise.
37458 * commands/ls.c: Likewise.
37459 * commands/search.c: Likewise.
37460 * commands/terminal.c: Likewise.
37461 * commands/test.c: Likewise.
37462 * commands/videotest.c: Likewise.
37463 * commands/i386/cpuid.c: Likewise.
37464 * commands/i386/pc/halt.c: Likewise.
37465 * commands/i386/pc/play.c: Likewise.
37466 * commands/i386/pc/reboot.c: Likewise.
37467 * commands/i386/pc/vbeinfo.c: Likewise.
37468 * commands/i386/pc/vbetest.c: Likewise.
37469 * commands/ieee1275/halt.c: Likewise.
37470 * commands/ieee1275/reboot.c: Likewise.
37471 * commands/ieee1275/suspend.c: Likewise.
37472 * disk/loopback.c: Likewise.
37473 * disk/lvm.c: Likewise.
37474 * disk/raid.c: Likewise.
37475 * disk/efi/efidisk.c: Likewise.
37476 * disk/i386/pc/biosdisk.c: Likewise.
37477 * disk/ieee1275/ofdisk.c: Likewise.
37478 * font/manager.c: Likewise.
37479 * fs/affs.c: Likewise.
37480 * fs/ext2.c: Likewise.
37481 * fs/fat.c: Likewise.
37482 * fs/fshelp.c: Likewise.
37483 * fs/hfs.c: Likewise.
37484 * fs/hfsplus.c: Likewise.
37485 * fs/iso9660.c: Likewise.
37486 * fs/jfs.c: Likewise.
37487 * fs/minix.c: Likewise.
37488 * fs/sfs.c: Likewise.
37489 * fs/ufs.c: Likewise.
37490 * fs/xfs.c: Likewise.
37491 * hello/hello.c: Likewise.
37492 * include/grub/acorn_filecore.h: Likewise.
37493 * include/grub/arg.h: Likewise.
37494 * include/grub/bitmap.h: Likewise.
37495 * include/grub/boot.h: Likewise.
37496 * include/grub/cache.h: Likewise.
37497 * include/grub/device.h: Likewise.
37498 * include/grub/disk.h: Likewise.
37499 * include/grub/dl.h: Likewise.
37500 * include/grub/elfload.h: Likewise.
37501 * include/grub/env.h: Likewise.
37502 * include/grub/err.h: Likewise.
37503 * include/grub/file.h: Likewise.
37504 * include/grub/font.h: Likewise.
37505 * include/grub/fs.h: Likewise.
37506 * include/grub/fshelp.h: Likewise.
37507 * include/grub/gzio.h: Likewise.
37508 * include/grub/hfs.h: Likewise.
37509 * include/grub/kernel.h: Likewise.
37510 * include/grub/loader.h: Likewise.
37511 * include/grub/lvm.h: Likewise.
37512 * include/grub/misc.h: Likewise.
37513 * include/grub/mm.h: Likewise.
37514 * include/grub/net.h: Likewise.
37515 * include/grub/normal.h: Likewise.
37516 * include/grub/parser.h: Likewise.
37517 * include/grub/partition.h: Likewise.
37518 * include/grub/pc_partition.h: Likewise.
37519 * include/grub/raid.h: Likewise.
37520 * include/grub/rescue.h: Likewise.
37521 * include/grub/script.h: Likewise.
37522 * include/grub/setjmp.h: Likewise.
37523 * include/grub/symbol.h: Likewise.
37524 * include/grub/term.h: Likewise.
37525 * include/grub/terminfo.h: Likewise.
37526 * include/grub/tparm.h: Likewise.
37527 * include/grub/types.h: Likewise.
37528 * include/grub/video.h: Likewise.
37529 * include/grub/efi/api.h: Likewise.
37530 * include/grub/efi/chainloader.h: Likewise.
37531 * include/grub/efi/console.h: Likewise.
37532 * include/grub/efi/console_control.h: Likewise.
37533 * include/grub/efi/disk.h: Likewise.
37534 * include/grub/efi/efi.h: Likewise.
37535 * include/grub/efi/pe32.h: Likewise.
37536 * include/grub/efi/time.h: Likewise.
37537 * include/grub/i386/linux.h: Likewise.
37538 * include/grub/i386/setjmp.h: Likewise.
37539 * include/grub/i386/types.h: Likewise.
37540 * include/grub/i386/efi/kernel.h: Likewise.
37541 * include/grub/i386/efi/loader.h: Likewise.
37542 * include/grub/i386/efi/time.h: Likewise.
37543 * include/grub/i386/pc/biosdisk.h: Likewise.
37544 * include/grub/i386/pc/boot.h: Likewise.
37545 * include/grub/i386/pc/chainloader.h: Likewise.
37546 * include/grub/i386/pc/console.h: Likewise.
37547 * include/grub/i386/pc/init.h: Likewise.
37548 * include/grub/i386/pc/kernel.h: Likewise.
37549 * include/grub/i386/pc/loader.h: Likewise.
37550 * include/grub/i386/pc/memory.h: Likewise.
37551 * include/grub/i386/pc/multiboot.h: Likewise.
37552 * include/grub/i386/pc/serial.h: Likewise.
37553 * include/grub/i386/pc/time.h: Likewise.
37554 * include/grub/i386/pc/vbe.h: Likewise.
37555 * include/grub/i386/pc/vbeblit.h: Likewise.
37556 * include/grub/i386/pc/vbefill.h: Likewise.
37557 * include/grub/i386/pc/vbeutil.h: Likewise.
37558 * include/grub/i386/pc/vga.h: Likewise.
37559 * include/grub/ieee1275/ieee1275.h: Likewise.
37560 * include/grub/ieee1275/ofdisk.h: Likewise.
37561 * include/grub/powerpc/libgcc.h: Likewise.
37562 * include/grub/powerpc/setjmp.h: Likewise.
37563 * include/grub/powerpc/types.h: Likewise.
37564 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37565 * include/grub/powerpc/ieee1275/console.h: Likewise.
37566 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37567 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37568 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37569 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37570 * include/grub/powerpc/ieee1275/time.h: Likewise.
37571 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37572 * include/grub/sparc64/libgcc.h: Likewise.
37573 * include/grub/sparc64/setjmp.h: Likewise.
37574 * include/grub/sparc64/types.h: Likewise.
37575 * include/grub/sparc64/ieee1275/console.h: Likewise.
37576 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37577 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37578 * include/grub/sparc64/ieee1275/time.h: Likewise.
37579 * include/grub/util/biosdisk.h: Likewise.
37580 * include/grub/util/getroot.h: Likewise.
37581 * include/grub/util/lvm.h: Likewise.
37582 * include/grub/util/misc.h: Likewise.
37583 * include/grub/util/raid.h: Likewise.
37584 * include/grub/util/resolve.h: Likewise.
37585 * io/gzio.c: Likewise.
37586 * kern/device.c: Likewise.
37587 * kern/disk.c: Likewise.
37588 * kern/dl.c: Likewise.
37589 * kern/elf.c: Likewise.
37590 * kern/env.c: Likewise.
37591 * kern/err.c: Likewise.
37592 * kern/file.c: Likewise.
37593 * kern/fs.c: Likewise.
37594 * kern/loader.c: Likewise.
37595 * kern/main.c: Likewise.
37596 * kern/misc.c: Likewise.
37597 * kern/mm.c: Likewise.
37598 * kern/parser.c: Likewise.
37599 * kern/partition.c: Likewise.
37600 * kern/rescue.c: Likewise.
37601 * kern/term.c: Likewise.
37602 * kern/efi/efi.c: Likewise.
37603 * kern/efi/init.c: Likewise.
37604 * kern/efi/mm.c: Likewise.
37605 * kern/i386/dl.c: Likewise.
37606 * kern/i386/efi/init.c: Likewise.
37607 * kern/i386/efi/startup.S: Likewise.
37608 * kern/i386/pc/init.c: Likewise.
37609 * kern/i386/pc/lzo1x.S: Likewise.
37610 * kern/i386/pc/startup.S: Likewise.
37611 * kern/ieee1275/ieee1275.c: Likewise.
37612 * kern/powerpc/cache.S: Likewise.
37613 * kern/powerpc/dl.c: Likewise.
37614 * kern/powerpc/ieee1275/cmain.c: Likewise.
37615 * kern/powerpc/ieee1275/crt0.S: Likewise.
37616 * kern/powerpc/ieee1275/init.c: Likewise.
37617 * kern/powerpc/ieee1275/openfw.c: Likewise.
37618 * kern/sparc64/cache.S: Likewise.
37619 * kern/sparc64/dl.c: Likewise.
37620 * kern/sparc64/ieee1275/init.c: Likewise.
37621 * kern/sparc64/ieee1275/openfw.c: Likewise.
37622 * loader/efi/chainloader.c: Likewise.
37623 * loader/efi/chainloader_normal.c: Likewise.
37624 * loader/i386/efi/linux.c: Likewise.
37625 * loader/i386/efi/linux_normal.c: Likewise.
37626 * loader/i386/pc/chainloader.c: Likewise.
37627 * loader/i386/pc/chainloader_normal.c: Likewise.
37628 * loader/i386/pc/linux.c: Likewise.
37629 * loader/i386/pc/linux_normal.c: Likewise.
37630 * loader/i386/pc/multiboot.c: Likewise.
37631 * loader/i386/pc/multiboot_normal.c: Likewise.
37632 * loader/powerpc/ieee1275/linux.c: Likewise.
37633 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37634 * normal/arg.c: Likewise.
37635 * normal/cmdline.c: Likewise.
37636 * normal/command.c: Likewise.
37637 * normal/completion.c: Likewise.
37638 * normal/execute.c: Likewise.
37639 * normal/function.c: Likewise.
37640 * normal/lexer.c: Likewise.
37641 * normal/main.c: Likewise.
37642 * normal/menu.c: Likewise.
37643 * normal/menu_entry.c: Likewise.
37644 * normal/misc.c: Likewise.
37645 * normal/parser.y: Likewise.
37646 * normal/script.c: Likewise.
37647 * normal/i386/setjmp.S: Likewise.
37648 * normal/powerpc/setjmp.S: Likewise.
37649 * normal/sparc64/setjmp.S: Likewise.
37650 * partmap/acorn.c: Likewise.
37651 * partmap/amiga.c: Likewise.
37652 * partmap/apple.c: Likewise.
37653 * partmap/gpt.c: Likewise.
37654 * partmap/pc.c: Likewise.
37655 * partmap/sun.c: Likewise.
37656 * term/gfxterm.c: Likewise.
37657 * term/terminfo.c: Likewise.
37658 * term/efi/console.c: Likewise.
37659 * term/i386/pc/console.c: Likewise.
37660 * term/i386/pc/serial.c: Likewise.
37661 * term/i386/pc/vesafb.c: Likewise.
37662 * term/i386/pc/vga.c: Likewise.
37663 * term/ieee1275/ofconsole.c: Likewise.
37664 * util/biosdisk.c: Likewise.
37665 * util/console.c: Likewise.
37666 * util/genmoddep.c: Likewise.
37667 * util/getroot.c: Likewise.
37668 * util/grub-emu.c: Likewise.
37669 * util/grub-mkdevicemap.c: Likewise.
37670 * util/grub-probe.c: Likewise.
37671 * util/lvm.c: Likewise.
37672 * util/misc.c: Likewise.
37673 * util/raid.c: Likewise.
37674 * util/resolve.c: Likewise.
37675 * util/update-grub.in: Likewise.
37676 * util/update-grub_lib.in: Likewise.
37677 * util/grub.d/00_header.in: Likewise.
37678 * util/grub.d/10_hurd.in: Likewise.
37679 * util/grub.d/10_linux.in: Likewise.
37680 * util/i386/efi/grub-install.in: Likewise.
37681 * util/i386/efi/grub-mkimage.c: Likewise.
37682 * util/i386/pc/grub-install.in: Likewise.
37683 * util/i386/pc/grub-mkimage.c: Likewise.
37684 * util/i386/pc/grub-mkrescue.in: Likewise.
37685 * util/i386/pc/grub-setup.c: Likewise.
37686 * util/i386/pc/misc.c: Likewise.
37687 * util/powerpc/ieee1275/grub-install.in: Likewise.
37688 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37689 * util/powerpc/ieee1275/misc.c: Likewise.
37690 * video/bitmap.c: Likewise.
37691 * video/video.c: Likewise.
37692 * video/i386/pc/vbe.c: Likewise.
37693 * video/i386/pc/vbeblit.c: Likewise.
37694 * video/i386/pc/vbefill.c: Likewise.
37695 * video/i386/pc/vbeutil.c: Likewise.
37696 * video/readers/tga.c: Likewise.
37697
3572d015 376982007-07-02 Robert Millan <rmh@aybabtu.com>
37699
37700 * conf/i386-efi.rmk: Replace obsolete reference to
37701 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37702 with util/getroot.c.
37703 * conf/powerpc-ieee1275.rmk: Likewise.
37704 * conf/sparc64-ieee1275.rmk: Likewise.
37705
37706 * util/grub-emu.c (main): Fix unchecked pointer handling.
37707
2c2a681b 377082007-07-02 Robert Millan <rmh@aybabtu.com>
37709
37710 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37711 invocation to fail, in order to support partition-less media.
37712
37713 * util/i386/pc/grub-install.in: Likewise.
37714
37715 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37716 which fs or partmap modules are needed (akin to its sister scripts).
37717
37718 Also use grub-probe to get rid of unportable /proc/mounts check.
37719
37720 Print the same informational message that the other scripts do, before
fe6b695a 37721 exiting.
2c2a681b 37722
6193defe 377232007-06-23 Robert Millan <rmh@aybabtu.com>
37724
fe6b695a 37725 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37726 a font file can be found and, if so, echo the GRUB path to it.
37727
37728 * util/update-grub.in: Handle multiple terminals depending on user
37729 input, platform availability and font file presence. Propagate
37730 variables of our findings to /etc/grub.d/ children.
37731
37732 * util/grub.d/00_header.in: Handle multiple terminals, based on
37733 environment setup by update-grub.
37734
eface1dc 377352007-06-23 Robert Millan <rmh@aybabtu.com>
37736
ba50d28f 37737 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37738
bf697e28 377392007-06-21 Robert Millan <rmh@aybabtu.com>
37740
37741 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37742 indicate end of data section in kernel image.
37743 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37744 GRUB_KERNEL_MACHINE_DATA_END.
37745
37746 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37747 space for it.
37748 * kern/i386/efi/startup.S: Likewise.
37749
37750 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37751 during image generation. Implement --prefix option to override this
37752 patch.
37753 * util/i386/efi/grub-mkimage.c: Likewise.
37754
37755 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37756 code to make path relative to its root into a separate function.
37757
37758 * util/i386/pc/grub-install.in: Use newly provided
37759 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37760 pass the result to grub-install --prefix.
37761
baa574b4 377622007-06-13 Robert Millan <rmh@aybabtu.com>
37763
37764 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37765 DEFAULT_DEVICE_MAP.
37766 * util/grub-emu.c: Use above definitions from misc.h instead of
37767 defining them.
37768 * util/grub-mkdevicemap.c: Likewise.
37769 * util/i386/pc/grub-setup.c: Likewise.
37770 * util/grub-probe.c: Likewise.
37771 (probe): Abort with grub_util_error() when either
37772 grub_guess_root_device or grub_util_get_grub_dev fails.
37773
0215dcbf 377742007-06-12 Robert Millan <rmh@aybabtu.com>
37775
37776 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37777 "pager" assignment.
37778 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37779 "pcdata".
37780 * util/grub-probe.c (probe): Likewise for "drive_name".
37781
8af2ab7b 377822007-06-11 Robert Millan <rmh@aybabtu.com>
37783
37784 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37785 not just the cdrom one.
37786
59d31694 377872007-06-11 Robert Millan <rmh@aybabtu.com>
37788
37789 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37790 Add --pkglibdir=DIR option to override pkglibdir.
37791 Mention --image-type=TYPE in help output.
37792 Fix --grub-mkimage (it was a no-op).
fe6b695a 37793 Abort gracefully when no parameter is given.
59d31694 37794
7ee367e4 377952007-06-11 Robert Millan <rmh@aybabtu.com>
37796
37797 * util/i386/pc/grub-mkrescue.in: New file.
37798 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37799 * Makefile.in: Handle bin_SCRIPTS.
37800
29b0ed46 378012007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37802
37803 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37804 list of video modes.
37805
c0f90770 378062007-06-06 Robert Millan <rmh@aybabtu.com>
37807
37808 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37809 file doesn't exist, or if it is in a filesystem grub can't read.
37810
37811 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37812 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37813 header comment to fit in 80 columns when the variables are resolved.
37814
37815 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37816 could be identified by update-grub. Remove redundant check for
fe6b695a 37817 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37818 handles that).
37819
fb36dc26 378202007-06-04 Robert Millan <rmh@aybabtu.com>
37821
37822 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37823
37824 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37825
37826 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37827
0c68c93e 378282007-06-04 Robert Millan <rmh@aybabtu.com>
37829
37830 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37831
37832 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37833 grub_apple_partition_map_fini.
37834
37835 * util/biosdisk.c
37836 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37837 to access >2 TiB disks).
37838
37839 Print disk->total_sectors with %llu instead of %lu, since this
37840 variable is always 64-bit (prevents wrong disk size from being displayed
37841 on either >2 TiB disk or big-endian CPU).
37842
37843 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37844 into a generic case that supports all (sane) partition maps.
37845
37846 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37847 breaks big-endian.
37848
37849 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37850 and grub_apple_partition_map_fini() after that.
37851
0f23eb74 378522007-06-01 Robert Millan <rmh@aybabtu.com>
37853
37854 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37855
37856 * util/grub.d/00_header.in: Only enable gfxterm when
37857 convert_system_path_to_grub_path() succeeds.
37858
42c71976 378592007-05-20 Robert Millan <rmh@aybabtu.com>
37860
37861 * util/update-grub_lib.in: New file.
37862 * DISTLIST: Add update-grub_lib.in.
37863 * conf/common.rmk: Generate update-grub_lib and install it in
37864 $(lib_DATA).
37865 * Makefile.in: Add install routine for $(lib_DATA).
37866
37867 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37868 function provided by update-grub_lib to support arbitrary paths of
37869 unifont.pff.
37870 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37871 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37872
5beb2291 378732007-05-19 Robert Millan <rmh@aybabtu.com>
37874
37875 * commands/i386/cpuid.c: New module.
37876 * DISTLIST: Add it.
37877 * conf/i386-efi.rmk: Enable cpuid.mod.
37878 * conf/i386-pc.rmk: Likewise.
37879
7262eca1 378802007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37881
37882 * kern/disk.c (grub_disk_read): Check return value of
37883 grub_realloc().
37884
260ba823 378852007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37886
37887 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37888 arrays.
37889 * disk/raid.c (grub_raid_open): Likewise.
37890
1ecb6cf2 378912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37892
37893 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37894 stack instead of on the heap.
37895
37896 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37897 before doing a read on it.
37898
37899 * configure.ac: Only use -fno-stack-protector for the target
37900 environment.
f19dbdb7 37901
21c8cbb1 379022007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37903
37904 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37905 __attribute_ ((unused)) to mode_type argument.
37906
37907 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37908
21c8cbb1 37909 * kern/misc.c (memcmp): Fix prototype.
37910
37911 * include/grub/partition.h [GRUB_UTIL]
37912 (grub_gpt_partition_map_init): Add prototype.
37913 (grub_gpt_partition_map_fini): Likewise.
37914
37915 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37916 at the right place.
37917
37918 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37919 (grub_fat_read_data): Likewise.
37920 (grub_fat_find_dir): Likewise.
37921
37922 * font/manager.c (find_glyph): Make table a const.
37923 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37924
849d55d3 379252007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37926
37927 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37928 code, first search for device in /dev/mapper, then in /dev.
37929 (grub_util_get_grub_dev): New function.
37930 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37931 prototype.
37932 * util/grub-probe.c (probe): Remove check for RAID, call
37933 grub_util_get_grub_dev() instead of
37934 grub_util_biosdisk_get_grub_dev().
37935 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37936 grub_util_biosdisk_get_grub_dev().
37937 * util/i386/pc/grub-setup.c (main): Likewise.
37938
8fff7c2f 379392007-05-16 Robert Millan <rmh@aybabtu.com>
37940
37941 * DISTLIST: Update for the latest changes.
37942 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37943 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37944 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37945 grub/util/biosdisk.h.
37946 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37947 grub/util/biosdisk.h.
37948
48e12b52 379492007-05-16 Robert Millan <rmh@aybabtu.com>
37950
37951 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37952
46b9d128 379532007-05-16 Robert Millan <rmh@aybabtu.com>
37954
37955 * util/i386/efi/grub-install.in: New.
37956 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37957 newly added grub-install.
37958 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37959 include.
37960 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37961 grub/util/biosdisk.h.
37962 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37963 grub/util/biosdisk.h.
37964
2d1a40a9 379652007-05-16 Robert Millan <rmh@aybabtu.com>
37966
37967 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37968 * include/grub/util/biosdisk.h: ... here.
37969 * util/i386/pc/biosdisk.c: Moved to ...
37970 * util/biosdisk.c: ... here.
37971 * util/i386/pc/getroot.c: Moved to ...
37972 * util/getroot.c: ... here.
37973 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37974 * util/grub-mkdevicemap.c: ... here.
37975 * util/i386/pc/grub-probe.c: Moved to ...
37976 * util/grub-probe.c: ... here.
37977
9e26e3bc 379782007-05-15 Robert Millan <rmh@aybabtu.com>
37979
37980 * util/update-grub.in: Remove duplicated line in grub.cfg header
37981 message.
37982
57f96397 379832007-05-13 Robert Millan <rmh@aybabtu.com>
37984
37985 * util/update-grub.in: Fix a few assumptions about the devices holding
37986 /, /boot and /boot/grub being the same.
37987 * util/grub.d/00_header.in: Likewise.
37988 * util/grub.d/10_hurd.in: Likewise.
37989 * util/grub.d/10_linux.in: Likewise.
37990
37991 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37992 patterns. Use that to define the `.old' suffix as older than `'.
37993
37994 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37995
37996 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37997 the grub.cfg header message.
37998
2e610d62 379992007-05-11 Robert Millan <rmh@aybabtu.com>
38000
38001 * util/update-grub.in: Create device.map if it doesn't already exist,
38002 before attempting to run grub-probe.
38003 Check for grub-probe and grub-mkdevicemap with the same code
38004 grub-install is using.
38005 Remove test mode.
38006
3f6a10ef 380072007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38008
38009 * Makefile.in: Add the datarootdir autoconf variable.
38010
02e7b75e 380112007-05-09 Robert Millan <rmh@aybabtu.com>
38012
38013 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38014 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38015
75f396cc 380162007-05-07 Robert Millan <rmh@aybabtu.com>
38017
38018 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38019 determine partition map module.
38020 * util/i386/pc/grub-install.in: Use this feature to decide which
38021 partition module to load, instead of hardcoding pc and gpt.
38022
da65cb36 380232007-05-07 Robert Millan <rmh@aybabtu.com>
38024
38025 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38026 source directory differs from build directory.
38027
b57d6a91 380282007-05-05 Robert Millan <rmh@aybabtu.com>
38029
38030 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38031 initialisation.
38032
509d00f1 380332007-05-05 Robert Millan <rmh@aybabtu.com>
38034
38035 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38036
c48f23ef 380372007-05-05 Robert Millan <rmh@aybabtu.com>
38038
38039 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38040 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38041
20b97658 380422007-05-05 Robert Millan <rmh@aybabtu.com>
38043
38044 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38045 (grub_probe_SOURCES): Likewise.
38046 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38047 GPT and initialize dos_part and bsd_part accordingly.
38048 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38049 install_bsd_part.
38050 (main): Activate gpt module for use during partition identification,
38051 and deactivate it afterwards.
38052 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38053 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38054 partition identification, and deactivate it afterwards.
38055
99123174 380562007-05-05 Robert Millan <rmh@aybabtu.com>
38057
38058 * term/i386/pc/console.c (grub_console_fini): Call
38059 grub_term_set_current() before grub_term_unregister().
38060
ebd97f6e 380612007-05-04 Robert Millan <rmh@aybabtu.com>
38062
38063 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38064 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38065 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38066 and update-grub_DATA.
38067 * conf/common.rmk: Build and install update-grub components.
38068 * conf/common.mk: Regenerate.
38069 * util/update-grub.in: New. Core of update-grub.
38070 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38071 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38072 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38073 * util/grub.d/README: New. Document grub.d directory layout.
38074
b06a264d 380752007-05-01 Robert Millan <rmh@aybabtu.com>
38076
38077 * util/grub-emu.c: Move initialization functions
38078 grub_util_biosdisk_init() and grub_init_all() before
38079 grub_util_biosdisk_get_grub_dev(), which relies on them.
38080
41f0050e 380812007-04-19 Robert Millan <rmh@aybabtu.com>
38082
38083 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38084 it is used later.
38085
04582bb3 380862007-04-18 Jerone Young <jerone@gmail.com>
38087
f19dbdb7 38088 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38089 stanza.
38090
08db4632 380912007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38092
08db4632 38093 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38094 continue on and look for device node with real device name.
38095
801b76be 380962007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38097
fe6b695a 38098 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38099 ability.
38100 * Makefile.in: Add autoconf package transformation code.
38101 * util/i386/pc/grub-install.in: Likewise.
38102 * util/powerpc/ieee1275/grub-install.in: Likewise.
38103
6795c4e1 381042007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38105
38106 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38107 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38108 (EXT2_REVISION): Likewise.
38109 (EXT2_INODE_SIZE): Likewise.
38110 (struct grub_ext2_block_group): Added a missing member
38111 "used_dirs".
38112 (grub_ext2_read_inode): Divide by the inode size in a superblock
38113 instead of 128 to obtain INODES_PER_BLOCK.
38114 Use the macro EXT2_INODE_SIZE instead of directly using
38115 SBLOCK->INODE_SIZE.
38116
d70af616 381172007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38118
38119 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38120 superblock instead of the structure size to compute an
38121 offset. This fixes the problem that GRUB could not read a
38122 filesystem when inode size is different from 128-byte.
38123
3b801603 381242007-03-05 Marco Gerards <marco@gnu.org>
38125
38126 * normal/main.c (read_config_file): When "menu" is not set, create
38127 an initial context.
38128
4785bfe4 381292007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38130
38131 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38132 (HEAP_LIMIT): New macro.
38133 (grub_claim_heap): Claim memory up to `heaplimit'.
38134
a0cbb023 381352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38136
38137 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38138 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38139 (_start): Likewise.
38140 (grub_arch_modules_addr): Return address after `_end'.
38141 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38142 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38143 (add_segments): Calculate `_end' from phdr size and location.
38144 (ALIGN_UP): Moved to ...
38145 * include/grub/misc.h: here.
38146 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38147 New macro.
38148 (GRUB_IEEE1275_MODULE_BASE): Removed.
38149
fd7d8eba 381502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38151
38152 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38153 loop boundary.
38154
9b09e6fc 381552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38156
38157 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38158 All users updated.
38159 (grub_elf64_load_hook_t): Likewise.
38160 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38161 debug output.
38162
3ce27299 381632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38164
38165 * kern/mm.c: Update copyright.
38166 (grub_mm_debug): Correct syntax error.
38167 (grub_mm_dump_free): New function.
38168 (grub_debug_free): Call `grub_free'.
38169 * include/grub/mm.h: Update copyright.
38170 (grub_mm_dump_free): Add declaration.
38171
077d5fee 381722007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38173
38174 * include/grub/ieee1275/ieee1275.h: Update copyright.
38175 * kern/powerpc/ieee1275/init.c: Likewise.
38176 * kern/powerpc/ieee1275/openfw.c: Likewise.
38177
38178 * loader/powerpc/ieee1275/linux.c: Likewise.
38179 * include/grub/elfload.h: Likewise.
38180 * kern/elf.c: Likewise.
38181 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38182 callers.
38183 (grub_elf64_load): Likewise.
38184 (grub_elf32_load_segment): Move to a nested function.
38185 (grub_elf64_load_segment): Likewise.
38186
dc946850 381872007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38188
38189 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38190 prototype.
38191 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38192 (grub_heap_len): Likewise.
38193 (HEAP_SIZE): New macro.
38194 (grub_claim_heap): New function.
38195 (grub_machine_init): Don't claim heap directly. Call
38196 `grub_claim_heap'.
38197 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38198 (grub_available_iterate): New function.
38199
baa2a121 382002007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38201
38202 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38203 * configure.ac: Use it for testing the HOST and TARGET compilers.
38204
4fe9862e 382052006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38206
38207 * Makefile.in (enable_grub_emu): New variable.
38208 * configure.ac (--enable-grub-emu): New option.
38209 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38210 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38211 * conf/i386-pc.rmk: Likewise.
38212 * conf/powerpc-ieee1275.rmk: Likewise.
38213 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38214
a8aa5762 382152006-12-12 Marco Gerards <marco@gnu.org>
38216
38217 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38218
38219 * kern/env.c (grub_env_unset): Don't free the member `value' when
38220 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38221 pointer.
38222
38223 * normal/main.c (current_menu): Removed.
38224 (free_menu): Unset the `menu' environment variable.
38225 (grub_normal_menu_addentry): Make use of the environment variable
38226 `menu', instead of using the global `current_menu'. Allocate
38227 memory for the sourcecode of this entry.
38228 (read_config_file): New argument `nested', changed all callers.
38229 Only in the case of a new context, initialize a new menu. Set the
38230 `menu' environment variable.
38231 (grub_normal_execute): Don't set and unset the environment
38232 variable `menu' here anymore. Only free the menu when leaving the
38233 context.
38234
38235 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38236 leak.
38237
957b3a3e 382382006-12-11 Marco Gerards <marco@gnu.org>
38239
38240 * normal/menu_entry.c (run): Fix off by one bug so the last line
38241 is executed. Move the loader check to outside the loop.
38242
ef875714 382432006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38244
38245 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38246
4e739985 382472006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38248
38249 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38250 the number of sectors. Reported by Andrey Shuvikov
38251 <mr_hyro@yahoo.com>.
f19dbdb7 38252
790707f2 382532006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38254
38255 * kern/disk.c (grub_disk_read): When there is a read error, always
38256 try to read only the necessary data.
f19dbdb7 38257
790707f2 38258 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38259 disk/raid.c.
38260 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38261 prototype.
38262 [GRUB_UTIL] (grub_raid_fini): Likewise.
38263 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38264 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38265 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38266 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38267 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38268 and grub_raid_fini().
f19dbdb7 38269
03e58196 382702006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38271
38272 * include/grub/types.h (__unused): Rename to UNUSED.
38273 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38274 (grub_elf64_size): Likewise.
f19dbdb7 38275
ae4f23bf 382762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38277
38278 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38279 grub_error_push and grub_error_pop in the error-handling path.
38280 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38281 length.
38282
2166cc83 382832006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38284
38285 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38286 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38288 (kernel_elf_SOURCES): Likewise.
38289 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38290 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38291 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38292 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38293 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38294 (elf_mod_SOURCES): New variable.
38295 (elf_mod_CFLAGS): Likewise.
38296 (elf_mod_LDFLAGS): Likewise.
38297 * include/grub/types.h (__unused): New macro.
38298 * include/grub/elfload.h: New file.
38299 * kern/elf.c: Likewise.
38300 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38301 (ELF32_LOADMASK): New macro.
38302 (ELF64_LOADMASK): Likewise.
38303 (vmlinux): Removed.
38304 (grub_linux_load32): New function.
38305 (grub_linux_load64): Likewise.
38306 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38307 Use grub_elf_t instead of grub_file_t.
38308
a09d5aa5 383092006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38310
38311 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38312 `catch_result' to struct set_color_args.
38313
d976fc51 383142006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38315
38316 * normal/menu.c: Include grub/script.h.
38317 * normal/menu_entry.c: Likewise.
38318 * include/grub/normal.h: Do not include grub/script.h.
38319
67507549 383202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38321
38322 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38323
69203a99 383242006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38325
38326 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38327 disk.
38328 (grub_disk_close): Print debug messages when closing a disk.
38329 (grub_disk_read): Print debug messages when disk read fails.
38330 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38331 filesystem type.
38332 * kern/partition.c: Include misc.h.
38333 (grub_partition_iterate): Print debug messages when detecting
38334 partition type.
38335
e2b8278c 383362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38337
38338 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38339 is negative.
38340 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38341
97b2f2ff 383422006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38343
38344 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38345 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38346
6555d655 383472006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38348
38349 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38350 instead of sizeof(lv). Patch by Michael Guntsche.
38351
4d42b77f 383522006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38353
38354 * disk/lvm.c: Rename VGS to VG_LIST.
38355 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38356 (grub_lvm_open): Likewise.
38357 Thanks to Michael Guntsche for finding this bug.
38358
5d74d927 383592006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38360
38361 * configure.ac (AC_INIT): Bumped to 1.95.
38362
a1bb27e4 383632006-10-14 Robert Millan <rmh@aybabtu.com>
38364
38365 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38366 with "/dev/.static/dev/md".
38367
e0994b8b 383682006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38369
38370 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38371 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38372 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38373 DRIVE_NAME are always freed.
38374
38375 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38376 DOS_PART, as a DOS partition is counted from one instead of zero
38377 now. Reported by Robert Millan.
38378
ddd5cee9 383792006-10-14 Robert Millan <rmh@aybabtu.com>
38380
38381 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38382 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38383 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38384 string returned by grub_guess_root_device.
38385 * util/i386/pc/grub-setup.c: Likewise.
38386 * util/i386/pc/grub-probefs.c: Likewise.
38387
38388 * util/i386/pc/grub-probefs.c: Rename to ...
38389 * util/i386/pc/grub-probe.c: ... this.
38390 * DISTLIST: Remove grub-probefs, add grub-probe.
38391 * conf/i386-efi.rmk: Likewise.
38392 * conf/i386-pc.rmk: Likewise.
38393 * util/i386/pc/grub-install.in: Likewise.
38394
38395 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38396 choose which information we want to print.
38397
2b002173 383982006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38399
38400 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38401 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38402 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38403 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38404 video/readers/tga.c and video/i386/pc/vbeutil.c.
38405
384062006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38407
38408 Added support for RAID and LVM.
f19dbdb7 38409
2b002173 38410 * disk/lvm.c: New file.
38411 * disk/raid.c: Likewise.
38412 * include/grub/lvm.h: Likewise.
f19dbdb7 38413 * include/grub/raid.h: Likewise.
2b002173 38414 * include/grub/util/lvm.h: Likewise.
38415 * include/grub/util/raid.h: Likewise.
38416 * util/lvm.c: Likewise.
38417 * util/raid.c: Likewise.
38418
38419 * include/grub/disk.h (grub_disk_dev_id): Add
38420 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38421 (grub_disk_get_size): New prototype.
38422 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38423 returns a partition.
38424 (grub_disk_get_size): New function.
f19dbdb7 38425
2b002173 38426 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38427 verbatim if grub_install_dos_part is -2.
38428
38429 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38430 and LVM devices.
38431
38432 * util/i386/pc/grub-setup.c (setup): New argument
38433 MUST_EMBED. Force embedding of GRUB when the argument is
38434 true. Close FILE before returning.
38435 (main): Add support for RAID and LVM.
f19dbdb7 38436
2b002173 38437 * conf/common.rmk: Add RAID and LVM modules.
38438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38439 util/lvm.c.
38440 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38441
38442 * kern/misc.c (grub_strstr): New function.
38443 * include/grub/misc.h (grub_strstr): New prototype.
38444
050548d0 384452006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38446
38447 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38448
da849d2d 384492006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38450
38451 * kern/misc.c (grub_strtoull): Guess the base only if not
38452 specified.
38453
97b2f2ff 384542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38455
38456 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38457 PowerMac support.
38458
97b2f2ff 384592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38460
38461 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38462
38463 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38464 Remove `flags' argument. All callers changed.
38465 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38466 (IEEE1275_IHANDLE_INVALID): New variable.
38467 (IEEE1275_CELL_INVALID): New variable.
38468 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38469 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38470 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38471 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38472 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38473 codes from Open Firmware. All callers updated.
38474 (grub_ieee1275_next_property): Directly return Open Firmware return
38475 code.
38476 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38477 Standardize error checking from `grub_ieee1275_get_property'.
38478 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38479 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38480
97b2f2ff 384812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38482
38483 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38484 `instance_to_package_args' to `instance_to_path_args'.
38485
38486 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38487 `grub_ieee1275_chosen'.
38488
38489 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38490 `grub_ieee1275_interpret'.
38491
97b2f2ff 384922006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38493
38494 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38495
97b2f2ff 384962006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38497
38498 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38499 (__cmpdi): Likewise.
38500
38501 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38502 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38503 `grub_ssize_t'.
38504
02bb8acc 38505 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38506
38507 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38508 to type `grub_ssize_t'.
38509 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38510
7f9a8531 385112006-09-22 Marco Gerards <marco@gnu.org>
38512
38513 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38514 newlines.
38515
b5ef1102 385162006-09-22 Marco Gerards <marco@gnu.org>
38517
38518 * commands/echo.c: New file.
38519
38520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38521
38522 * conf/common.rmk (echo_mod_SOURCES): New variable.
38523 (echo_mod_CFLAGS): Likewise.
38524 (echo_mod_LDFLAGS): Likewise.
38525
2cff3677 385262006-09-22 Marco Gerards <marco@gnu.org>
38527
38528 * normal/main.c (get_line): Malloc memory instead of using
38529 preallocated memory. Removed the arguments `cmdline' and
38530 `max_len'. Updated all callers.
38531
6ba4688b 385322006-09-22 Marco Gerards <marco@gnu.org>
38533
38534 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38535 (normal_mod_DEPENDENCIES): Likewise.
38536
38537 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38538 (normal_mod_DEPENDENCIES): Likewise.
38539
38540 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38541
e02ac02c 385422006-09-22 Johan Rydberg <jrydberg@gnu.org>
38543
38544 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38545 programs.
38546 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38547 (normal_mod_DEPENDENCIES): Likewise.
38548 * conf/i386-pc.mk: Regenerate.
38549 * conf/i386-efi.mk: Likewise
38550 * conf/common.mk: Likewise.
38551 * conf/powerpc-ieee1275.mk: Likewise.
38552 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38553
8d252e44 385542006-09-22 Robert Millan <rmh@aybabtu.com>
38555
38556 Sync with i386 version.
38557 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38558 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38559
209bf7ac 385602006-09-21 Robert Millan <rmh@aybabtu.com>
38561
38562 Import from GRUB Legacy (lib/device.c):
38563 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38564 (init_device_map) [__linux__]: Add support for I2O devices.
38565
6b146090 385662006-09-14 Marco Gerards <marco@gnu.org>
38567
38568 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38569 `-melf_i386'.
38570
e38600a8 385712006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38572
38573 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38574 /boot/grub/*.lst.
78fa1790 38575
2952da5d 38576 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38577
2952da5d 38578 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38579 before adding it to device.map.
38580
01b82a64 385812006-08-15 Johan Rydberg <jrydberg@gnu.org>
38582
fe6b695a 38583 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38584 compiles a file; using the -MD option.
38585 * conf/common.mk: Regenerate.
38586 * conf/i386-pc.mk: Likewise.
38587 * conf/i386-efi.mk: Likewise.
38588 * conf/powerpc-ieee1275.mk: Likewise.
38589 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38590
1064790d 385912006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38592
38593 Move the prototypes of grub_setjmp and grub_longjmp to
38594 cpu/setjmp.h, so that each architecture may specify different
38595 attributes.
f19dbdb7 38596
1064790d 38597 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38598 (grub_longjmp): Likewise.
38599 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38600 (grub_longjmp): Likewise.
38601 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38602 (grub_longjmp): Likewise.
38603
38604 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38605 [!GRUB_UTIL] (grub_longjmp): Removed.
38606
29dda3ed 386072006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38608
38609 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38610 "color!" method does not return any value.
38611
ad2a06ed 386122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38613
38614 * include/grub/bitmap.h: New file.
38615
38616 * include/grub/i386/pc/vbeutil.h: Likewise.
38617
38618 * video/bitmap.c: Likewise.
38619
38620 * video/readers/tga.c: Likewise.
38621
38622 * video/i386/pc/vbeutil.c: Likewise.
38623
38624 * commands/videotest.c: Code cleanup and updated to reflect to new
38625 video API.
38626
38627 * term/gfxterm.c: Likewise.
38628
38629 * video/video.c: Likewise.
38630
38631 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38632 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38633 (bitmap_mod_SOURCES): New entry.
38634 (bitmap_mod_CFLAGS): Likewise.
38635 (bitmap_mod_LDFLAGS): Likewise.
38636 (tga_mod_SOURCES): Likewise.
38637 (tga_mod_CFLAGS): Likewise.
38638 (tga_mod_LDFLAGS): Likewise.
38639
38640 * include/grub/video.h (grub_video_blit_operators): New enum type.
38641 (grub_video_render_target): Changed as forward declaration and moved
38642 actual definition to be video driver specific.
38643 (grub_video_adapter.blit_bitmap): Added blitting operator.
38644 (grub_video_adapter.blit_render_target): Likewise.
38645 (grub_video_blit_bitmap): Likewise.
38646 (grub_video_blit_render_target): Likewise.
38647
38648 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38649 driver specific render target definition.
38650 (grub_video_vbe_map_rgba): Added driver internal helper.
38651 (grub_video_vbe_unmap_color): Updated to use
38652 grub_video_i386_vbeblit_info.
38653 (grub_video_vbe_get_video_ptr): Likewise.
38654
38655 * include/grub/i386/pc/vbeblit.h
38656 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38657 grub_video_i386_vbeblit_info.
38658 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38659 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38660 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38661 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38662 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38663 (grub_video_i386_vbeblit_index_index): Likewise.
38664 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38665 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38666 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38667 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38668 operator.
38669 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38670 operator.
38671
38672 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38673 include/grub/i386/pc/vbeblit.h.
38674
38675 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38676 Updated to use grub_video_i386_vbeblit_info.
38677 (grub_video_i386_vbefill_R8G8B8): Likewise.
38678 (grub_video_i386_vbefill_index): Likewise.
38679 (grub_video_i386_vbefill): Added generic filler.
38680
38681 * video/i386/pc/vbefill.c: Updated to reflect changes on
38682 include/grub/i386/pc/vbefill.h.
38683
38684 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38685 grub_video_i386_vbeblit_info.
38686 (grub_video_vbe_unmap_color): Likewise.
38687 (grub_video_vbe_blit_glyph): Likewise.
38688 (grub_video_vbe_scroll): Likewise.
38689 (grub_video_vbe_draw_pixel): Removed function.
38690 (grub_video_vbe_get_pixel): Likewise.
38691 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38692 updated code to use it.
38693 (common_blitter): Added common blitter for render target and bitmap.
38694 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38695 (grub_video_vbe_blit_render_target): Likewise.
38696
bc8c036d 386972006-07-30 Johan Rydberg <jrydberg@gnu.org>
38698
38699 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38700 is in text mode if there is no console control protocol instance
38701 available.
38702
684a8eff 387032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38704
38705 * include/grub/video.h: Code cleanup.
38706
38707 * include/grub/i386/pc/vbe.h: Likewise.
38708
38709 * video/i386/pc/vbe.c: Likewise.
38710
38711 * video/i386/pc/vbeblit.c: Likewise.
38712
38713 * video/i386/pc/vbefill.c: Likewise.
38714
38715 * video/video.c: Likewise. Also added more comments.
38716
5915059b 387172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38718
38719 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38720 (struct grub_biosdisk_dap): Likewise.
38721
38722 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38723 linkage settings for all functions.
38724
90ce5d56 387252006-07-12 Marco Gerards <marco@gnu.org>
38726
38727 * configure.ac (--enable-mm-debug): Fix typo.
38728
38729 * genkernsyms.sh.in: Use proper quoting for `CC'.
38730
43e7f879 387312006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38732
38733 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38734 (normal_mod_ASFLAGS): Remove "-m32".
38735
4889bdec 387362006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38737
38738 * util/misc.c: Include config.h.
38739 [!HAVE_MEMALIGN]: Do not include malloc.h.
38740 (grub_memalign): Use posix_memalign, if present. Then, use
38741 memalign, if present. Otherwise, emit an error.
38742
38743 * util/grub-emu.c: Do not include malloc.h.
38744
38745 * include/grub/util/misc.h: Include unistd.h. This is required for
38746 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38747 D. Eades III <hde@foobar-qux.org>.
38748
38749 * configure.ac (AC_GNU_SOURCE): Added.
38750 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38751 type.
38752
fd39d4da 387532006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38754
38755 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38756 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38757
b786f3b5 387582006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38759
38760 * include/grub/types.h (grub_host_addr_t): Rename to
38761 grub_target_addr_t.
38762 (grub_host_off_t): Rename to grub_target_off_t.
38763 (grub_host_size_t): Rename to grub_target_size_t.
38764 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38765 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38766
38767 * include/grub/kernel.h (struct grub_module_header): Change type
38768 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38769 (grub_module_info): Likewise.
f19dbdb7 38770
051988bb 387712006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38772
38773 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38774 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38775 Velazquez <jesus.velazquez@gmail.com>.
38776
deae281b 387772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38778
38779 Count partitions from 1 instead of 0 in the string representation
38780 of partitions. Still use 0-based internally.
f19dbdb7 38781
deae281b 38782 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38783 (sun_partition_map_iterate): Use grub_partition_t instead of
38784 struct grub_partition *. Cast DESC->START_CYLINDER to
38785 grub_uint64_t after converting the endian.
38786 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38787 (sun_partition_map_get_name): Add 1 to P->INDEX.
38788
38789 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38790 PCDATA->DOS_PART.
38791 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38792
38793 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38794 zero instead of one.
38795 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38796 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38797
38798 * partmap/apple.c (apple_partition_map_iterate): Change the type
38799 of POS to unsigned.
38800 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38801 (apple_partition_map_get_name): Add 1 into P->INDEX.
38802
38803 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38804 of POS to unsigned.
38805 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38806 calculate the offset of a partition.
38807 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38808 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38809
38810 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38811 SECTOR to grub_disk_addr_t.
38812 (acorn_partition_map_iterate): Likewise.
38813 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38814 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38815 top.
38816 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38817
38818 * kern/i386/pc/init.c (make_install_device): Add 1 into
38819 GRUB_INSTALL_DOS_PART.
38820
38821 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38822 conditional.
38823
524a1e6a 388242006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38825
38826 Clean up the code to support 64-bit addressing in disks and
38827 files. This change is not enough for filesystems yet.
f19dbdb7 38828
524a1e6a 38829 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38830 type of "start" to grub_uint64_t.
38831 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38832 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38833 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38834 convert addresses.
38835
38836 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38837 to grub_disk_addr_t.
38838
38839 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38840 string.
38841
38842 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38843
38844 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38845 to char *.
38846
38847 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38848
38849 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38850
38851 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38852
38853 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38854 to grub_off_t, to detect an error from grub_file_seek.
38855 (grub_multiboot_load_elf32): Likewise.
38856
38857 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38858 maximum unsigned long value when an overflow is detected.
38859 (grub_strtoull): New function.
38860 (grub_divmod64): Likewise.
38861 (grub_lltoa): use grub_divmod64.
38862
38863 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38864 grub_disk_addr_t.
38865 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38866 the pointer to next character. Use grub_strtoull instead of
38867 grub_strtoul.
38868 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38869 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38870 respectively.
38871
fe6b695a 38872 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38873 return value is signed.
38874 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38875 test if OFFSET is less than zero, as OFFSET is unsigned now.
38876
38877 * kern/disk.c (struct grub_disk_cache): Change the type of
38878 "sector" to grub_disk_addr_t.
38879 (grub_disk_cache_get_index): Change the type of SECTOR to
38880 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38881 unsigned after shifting.
38882 (grub_disk_cache_invalidate): Change the type of SECTOR to
38883 grub_disk_addr_t.
38884 (grub_disk_cache_unlock): Likewise.
38885 (grub_disk_cache_store): Likewise.
38886 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38887 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38888 grub_disk_addr_t and grub_uint64_t, respectively.
38889 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38890 body, as the value of OFFSET is tweaked by
38891 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38892 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38893 respectively.
38894 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38895 body, as the value of OFFSET is tweaked by
38896 grub_disk_check_range. Change the types of LEN and N to
38897 grub_size_t.
38898
38899 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38900 and "saved_offset" to grub_off_t.
38901 (test_header): Cast BUF to char *.
38902 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38903 to char *.
38904 (grub_gzio_read): Change the types of OFFSET and SIZE to
38905 grub_off_t and grub_size_t, respectively.
38906
38907 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38908 Removed.
38909 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38910 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38911 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38912 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38913 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38914
38915 * include/grub/types.h (grub_off_t): Unconditionally set to
38916 grub_uint64_t.
38917 (grub_disk_addr_t): Changed to grub_uint64_t.
38918
38919 * include/grub/partition.h (struct grub_partition): Change the
38920 types of "start", "len" and "offset" to grub_disk_addr_t,
38921 grub_uint64_t and grub_disk_addr_t, respectively.
38922 (grub_partition_get_start): Return grub_disk_addr_t.
38923 (grub_partition_get_len): Return grub_uint64_t.
38924
38925 * include/grub/misc.h (grub_strtoull): New prototype.
38926 (grub_divmod64): Likewise.
38927
38928 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38929 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38930 grub_off_t, respectively.
38931 All callers and references changed.
38932
38933 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38934 grub_size_t in "read".
38935 All callers and references changed.
38936
38937 * include/grub/file.h (struct grub_file): Change the types of
38938 "offset" and "size" to grub_off_t and grub_off_t,
38939 respectively. Change the type of SECTOR to grub_disk_addr_t in
38940 "read_hook".
38941 (grub_file_read): Change the type of LEN to grub_size_t.
38942 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38943 grub_off_t.
38944 (grub_file_size): Return grub_off_t.
38945 (grub_file_tell): Likewise.
38946 All callers and references changed.
38947
38948 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38949 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38950 "write".
38951 (struct grub_disk): Change the type of "total_sectors" to
38952 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38953 "read_hook".
524a1e6a 38954 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38955 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38956 (grub_disk_write): Likewise.
38957 All callers and references changed.
38958
38959 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38960 char * for grub_strncmp to silence gcc.
38961 (grub_iso9660_mount): Likewise.
38962 (grub_iso9660_mount): Likewise.
38963 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38964 return statement.
38965 (grub_iso9660_iterate_dir): Likewise.
38966 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38967
38968 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38969 LEN to grub_disk_addr_t and grub_size_t, respectively.
38970
38971 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38972
38973 * fs/jfs.c (grub_jfs_read_file): Likewise.
38974
38975 * fs/minix.c (grub_jfs_read_file): Likewise.
38976
38977 * fs/sfs.c (grub_jfs_read_file): Likewise.
38978
38979 * fs/ufs.c (grub_jfs_read_file): Likewise.
38980
38981 * fs/xfs.c (grub_jfs_read_file): Likewise.
38982
38983 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38984 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38985 respectively.
38986
38987 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38988 BLKNR to -1 instead of returning GRUB_ERRNO.
38989 (grub_ext2_read_file): Change the types of SECTOR and
38990 LEN to grub_disk_addr_t and grub_size_t, respectively.
38991
38992 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38993 LEN to grub_disk_addr_t and grub_size_t, respectively.
38994
38995 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38996 grub_file_read.
38997
38998 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38999 string. Do not cast SECTOR explicitly.
39000
39001 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39002 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39003 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39004 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39005 over 2TB and LBA mode is not supported, raise an error.
39006 (get_safe_sectors): New function.
39007 (grub_biosdisk_read): Use get_safe_sectors.
39008 (grub_biosdisk_write): Likewise.
39009
39010 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39011 (grub_efidisk_write): Likewise.
39012
39013 * disk/loopback.c (delete_loopback): Cosmetic changes.
39014 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39015 correctly.
39016 (grub_loopback_open): Likewise.
39017 (grub_loopback_read): Likewise. Also, change the type of POS to
39018 grub_off_t, and fix the usage of grub_memset.
39019
39020 * commands/i386/pc/play.c: Include grub/machine/time.h.
39021
39022 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39023 print FILE->SIZE.
39024
39025 * commands/configfile.c: Include grub/env.h.
39026
39027 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39028 GRUB_ERRNO directly instead. Change the type of POS to
39029 grub_off_t. Follow the coding standard.
39030
39031 * commands/blocklist.c: Include grub/partition.h.
39032 (grub_cmd_blocklist): Return an error if the underlying device is
39033 not a disk. Take the starting sector of a partition into account,
39034 if a partition is used.
39035
39036 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39037 a length field.
39038 (lba_mode): Support 64-bit addresses.
39039 (chs_mode): Likewise.
39040 (copy_buffer): Adapted to the new offsets of a length field and a
39041 segment field.
39042 (blocklist_default_start): Allocate 64-bit space.
39043
39044 * boot/i386/pc/boot.S (force_lba): Removed.
39045 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39046 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39047 space.
39048 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39049 is useless.
39050 (lba_mode): Refactored to support a 64-bit address. More size
39051 optimization.
39052 (setup_sectors): Likewise.
39053
53af98ad 390542006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39055
39056 * DISTLIST: Added include/grub/i386/linux.h. Removed
39057 include/grub/i386/pc/linux.h
39058
39059 * configure.ac (AC_INIT): Bumped to 1.94.
39060
39061 * config.guess: Updated from gnulib.
39062 * config.sub: Likewise.
39063 * install-sh: Likewise.
39064 * mkinstalldirs: Likewise.
39065
b4c1940a 390662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39067
39068 * conf/common.rmk (grub_modules_init.lst): Depended on
39069 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39070 MODSRCFILES.
39071
39072 * genmk.rb (PModule::rule): Reverted the previous change.
39073
cfca1cfd 390742006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39075
39076 * conf/common.rmk (grub_modules_init.lst): Depends on
39077 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39078 that the target does not exist before producing.
39079 (grub_modules_init.h): Remove the target before generating.
39080 (grub_emu_init.c): Likewise.
39081
39082 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39083
aa6d7826 390842006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39085
39086 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39087 for the target-specific tests. Make sure that we also have the
39088 up-to-date target variables for those tests.
39089
26c607b9 390902006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39091
39092 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39093 (PModule::rule): Likewise.
39094
0162321a 390952006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39096
39097 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39098 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39099 target-specific flags should be prefixed.
39100 (PModule::rule): Likewise.
39101
6c826348 391022006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39103
39104 * configure.ac (CMP): Check if cmp is available explicitly.
39105
b977bf01 391062006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39107
39108 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39109 (target_cpu): New variable.
39110 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39111
b977bf01 39112 * util/i386/pc/grub-install.in (host_cpu): Removed.
39113 (target_cpu): New variable.
39114 (pkglibdir): Use target_cpu instead of host_cpu.
39115
39116 * util/genmoddep.c: Removed.
f19dbdb7 39117
b977bf01 39118 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39119 instead of GRUB_HOST_SIZEOF_VOID_P.
39120 * kern/dl.c: Likewise.
39121
39122 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39123 ...
39124 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39125 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39126 (GRUB_TARGET_SIZEOF_LONG): ... this.
39127 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39128 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39129 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39130 to ...
39131 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39132 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39133 (GRUB_TARGET_SIZEOF_LONG): ... this.
39134 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39135 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39136 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39137 to ...
39138 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39139 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39140 (GRUB_TARGET_SIZEOF_LONG): ... this.
39141 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39142 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39143
39144 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39145 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39146 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39147 instead of GRUB_HOST_SIZEOF_LONG.
39148 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39149 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39150 GRUB_CPU_WORDS_BIGENDIAN.
39151 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39152 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39153 grub_host_ssize_t.
39154
39155 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39156 (genmoddep_SOURCES): Likewise.
39157 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39158 (genmoddep_SOURCES): Likewise.
39159 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39160 (genmoddep_SOURCES): Likewise.
39161 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39162 Likewise.
39163 (genmoddep_SOURCES): Likewise.
39164
39165 * genmoddep.awk: New file.
39166
39167 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39168 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39169 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39170 (PModule::rule): Likewise.
39171 (Program::rule): Likewise.
39172 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39173 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39174 respectively.
39175
39176 * configure.ac: Rewritten intensively to use host and target
39177 instead of build and host, respectively.
39178
39179 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39180 (host_cpu): Removed.
39181 (target_cpu): New variable.
39182 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39183 (BUILD_CC): Removed.
39184 (BUILD_CFLAGS): Likewise.
39185 (BUILD_CPPFLAGS): Likewise.
39186 (TARGET_CC): New variable.
39187 (TARGET_CFLAGS): Likewise.
39188 (TARGET_CPPFLAGS): Likewise.
39189 (TARGET_LDFLAGS): Likewise.
39190 (AWK): Likewise.
39191 (include): Use target_cpu instead of host_cpu.
39192 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39193
b977bf01 39194 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39195
f09771a1 391962006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39197
39198 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39199 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39200 field 'false' to 'exec_on_false'.
39201 (grub_script_create_cmdif): Renamed argument names to reflect above
39202 changes.
39203
39204 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39205
39206 * normal/script.c (grub_script_create_cmdif): Likewise.
39207
118f4fb3 392082006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39209
39210 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39211 top.
39212 (grub_hfsplus_btree_recptr): Likewise.
39213 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39214 FILEBLOCK both to pass a block number and store next block
39215 number.
39216 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39217 overflow file correctly. Specify errors appropriately, because
39218 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39219 grub_hfsplus_btree_recptr to get the pointer to a found key.
39220 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39221 is found.
39222
39223 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39224 linux.mod.
39225 (_linux_mod_SOURCES): New variable.
39226 (_linux_mod_CFLAGS): Likewise.
39227 (_linux_mod_LDFLAGS): Likewise.
39228 (linux_mod_SOURCES): Likewise.
39229 (linux_mod_CFLAGS): Likewise.
39230 (linux_mod_LDFLAGS): Likewise.
39231
39232 * DISTLIST: Added loader/i386/efi/linux.c,
39233 loader/i386/efi/linux_normal.c and
39234 include/grub/i386/efi/loader.h.
39235
39236 * loader/i386/efi/linux.c: New file.
39237 * loader/i386/efi/linux_normal.c: Likewise.
39238 * include/grub/i386/efi/loader.h: Likewise.
39239
89a7d726 392402006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39241
39242 * commands/blocklist.c: New file.
39243
39244 * DISTLIST: Added commands/blocklist.c.
39245
39246 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39247 color for the background, and a darker color for the foreground.
89a7d726 39248 (grub_console_checkkey): Return READ_KEY.
39249 (grub_console_cls): Set the background to
39250 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39251
39252 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39253
39254 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39255 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39256
39257 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39258 prototype.
39259
39260 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39261 BG. The spec is wrong again.
39262
39263 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39264 prototype.
39265 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39266
39267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39268 commands/blocklist.c.
39269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39270
89a7d726 39271 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39272 (blocklist_mod_SOURCES): New variable.
39273 (blocklist_mod_CFLAGS): Likewise.
39274 (blocklist_mod_LDFLAGS): Likewise.
39275
75c8f258 392762006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39277
39278 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39279 duplication.
39280 (lba_mode): Use %eax more intensively to reduce the code size.
39281
da2eb181 392822006-05-20 Marco Gerards <marco@gnu.org>
39283
39284 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39285
39286 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39287 for `menuentry'.
39288 (script): Accept leading newlines.
39289 (newlines): New rule to describe 0 or more newlines.
39290 (commands): Accept `command' with trailing newline. Fixed the
39291 order in which arguments were passed to `grub_script_add_cmd'.
39292 Accept commands separated by newlines.
39293 (function): Changed to accept newlines.
39294 (menuentry) Rewritten.
39295
39296 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39297 front of the list, instead of to the end.
39298
577b4050 392992006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39300
39301 * util/i386/pc/grub-install.in (bindir): New variable.
39302 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39303 Shaver <lbgwjl@gmail.com>.
39304
0d6e1189 393052006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39306
39307 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39308 grub/machine/linux.h
39309 * loader/i386/pc/linux.c: Likewise.
39310
39311 * include/grub/i386/pc/linux.h: Moved to ...
39312 * include/grub/i386/linux.h: ... here.
39313
39314 * include/grub/i386/linux.h (struct linux_kernel_params): New
39315 struct.
f19dbdb7 39316
31b86e9f 393172006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39318
39319 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39320 checking.
39321 (grub_video_vbe_blit_glyph): Likewise.
39322 (grub_video_vbe_blit_bitmap): Likewise.
39323 (grub_video_vbe_blit_render_target): Likewise.
39324
83b984de 393252006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39326
39327 * configure.ac (--with-platform): Properly quote the square
39328 brackets.
39329
5f0413bd 393302006-05-08 Marco Gerards <marco@gnu.org>
39331
39332 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39333 this...
39334 (kernel_elf_HEADERS): ...to this. Updated all users.
39335 (grubof_symlist.c): Renamed from this...
39336 (kernel_elf_symlist.c): ...to this. Updated all users.
39337 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39338 (grubof_SOURCES): Renamed from this...
39339 (kernel_elf_SOURCES): ...to this.
39340 (grubof_HEADERS): Renamed from this...
39341 (kernel_elf_HEADERS): ...to this.
39342 (grubof_CFLAGS): Renamed from this...
39343 (kernel_elf_CFLAGS): ...to this.
39344 (grubof_ASFLAGS): Renamed from this...
39345 (kernel_elf_ASFLAGS): ...to this.
39346 (grubof_LDFLAGS): Renamed from this...
39347 (kernel_elf_LDFLAGS): ...to this.
39348
39349 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39350 this...
39351 (kernel_elf_HEADERS): ...to this. Updated all users.
39352 (grubof_symlist.c): Renamed from this...
39353 (kernel_elf_symlist.c): ...to this. Updated all users.
39354 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39355 (grubof_SOURCES): Renamed from this...
39356 (kernel_elf_SOURCES): ...to this.
39357 (grubof_HEADERS): Renamed from this...
39358 (kernel_elf_HEADERS): ...to this.
39359 (grubof_CFLAGS): Renamed from this...
39360 (kernel_elf_CFLAGS): ...to this.
39361 (grubof_ASFLAGS): Renamed from this...
39362 (kernel_elf_ASFLAGS): ...to this.
39363 (grubof_LDFLAGS): Renamed from this...
39364 (kernel_elf_LDFLAGS): ...to this.
39365
39366 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39367 `kernel.elf' instead of `grubof'.
39368
05568c2e 393692006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39370
39371 Add --with-platform to configure. Use pkglibdir instead of
39372 pkgdatadir. This is reported by Roger Leigh.
39373
39374 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39375 (host_vendor): Likewise.
39376 (host_os): Likewise.
39377 (pkgdatadir): Likewise.
39378 (platform): New variable.
39379 (pkglibdir): Likewise.
39380 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39381
05568c2e 39382 * util/i386/pc/grub-install.in (datadir): Removed.
39383 (host_vendor): Likewise.
39384 (host_os): Likewise.
39385 (pkgdatadir): Likewise.
39386 (platform): New variable.
39387 (pkglibdir): Likewise.
39388 Use PKGLIBDIR instead of PKGDATADIR.
39389
39390 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39391 instead of GRUB_DATADIR.
39392 (main): Likewise.
39393 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39394 (main): Likewise.
39395 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39396 (main): Likewise.
39397
39398 * configure.ac (--with-platform): New option.
39399 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39400
39401 * Makefile.in: Include a makefile based on PLATFORM instead of
39402 HOST_VENDOR.
39403 (pkgdatadir): Not appended by the machine type.
39404 (pkglibdir): Appended by the machine type.
39405 (host_vendor): Removed.
39406 (platform): New variable.
39407 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39408 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39409 (uninstall): Likewise.
39410
4e93851c 394112006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39412
39413 Use the environment context in the menu. Remove the commands
39414 "default" and "timeout", and use variables instead.
f19dbdb7 39415
4e93851c 39416 * normal/menu.c: Include grub/env.h.
39417 (print_entry): Cast TITLE to silence gcc.
39418 (get_timeout): New function.
39419 (set_timeout): Likewise.
39420 (get_entry_number): Likewise.
39421 (run_menu): Use a default entry, a fallback entry and a timeout
39422 in the environment variables "default", "fallback" and
39423 "timeout". Also, tweak the default entry if it is not within the
39424 current menu entries.
39425 (grub_menu_run): Use a fallback entry in the environment variable
39426 "fallback".
39427
39428 * normal/main.c (read_config_file): Do not initialize
39429 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39430 NEWMENU->TIMEOUT.
39431 (grub_normal_execute): Use a data slot to store the menu.
39432
39433 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39434 fallback_entry and timeout.
39435 (struct grub_menu_list): Removed.
39436 (grub_menu_list_t): Likewise.
39437 (struct grub_context): Likewise.
39438 (grub_context_t): Likewise.
39439 (grub_context_get): Likewise.
39440 (grub_context_get_current_menu): Likewise.
39441 (grub_context_push_menu): Likewise.
39442 (grub_context_pop_menu): Likewise.
39443 (grub_default_init): Likewise.
39444 (grub_default_fini): Likewise.
39445 (grub_timeout_init): Likewise.
39446 (grub_timeout_fini): Likewise.
39447
39448 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39449 and timeout.mod.
39450 (normal_mod_SOURCES): Removed normal/context.c.
39451
39452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39453 commands/default.c, commands/timeout.c and normal/context.c.
39454 (normal_mod_SOURCES): Removed normal/context.c.
39455
39456 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39457 commands/timeout.c and normal/context.c.
39458 (normal_mod_SOURCES): Removed normal/context.c.
39459
39460 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39461 commands/default.c, commands/timeout.c and normal/context.c.
39462 (normal_mod_SOURCES): Removed normal/context.c.
39463
39464 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39465 timeout.mod.
39466 (default_mod_SOURCES): Removed.
39467 (default_mod_CFLAGS): Likewise.
39468 (default_mod_LDFLAGS): Likewise.
39469 (timeout_mod_SOURCES): Removed.
39470 (timeout_mod_CFLAGS): Likewise.
39471 (timeout_mod_LDFLAGS): Likewise.
39472
39473 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39474 normal/context.c.
39475
39476 * commands/default.c: Removed.
39477 * commands/timeout.c: Likewise.
39478 * normal/context.c: Likewise.
39479
1eb9cc1d 394802006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39481
39482 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39483
385bd9c1 394842006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39485
39486 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39487 "next" to "prev" for readability.
39488 (struct grub_env_sorted_var): New struct.
39489 (grub_env_context): Renamed to ...
39490 (initial_context): ... this.
39491 (grub_env_var_context): Renamed to ...
39492 (current_context): ... this.
39493 (grub_env_find): Look only at CURRENT_CONTEXT.
39494 (grub_env_context_open): Rewritten to copy exported variables from
39495 previous context.
39496 (grub_env_context_close): Rewritten according to the new
39497 scheme. Also, add an assertion to prevent the initial context from
39498 removed.
39499 (grub_env_insert): Removed the code for the sorted list.
39500 (grub_env_remove): Likewise.
39501 (grub_env_export): Simply mark the variable with
39502 GRUB_ENV_VAR_GLOBAL.
39503 (grub_env_set): A cosmetic change for naming consistency.
39504 (grub_env_get): Likewise.
39505 (grub_env_unset): Likewise.
39506 (grub_env_iterate): Rewritten to sort variables within this
39507 function.
39508 (grub_register_variable_hook): Fixed for naming consistency. Call
39509 grub_env_find again, only if NAME is not found at the first time.
39510 (mangle_data_slot_name): New function.
39511 (grub_env_set_data_slot): Likewise.
39512 (grub_env_get_data_slot): Likewise.
39513 (grub_env_unset_data_slot): Likewise.
39514
39515 * include/grub/env.h (grub_env_var_type): New enum.
39516 (GRUB_ENV_VAR_LOCAL): New constant.
39517 (GRUB_ENV_VAR_GLOBAL): Likewise.
39518 (GRUB_ENV_VAR_DATA): Likewise.
39519 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39520 "type".
39521 (grub_env_set): Replace VAR with NAME for consistency.
39522 (grub_register_variable_hook): Likewise.
39523 (grub_env_export): Specify the name of the argument.
39524 (grub_env_set_data_slot): New prototype.
39525 (grub_env_get_data_slot): Likewise.
39526 (grub_env_unset_data_slot): Likewise.
39527
7f362539 395282006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39529
39530 Extend the loader so that GRUB can accept a loader which comes
39531 back to GRUB when a loaded image exits. Also, this change adds
39532 support for a chainloader on EFI.
f19dbdb7 39533
7f362539 39534 * term/efi/console.c: Include grub/misc.h.
39535 (grub_console_checkkey): Display a scan code on the top for
39536 debugging. This will be removed once the EFI port gets stable.
39537 Correct the scan code mapping.
39538
39539 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39540 allocate memory from larger regions, in order to reduce the number
39541 of allocated regions. Otherwise, the MacOSX loader panics.
39542 (filter_memory_map): Avoid less than 1MB for compatibility with
39543 other loaders.
39544 (add_memory_regions): Allocate from the tail of a region, if
39545 possible, to avoid allocating a region near to 1MB, for the MacOSX
39546 loader.
39547
39548 * kern/efi/init.c (grub_efi_set_prefix): Specify
39549 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39550
39551 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39552 argument IMAGE_HANDLE and specify it to get a loaded image.
39553 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39554 grub_efi_get_loaded_image.
fe6b695a 39555 (grub_efi_get_filename): Divide the length by the size of
7f362539 39556 grub_efi_char16_t.
39557 (grub_efi_get_device_path): New function.
39558 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39559 the length by the size of grub_efi_char16_t for a file path device
39560 path node.
39561
39562 * kern/loader.c (grub_loader_noreturn): New variable.
39563 (grub_loader_set): Accept a new argument NORETURN. Set
39564 GRUB_LOADER_NORETURN to NORETURN.
39565 All callers changed.
39566 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39567 grub_machine_fini.
39568
39569 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39570 prototype.
39571 (grub_efi_get_loaded_image): Take an argument to specify an image
39572 handle.
39573
39574 * include/grub/loader.h (grub_loader_set): Added one more argument
39575 NORETURN.
39576
39577 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39578 instead of grub_efi_open_protocol.
39579 (grub_efidisk_get_device_name): Likewise.
39580 (grub_efidisk_close): Print a newline.
39581 (grub_efidisk_get_device_handle): Fixed to use
39582 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39583 GRUB_EFI_DEVICE_PATH_TYPE.
39584
39585 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39586 * kern/efi/efi.c (device_path_guid): ... here.
39587
39588 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39589 chain.mod.
39590 (kernel_mod_HEADERS): Added efi/disk.h.
39591 (_chain_mod_SOURCES): New variable.
39592 (_chain_mod_CFLAGS): Likewise.
39593 (_chain_mod_LDFLAGS): Likewise.
39594 (chain_mod_SOURCES): Likewise.
39595 (chain_mod_CFLAGS): Likewise.
39596 (chain_mod_LDFLAGS): Likewise.
39597
39598 * DISTLIST: Added include/grub/efi/chainloader.h,
39599 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39600
39601 * include/grub/efi/chainloader.h: New file.
39602 * loader/efi/chainloader.c: Likewise.
39603 * loader/efi/chainloader_normal.c: Likewise.
39604
c0111d6e 396052006-04-30 Marco Gerards <marco@gnu.org>
39606
39607 * commands/configfile.c (grub_cmd_source): New function.
39608 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39609 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39610
df5341da 396112006-04-30 Marco Gerards <marco@gnu.org>
39612
39613 * normal/execute.c (grub_script_execute_cmd): Change the return
39614 type to `grub_err_t'. Correctly return the error.
39615 (grub_script_execute_cmdline): In case a command line is not a
39616 command or a function, try to interpret it as an assignment.
39617
f85934bd 396182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39619
39620 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39621 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39622 skip a node whose name is obviously invalid as UTF-16,
39623 i.e. contains a NUL character. Stop the iteration when the last
39624 directory entry is found. Instead of using the return value of
39625 grub_hfsplus_btree_iterate_node, store the value in RET and use
39626 it, because the iterator can be stopped by the last directory
39627 entry.
39628
8f8a2cf8 396292006-04-30 Marco Gerards <marco@gnu.org>
39630
39631 * include/grub/env.h (grub_env_export): New prototype. Reported
39632 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39633
a27e84ce 396342006-04-30 Marco Gerards <marco@gnu.org>
39635
39636 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39637 size of the extents in a catalog file record.
39638
eaef0553 396392006-04-29 Marco Gerards <marco@gnu.org>
39640
39641 * commands/configfile.c (grub_cmd_configfile): Execute the
39642 configfile within its own context.
39643
39644 * include/grub/env.h (grub_env_context_open): New prototype.
39645 (grub_env_context_close): Likewise.
39646
39647 * kern/env.c (grub_env): Removed.
39648 (grub_env_sorted): Likewise.
39649 (grub_env_context): New variable.
39650 (grub_env_var_context): Likewise.
39651 (grub_env_find): Search both the active context and the global
39652 context.
39653 (grub_env_context_open): New function.
39654 (grub_env_context_close): Likewise.
39655 (grub_env_insert): Likewise.
39656 (grub_env_remove): Likewise.
39657 (grub_env_export): Likewise.
39658 (grub_env_set): Changed to use helper functions to avoid code
39659 duplication.
39660 (grub_env_iterate): Rewritten so both the current context and the
39661 global context are being used.
39662
39663 * normal/command.c (export_command): New function.
39664 (grub_command_init): Register the `export' function.
39665
7b455f4d 396662006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39667
39668 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39669 explicitly to suppress gcc's warnings.
39670 * fs/fat.c (grub_fat_find_dir): Likewise.
39671 (grub_fat_label): Likewise.
39672 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39673 (grub_xfs_mount): Likewise.
39674 (grub_xfs_label): Likewise.
39675 * fs/affs.c (grub_affs_mount): Likewise.
39676 (grub_affs_label): Likewise.
39677 (grub_affs_iterate_dir): Likewise.
39678 * fs/sfs.c (grub_sfs_mount): Likewise.
39679 (grub_sfs_iterate_dir): Likewise.
39680 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39681 * fs/hfs.c (grub_hfs_mount): Likewise.
39682 (grub_hfs_cmp_catkeys): Likewise.
39683 (grub_hfs_find_dir): Likewise.
39684 (grub_hfs_dir): Likewise.
39685 (grub_hfs_label): Likewise.
39686 * fs/jfs.c (grub_jfs_mount): Likewise.
39687 (grub_jfs_opendir): Likewise.
39688 (grub_jfs_getent): Likewise.
39689 (grub_jfs_lookup_symlink): Likewise.
39690 (grub_jfs_label): Likewise.
39691 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39692 (grub_hfsplus_iterate_dir): Likewise.
39693 (grub_hfsplus_btree_iterate_node): Made static.
39694
39695 * util/grub-emu.c (prefix): New variable.
39696 (grub_machine_set_prefix): New function.
39697 (main): Do not set the environment variable "prefix" here. Only
39698 set PREFIX, which is used later by grub_machine_set_prefix.
39699
39700 * include/grub/video.h: Do not include grub/symbol.h.
39701 (grub_video_register): Not exported. This symbol is not defined in
39702 the kernel.
39703 (grub_video_unregister): Likewise.
39704 (grub_video_iterate): Likewise.
39705 (grub_video_setup): Likewise.
39706 (grub_video_restore): Likewise.
39707 (grub_video_get_info): Likewise.
39708 (grub_video_get_blit_format): Likewise.
39709 (grub_video_set_palette): Likewise.
39710 (grub_video_get_palette): Likewise.
39711 (grub_video_set_viewport): Likewise.
39712 (grub_video_get_viewport): Likewise.
39713 (grub_video_map_color): Likewise.
39714 (grub_video_map_rgb): Likewise.
39715 (grub_video_map_rgba): Likewise.
39716 (grub_video_fill_rect): Likewise.
39717 (grub_video_blit_glyph): Likewise.
39718 (grub_video_blit_bitmap): Likewise.
39719 (grub_video_blit_render_target): Likewise.
39720 (grub_video_scroll): Likewise.
39721 (grub_video_swap_buffers): Likewise.
39722 (grub_video_create_render_target): Likewise.
39723 (grub_video_delete_render_target): Likewise.
39724 (grub_video_set_active_render_target): Likewise.
39725
39726 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39727 Undefined.
39728 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39729
39730 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39731 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39732 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39733 instead of $(srcdir)/genkernsyms.sh.
39734
39735 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39736 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39737 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39738 instead of $(srcdir)/genkernsyms.sh.
39739
39740 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39741 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39742 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39743 instead of $(srcdir)/genkernsyms.sh.
39744
39745 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39746 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39747 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39748 instead of $(srcdir)/genkernsyms.sh.
39749
39750 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39751 genkernsyms.sh.
39752
39753 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39754 genkernsyms.sh.
39755 (gensymlist.sh): New target.
39756 (genkernsyms.sh): Likewise.
39757
39758 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39759 genkernsyms.sh.in and gensymlist.sh.in.
39760
39761 * genkernsyms.sh: Removed.
39762 * gensymlist.sh: Likewise.
f19dbdb7 39763
7b455f4d 39764 * genkernsyms.sh.in: New file.
39765 * gensymlist.sh.in: Likewise.
39766
1885bb27 397672006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39768
39769 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39770 clobber "prefix", since we may have already set it manually.
39771
71538dff 397722006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39773
39774 * kern/misc.c (abort): New alias for grub_abort.
39775
2965c7cc 397762006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39777
39778 A new machine-specific function "grub_machine_set_prefix" is
39779 defined. This is called after loading modules, so that a prefix
39780 initialization can use modules. Also, this change adds an
39781 intensive debugging feature for the memory manager via the
39782 configure option "--enable-mm-debug".
f19dbdb7 39783
2965c7cc 39784 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39785 PART.LEN.
39786
39787 * kern/sparc64/ieee1275/init.c (abort): Removed.
39788 (grub_stop): Likewise.
39789 (grub_exit): New function.
39790 (grub_set_prefix): Renamed to ...
39791 (grub_machine_set_prefix): ... this.
39792 (grub_machine_init): Do not call grub_set_prefix.
39793
39794 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39795 (grub_machine_set_prefix): ... this.
39796 (grub_machine_init): Do not call grub_set_prefix.
39797
39798 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39799 (grub_machine_init): Do not set the prefix here.
39800
39801 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39802
39803 * kern/efi/init.c: Include grub/mm.h.
39804 (grub_efi_set_prefix): New function.
39805
39806 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39807 (grub_efi_get_filename): New function.
39808 (grub_print_device_path): Renamed to ...
39809 (grub_efi_print_device_path): ... this.
39810
39811 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39812 [MM_DEBUG] (grub_realloc): Likewise.
39813 [MM_DEBUG] (grub_free): Likewise.
39814 [MM_DEBUG] (grub_memalign): Likewise.
39815 [MM_DEBUG] (grub_mm_debug): New variable.
39816 [MM_DEBUG] (grub_debug_malloc): New function.
39817 [MM_DEBUG] (grub_debug_free): New function.
39818 [MM_DEBUG] (grub_debug_realloc): New function.
39819 [MM_DEBUG] (grub_debug_memalign): New function.
39820
39821 * kern/misc.c (grub_abort): Print a newline to distinguish
39822 the message.
39823
39824 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39825 grub_set_root_dev after loading modules. This is necessary when
39826 setting a prefix depends on modules.
39827
39828 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39829 (grub_efi_print_device_path): ... this.
39830 (grub_efi_get_filename): New prototype.
39831 (grub_efi_set_prefix): Likewise.
39832
39833 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39834 and grub/disk.h.
39835 (grub_efidisk_get_device_handle): New prototype.
39836 (grub_efidisk_get_device_name): Likewise.
39837
39838 * include/grub/mm.h: Include config.h.
39839 (MM_DEBUG): Removed.
39840 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39841 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39842 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39843 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39844 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39845 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39846 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39847 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39848 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39849
39850 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39851
39852 * disk/efi/efidisk.c: Include grub/partition.h.
39853 (iterate_child_devices): New function.
39854 (add_device): First, compare only last device path nodes, so that
39855 devices are sorted by the types.
39856 (grub_efidisk_get_device_handle): New function.
39857 (grub_efidisk_get_device_name): Likewise.
39858
39859 * configure.ac (--enable-mm-debug): New option to enable the
39860 memory manager debugging feature. This makes the binary much
39861 bigger, so is disabled by default.
39862
9cacaa17 398632006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39864
39865 Use grub_abort instead of grub_stop, and grub_exit must be
39866 define in each architecture now. Also, this change adds support
39867 for EFI disks.
f19dbdb7 39868
9cacaa17 39869 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39870 (grub_getkey): New function.
39871 (grub_term_get_current): Likewise.
39872
39873 * util/i386/pc/grub-setup.c: Include grub/term.h.
39874 (grub_getkey): New function.
39875 (grub_term_get_current): Likewise.
39876
39877 * util/misc.c (grub_stop): Renamed to ...
39878 (grub_exit): ... this.
39879
39880 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39881 (grub_exit): ... this.
39882 (grub_machine_init): Use grub_abort instead of abort.
39883 (grub_stop): Removed.
39884
39885 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39886 abort.
39887
39888 * kern/i386/pc/startup.S (grub_exit): New function.
39889 (cold_reboot): New label.
39890
39891 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39892 (grub_efi_init): Call grub_efidisk_init.
39893 (grub_efi_fini): Call grub_efidisk_fini.
39894
39895 * kern/efi/efi.c: Include grub/mm.h.
39896 (grub_efi_console_control_guid): Renamed to ...
39897 (console_control_guid): ... this.
39898 (grub_efi_loaded_image_guid): Renamed to ...
39899 (loaded_image_guid): ... this.
39900 (grub_efi_locate_handle): New function.
39901 (grub_efi_open_protocol): Likewise.
39902 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39903 GRUB_EFI_CONSOLE_CONTROL_GUID.
39904 (grub_efi_exit): Removed.
39905 (grub_stop): Likewise.
39906 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39907 (grub_exit): New function.
39908 (grub_print_device_path): Likewise.
39909
39910 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39911 (grub_enter_rescue_mode): Register "exit".
39912
39913 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39914 (grub_abort): New function.
39915
39916 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39917
39918 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39919
39920 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39921
39922 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39923 (grub_print_device_path): New prototype.
39924 (grub_efi_locate_handle): Likewise.
39925 (grub_efi_open_protocol): Likewise.
39926
39927 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39928 * disk/efi/efidisk.c: Likewise.
39929
39930 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39931
39932 * include/grub/efi/console_control.h
39933 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39934
39935 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39936 last 8 bytes as an array.
39937 (GRUB_EFI_DISK_IO_GUID): New macro.
39938 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39939 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39940 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39941 grub_uint8_t.
39942 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39943 (struct grub_efi_device_path): Rename the member "sub_type" to
39944 "subtype".
39945 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39946 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39947 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39948 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39949 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39950 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39951 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39952 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39953 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39954 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39955 (struct grub_efi_pci_device_path): New structure.
39956 (grub_efi_pci_device_path_t): New type.
39957 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39958 (struct grub_efi_pccard_device_path): New structure.
39959 (grub_efi_pccard_device_path_t): New type.
39960 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39961 (struct grub_efi_memory_mapped_device_path): New structure.
39962 (grub_efi_memory_mapped_device_path_t): New type.
39963 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39964 (struct grub_efi_vendor_device_path): New structure.
39965 (grub_efi_vendor_device_path_t): New type.
39966 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39967 (struct grub_efi_controller_device_path): New structure.
39968 (grub_efi_controller_device_path_t): New type.
39969 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39970 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39971 (struct grub_efi_acpi_device_path): New structure.
39972 (grub_efi_acpi_device_path_t): New type.
39973 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39974 (struct grub_efi_expanded_acpi_device_path): New structure.
39975 (grub_efi_expanded_acpi_device_path_t): New type.
39976 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39977 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39978 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39979 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39980 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39981 (struct grub_efi_atapi_device_path): New structure.
39982 (grub_efi_atapi_device_path_t): New type.
39983 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39984 (struct grub_efi_fibre_channel_device_path): New structure.
39985 (grub_efi_fibre_channel_device_path_t): New type.
39986 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39987 (struct grub_efi_1394_device_path): New structure.
39988 (grub_efi_1394_device_path_t): New type.
39989 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39990 (struct grub_efi_usb_device_path): New structure.
39991 (grub_efi_usb_device_path_t): New type.
39992 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39993 (struct grub_efi_usb_class_device_path): New structure.
39994 (grub_efi_usb_class_device_path_t): New type.
39995 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39996 (struct grub_efi_i2o_device_path): New structure.
39997 (grub_efi_i2o_device_path_t): New type.
39998 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39999 (struct grub_efi_mac_address_device_path): New structure.
40000 (grub_efi_mac_address_device_path_t): New type.
40001 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40002 (struct grub_efi_ipv4_device_path): New structure.
40003 (grub_efi_ipv4_device_path_t): New type.
40004 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40005 (struct grub_efi_ipv6_device_path): New structure.
40006 (grub_efi_ipv6_device_path_t): New type.
40007 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40008 (struct grub_efi_infiniband_device_path): New structure.
40009 (grub_efi_infiniband_device_path_t): New type.
40010 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40011 (struct grub_efi_uart_device_path): New structure.
40012 (grub_efi_uart_device_path_t): New type.
40013 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40014 (struct grub_efi_vendor_messaging_device_path): New structure.
40015 (grub_efi_vendor_messaging_device_path_t): New type.
40016 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40017 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40018 (struct grub_efi_hard_drive_device_path): New structure.
40019 (grub_efi_hard_drive_device_path_t): New type.
40020 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40021 (struct grub_efi_cdrom_device_path): New structure.
40022 (grub_efi_cdrom_device_path_t): New type.
40023 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40024 (struct grub_efi_vendor_media_device_path): New structure.
40025 (grub_efi_vendor_media_device_path_t): New type.
40026 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40027 (struct grub_efi_file_path_device_path): New structure.
40028 (grub_efi_file_path_device_path_t): New type.
40029 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40030 (struct grub_efi_protocol_device_path): New structure.
40031 (grub_efi_protocol_device_path_t): New type.
40032 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40033 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40034 (struct grub_efi_bios_device_path): New structure.
40035 (grub_efi_bios_device_path_t): New type.
40036 (struct grub_efi_disk_io): New structure.
40037 (grub_efi_disk_io_t): New type.
40038 (struct grub_efi_block_io_media): New structure.
40039 (grub_efi_block_io_media_t): New type.
40040 (struct grub_efi_block_io): New structure.
40041 (grub_efi_block_io_t): New type.
40042
40043 * include/grub/misc.h (grub_stop): Removed.
40044 (grub_exit): New prototype.
40045 (grub_abort): Likewise.
40046
40047 * include/grub/disk.h (enum grub_disk_dev_id): Added
40048 GRUB_DISK_DEVICE_EFIDISK_ID.
40049
40050 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40051 disk/efi/efidisk.c.
40052 (kernel_syms.lst): Remove the target if an error occurs.
40053
49986a9f 400542006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40055
40056 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40057 as it was simply too buggy.
40058
970d3b8a 400592006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40060
40061 * kern/misc.c (grub_lltoa): New function.
40062 (grub_vsprintf): Added support for the long long suffix,
40063 i.e. "ll".
40064
ff04ec24 400652006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40066
40067 * Makefile.in (LDFLAGS): Add variable.
40068 (LD): Remove variable.
40069 * configure.ac: Add -m32 to LDFLAGS.
40070 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40071 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40072 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40073 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40074 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40075 variables.
40076 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40077 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40078 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40079
37e5e1a4 400802006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40081
40082 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40083 length for unknown glyph.
40084
c352d8dd 400852006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40086
2eab1c0d 40087 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40088
2eab1c0d 40089 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40090 completely. Accept one more argument DIR. The caller has changed.
40091
40092 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40093
40094 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40095 (grub_efi_loaded_image_guid): New variable.
40096 (grub_efi_get_loaded_image): New function.
40097 (grub_arch_modules_addr): Likewise.
40098
40099 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40100 prototype.
40101
40102 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40103 (struct grub_efi_loaded_image): New structure.
40104 (grub_efi_loaded_image_t): New type.
40105
401062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40107
c352d8dd 40108 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40109 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40110 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40111
6d01d6b4 401122006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40113
40114 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40115
976a4ea0 401162006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40117
40118 * DISTLIST: Added include/grub/efi/console.h,
40119 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40120 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40121
40122 * include/grub/efi/console.h: New file.
40123 * include/grub/efi/time.h: Likewise.
40124 * include/grub/i386/efi/kernel.h: Likewise.
40125 * kern/efi/init.c: Likewise.
40126 * kern/efi/mm.c: Likewise.
40127 * term/efi/console.c: Likewise.
f19dbdb7 40128
976a4ea0 40129 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40130 (grub_stop): Removed.
40131 (grub_get_rtc): Likewise.
40132 (grub_machine_init): Simply call grub_efi_init.
40133 (grub_machine_fini): Call grub_efi_fini.
40134
40135 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40136 (grub_efi_output_string): Removed.
40137 (grub_efi_stall): New function.
40138 (grub_stop): Likewise.
40139 (grub_get_rtc): Likewise.
40140
40141 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40142 (grub_efi_stall): New prototype.
40143 (grub_efi_allocate_pages): Likewise.
40144 (grub_efi_free_pages): Likewise.
40145 (grub_efi_get_memory_map): Likewise.
40146 (grub_efi_mm_init): Likewise.
40147 (grub_efi_mm_fini): Likewise.
40148 (grub_efi_init): Likewise.
40149 (grub_efi_fini): Likewise.
40150
40151 * include/grub/i386/efi/time.h: Do not include
40152 grub/symbol.h. Include grub/efi/time.h.
40153 (GRUB_TICKS_PER_SECOND): Removed.
40154 (grub_get_rtc): Likewise.
40155
40156 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40157 Added padding. The EFI spec is buggy.
40158 (GRUB_EFI_BLACK): New macro.
40159 (GRUB_EFI_BLUE): Likewise.
40160 (GRUB_EFI_GREEN): Likewise.
40161 (GRUB_EFI_CYAN): Likewise.
40162 (GRUB_EFI_RED): Likewise.
40163 (GRUB_EFI_MAGENTA): Likewise.
40164 (GRUB_EFI_BROWN): Likewise.
40165 (GRUB_EFI_LIGHTGRAY): Likewise.
40166 (GRUB_EFI_BRIGHT): Likewise.
40167 (GRUB_EFI_DARKGRAY): Likewise.
40168 (GRUB_EFI_LIGHTBLUE): Likewise.
40169 (GRUB_EFI_LIGHTGREEN): Likewise.
40170 (GRUB_EFI_LIGHTCYAN): Likewise.
40171 (GRUB_EFI_LIGHTRED): Likewise.
40172 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40173 (GRUB_EFI_YELLOW): Likewise.
40174 (GRUB_EFI_WHITE): Likewise.
40175 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40176 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40177 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40178 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40179 (GRUB_EFI_BACKGROUND_RED): Likewise.
40180 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40181 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40182 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40183 (GRUB_EFI_TEXT_ATTR): Likewise.
40184
40185 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40186 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40187 (kernel_mod_HEADERS): Added efi/time.h.
40188
83709125 401892006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40190
40191 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40192 include/grub/efi/api.h, include/grub/efi/console_control.h,
40193 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40194 include/grub/i386/efi/time.h, kern/efi/efi.c,
40195 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40196 and util/i386/efi/grub-mkimage.c.
40197
40198 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40199
40200 * genmk.rb (PModule#rule): Do not export symbols if
40201 #{prefix}_EXPORTS is set to "no".
40202
40203 * conf/i386-efi.mk: New file.
40204 * conf/i386-efi.rmk: Likewise.
40205 * include/grub/efi/api.h: Likewise.
40206 * include/grub/efi/console_control.h: Likewise.
40207 * include/grub/efi/efi.h: Likewise.
40208 * include/grub/efi/pe32.h: Likewise.
40209 * include/grub/i386/efi/time.h: Likewise.
40210 * kern/efi/efi.c: Likewise.
40211 * kern/i386/efi/init.c: Likewise.
40212 * kern/i386/efi/startup.S: Likewise.
40213 * util/i386/efi/grub-mkimage.c: Likewise.
40214
402152006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40216
40217 * include/grub/script.h: Include <grub/parser.h> and
40218 "grub_script.tab.h".
40219 (struct grub_lexer_param): New struct.
40220 (struct grub_parser_param): Likewise.
40221 (grub_script_create_arglist): Pass the state in an argument.
40222 (grub_script_add_arglist): Likewise.
40223 (grub_script_create_cmdline): Likewise.
40224 (grub_script_create_cmdblock): Likewise.
40225 (grub_script_create_cmdif): Likewise.
40226 (grub_script_create_cmdmenu): Likewise.
40227 (grub_script_add_cmd): Likewise.
40228 (grub_script_arg_add): Likewise.
40229 (grub_script_lexer_ref): Likewise.
40230 (grub_script_lexer_deref): Likewise.
40231 (grub_script_lexer_record_start): Likewise.
40232 (grub_script_lexer_record_stop): Likewise.
40233 (grub_script_mem_record): Likewise.
40234 (grub_script_mem_record_stop): Likewise.
40235 (grub_script_malloc): Likewise.
40236 (grub_script_yylex): Likewise.
40237 (grub_script_yyparse): Likewise.
40238 (grub_script_yyerror): Likewise.
40239 (grub_script_yylex): Likewise.
40240 (grub_script_lexer_init): Return the state.
40241
40242 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40243 (grub_script_lexer_done): Likewise.
40244 (grub_script_lexer_getline): Likewise.
40245 (grub_script_lexer_refs): Likewise.
40246 (script): Likewise.
40247 (newscript): Likewise.
40248 (record): Likewise.
40249 (recording): Likewise.
40250 (recordpos): Likewise.
40251 (recordlen): Likewise.
40252 (grub_script_lexer_init): Return the state instead of setting
40253 global variables.
40254 (grub_script_lexer_ref): Use the newly added argument for state
40255 instead of globals.
40256 (grub_script_lexer_deref): Likewise.
40257 (grub_script_lexer_record_start): Likewise.
40258 (grub_script_lexer_record_stop): Likewise.
40259 (recordchar): Likewise.
40260 (nextchar): Likewise.
40261 (grub_script_yylex2): Likewise.
40262 (grub_script_yylex): Likewise.
40263 (grub_script_yyerror): Likewise.
40264
40265 * normal/parser.y (func_mem): Removed variable.
40266 (menu_entry): Likewise.
40267 (err): Likewise.
40268 (%lex-param): New parser option.
40269 (%parse-param): Likewise.
40270 (script): Always return the AST.
40271 (argument): Pass the state around.
40272 (arguments): Likewise.
40273 (grubcmd): Likewise.
40274 (commands): Likewise.
40275 (function): Likewise.
40276 (menuentry): Likewise.
40277 (if_statement): Likewise.
40278 (if): Likewise.
40279
40280 * normal/script.c (grub_script_memused): Removed variable.
40281 (grub_script_parsed): Likewise.
40282 (grub_script_malloc): Added a state argument. Use that instead of
40283 global variables.
40284 (grub_script_mem_record): Likewise.
40285 (grub_script_mem_record_stop): Likewise.
40286 (grub_script_arg_add): Likewise.
40287 (grub_script_add_arglist): Likewise.
40288 (grub_script_create_cmdline): Likewise.
40289 (grub_script_create_cmdif): Likewise.
40290 (grub_script_create_cmdmenu): Likewise.
40291 (grub_script_add_cmd): Likewise.
40292 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40293
e2a8c904 402942006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40295
40296 * normal/command.c (grub_command_init): Remove the title command.
40297
40298 * normal/lexer.c (grub_script_yylex): Renamed from this...
40299 (grub_script_yylex2): ... to this.
40300 (grub_script_yylex): New function. Temporary
40301 introduced to filter some tokens.
40302 (grub_script_yyerror): Print a newline.
40303
40304 * normal/main.c (read_config_file): Output information about the
40305 lines that contain errors. Wait for a key after all lines have
40306 been processed. Don't return an empty menu.
40307
40308 * normal/parser.y (func_mem): Don't initialize.
40309 (menu_entry): Likewise.
40310 (err): New variable.
40311 (script): Don't return anything when an error was encountered.
40312 (ws, returns): Removed rules.
40313 (argument): Disabled concatenated variable support.
40314 (arguments): Remove explicit separators.
40315 (grubcmd): Likewise.
40316 (function): Likewise.
40317 (menuentry): Likewise.
40318 (if): Likewise.
40319 (commands): Likewise. Add error handling.
40320
40321 * normal/script.c (grub_script_create_cmdline): If
40322 `grub_script_parsed' is 0, assume the parser encountered an error.
40323
c9a86192 403242006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40325
40326 * configure.ac: Add support for EFI. Fix the typo
40327 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40328
70f3b243 403292006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40330
40331 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40332 foreign multibyte characters should be shown correctly.
40333
65f201ad 403342006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40335
40336 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40337 calculation.
40338 (read_config_file): Made it to close file before returning.
40339
b4b93674 403402006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40341
40342 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40343 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40344 video/i386/pc/vbefill.c.
40345
40346 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40347 video/i386/pc/vbefill.c.
40348
40349 * include/grub/video.h (grub_video_blit_format): New enum.
40350 (grub_video_mode_info): Added new member blit_format.
40351 (grub_video_get_blit_format): New function prototype.
40352
40353 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40354 function prototype.
40355 (grub_video_vbe_map_rgb): Likewise.
40356 (grub_video_vbe_unmap_color): Likewise.
40357
40358 * include/grub/i386/pc/vbeblit.h: New file.
40359
40360 * include/grub/i386/pc/vbefill.h: New file.
40361
40362 * video/video.c (grub_video_get_blit_format): New function.
40363 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40364 (grub_video_vbe_map_rgb): Likewise.
40365 (grub_video_vbe_unmap_color): Likewise.
40366
40367 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40368 optimized fills.
40369 (grub_video_vbe_blit_render_target): Changed to use more optimized
40370 blits.
40371 (grub_video_vbe_setup): Added detection for optimized settings.
40372 (grub_video_vbe_create_render_target): Likewise.
40373
40374 * video/i386/pc/vbeblit.c: New file.
40375
40376 * video/i386/pc/vbefill.c: New file.
40377
c2379b9c 403782006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40379
40380 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40381 here...
40382
40383 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40384 parsing to support both hex and dec ranges. If filename was missing
40385 show usage information.
40386
bd0d7896 403872006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40388
40389 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40390 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40391
40392 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40393 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40394 (video_mod_SOURCES): Added.
40395 (video_mod_CFLAGS): Likewise.
40396 (video_mod_LDFLAGS): Likewise.
40397 (gfxterm_mod_SOURCES): Likewise.
40398 (gfxterm_mod_CFLAGS): Likewise.
40399 (gfxterm_mod_LDFLAGS): Likewise.
40400 (videotest_mod_SOURCES): Likewise.
40401 (videotest_mod_CFLAGS): Likewise.
40402 (videotest_mod_LDFLAGS): Likewise.
40403 (vesafb_mod_SOURCES): Removed.
40404 (vesafb_mod_CFLAGS): Likewise.
40405 (vesafb_mod_LDFLAGS): Likewise.
40406 (vga_mod_SOURCES): Likewise.
40407 (vga_mod_CFLAGS): Likewise.
40408 (vga_mod_LDFLAGS): Likewise.
40409
40410 * commands/videotest.c: New file.
40411
40412 * font/manager.c (fill_with_default_glyph): Modified to use
40413 grub_font_glyph.
40414 (grub_font_get_glyph): Likewise.
40415 (fontmanager): Renamed from this...
40416 (font_manager): ... to this.
40417
40418 * include/grub/font.h (grub_font_glyph): Added new structure.
40419 (grub_font_get_glyph): Modified to use grub_font_glyph.
40420
40421 * include/grub/misc.h (grub_abs): Added as inline function.
40422
40423 * include/grub/video.h: New file.
40424
40425 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40426 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40427 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40428 (grub_vbe_get_controller_info): Renamed from this...
40429 (grub_vbe_bios_get_controller_info): ... to this.
40430 (grub_vbe_get_mode_info): Renamed from this...
40431 (grub_vbe_bios_get_mode_info): ... to this.
40432 (grub_vbe_set_mode): Renamed from this...
40433 (grub_vbe_bios_set_mode): ... to this.
40434 (grub_vbe_get_mode): Renamed from this...
40435 (grub_vbe_bios_get_mode): ... to this.
40436 (grub_vbe_set_memory_window): Renamed from this...
40437 (grub_vbe_bios_set_memory_window): ... to this.
40438 (grub_vbe_get_memory_window): Renamed from this...
40439 (grub_vbe_bios_get_memory_window): ... to this.
40440 (grub_vbe_set_scanline_length): Renamed from this...
40441 (grub_vbe_set_scanline_length): ... to this.
40442 (grub_vbe_get_scanline_length): Renamed from this...
40443 (grub_vbe_bios_get_scanline_length): ... to this.
40444 (grub_vbe_set_display_start): Renamed from this...
40445 (grub_vbe_bios_set_display_start): ... to this.
40446 (grub_vbe_get_display_start): Renamed from this...
40447 (grub_vbe_bios_get_display_start): ... to this.
40448 (grub_vbe_set_palette_data): Renamed from this...
40449 (grub_vbe_bios_set_palette_data): ... to this.
40450 (grub_vbe_set_pixel_rgb): Removed.
40451 (grub_vbe_set_pixel_index): Likewise.
40452
40453 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40454 from this...
40455 (grub_vbe_bios_get_controller_info): ... to this.
40456 (grub_vbe_get_mode_info): Renamed from this...
40457 (grub_vbe_bios_get_mode_info): ... to this.
40458 (grub_vbe_set_mode): Renamed from this...
40459 (grub_vbe_bios_set_mode): ... to this.
40460 (grub_vbe_get_mode): Renamed from this...
40461 (grub_vbe_bios_get_mode): ... to this.
40462 (grub_vbe_set_memory_window): Renamed from this...
40463 (grub_vbe_bios_set_memory_window): ... to this.
40464 (grub_vbe_get_memory_window): Renamed from this...
40465 (grub_vbe_bios_get_memory_window): ... to this.
40466 (grub_vbe_set_scanline_length): Renamed from this...
40467 (grub_vbe_set_scanline_length): ... to this.
40468 (grub_vbe_get_scanline_length): Renamed from this...
40469 (grub_vbe_bios_get_scanline_length): ... to this.
40470 (grub_vbe_set_display_start): Renamed from this...
40471 (grub_vbe_bios_set_display_start): ... to this.
40472 (grub_vbe_get_display_start): Renamed from this...
40473 (grub_vbe_bios_get_display_start): ... to this.
40474 (grub_vbe_set_palette_data): Renamed from this...
40475 (grub_vbe_bios_set_palette_data): ... to this.
40476 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40477 getting corrupted after calling it. Added more pushes and pops.
40478 (grub_vbe_bios_set_mode): Likewise.
40479 (grub_vbe_bios_get_mode): Likewise.
40480 (grub_vbe_bios_get_memory_window): Likewise.
40481 (grub_vbe_bios_set_scanline_length): Likewise.
40482 (grub_vbe_bios_get_scanline_length): Likewise.
40483 (grub_vbe_bios_get_display_start): Likewise.
40484 (grub_vbe_bios_set_palette_data): Likewise.
40485
40486 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40487 (cl_insert): Likewise.
40488 (cl_delete): Likewise.
40489
40490 * term/gfxterm.c: New file.
40491
40492 * term/i386/pc/vesafb.c: Removed file.
40493
40494 * video/video.c: New file.
40495
40496 * video/i386/pc/vbe.c (real2pm): Added new function.
40497 (grub_video_vbe_draw_pixel): Likewise.
40498 (grub_video_vbe_get_video_ptr): Likewise.
40499 (grub_video_vbe_get_pixel): Likewise
40500 (grub_video_vbe_init): Likewise.
40501 (grub_video_vbe_fini): Likewise.
40502 (grub_video_vbe_setup): Likewise.
40503 (grub_video_vbe_get_info): Likewise.
40504 (grub_video_vbe_set_palette): Likewise.
40505 (grub_video_vbe_get_palette): Likewise.
40506 (grub_video_vbe_set_viewport): Likewise.
40507 (grub_video_vbe_get_viewport): Likewise.
40508 (grub_video_vbe_map_color): Likewise.
40509 (grub_video_vbe_map_rgb): Likewise.
40510 (grub_video_vbe_map_rgba): Likewise.
40511 (grub_video_vbe_unmap_color): Likewise.
40512 (grub_video_vbe_fill_rect): Likewise.
40513 (grub_video_vbe_blit_glyph): Likewise.
40514 (grub_video_vbe_blit_bitmap): Likewise.
40515 (grub_video_vbe_blit_render_target): Likewise.
40516 (grub_video_vbe_scroll): Likewise.
40517 (grub_video_vbe_swap_buffers): Likewise.
40518 (grub_video_vbe_create_render_target): Likewise.
40519 (grub_video_vbe_delete_render_target): Likewise.
40520 (grub_video_vbe_set_active_render_target): Likewise.
40521 (grub_vbe_set_pixel_rgb): Remove function.
40522 (grub_vbe_set_pixel_index): Likewise.
40523 (index_color_mode): Remove static variable.
40524 (active_mode): Likewise.
40525 (framebuffer): Likewise.
40526 (bytes_per_scan_line): Likewise.
40527 (grub_video_vbe_adapter): Added new static variable.
40528 (framebuffer): Likewise.
40529 (render_target): Likewise.
40530 (initial_mode): Likewise.
40531 (mode_in_use): Likewise.
40532 (mode_list): Likewise.
40533
5f97350b 405342006-03-10 Marco Gerards <marco@gnu.org>
40535
40536 * configure.ac (AC_INIT): Bumped to 1.93.
40537
40538 * DISTLIST: Added `include/grub/hfs.h'.
40539
a3c5c6f8 405402006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40541
40542 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40543 18H, which might help the BIOS falling back to next boot media.
40544
6de53d26 405452006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40546
40547 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40548 Poe Chen <poe.poechen@gmail.com>.
40549
77c4a393 405502006-01-17 Marco Gerards <marco@gnu.org>
40551
40552 * include/grub/normal.h: Include <grub/script.h>.
40553 (grub_command_list): Removed struct.
40554 (grub_command_list_t): Removed type.
40555 (grub_menu_entry): Remove members `num' and `command_list'. Add
40556 members `commands' and `sourcecode'.
40557 * include/grub/script.h: Add inclusion guards.
40558 (grub_script_cmd_menuentry): New struct.
40559 (grub_script_execute_menuentry): New prototype.
40560 (grub_script_lexer_record_start): Likewise.
40561 (grub_script_lexer_record_stop): Likewise.
40562 * normal/execute.c (grub_script_execute_menuentry): New function.
40563 * normal/lexer.c (record, recording, recordpos, recordlen): New
40564 variables.
40565 (grub_script_lexer_record_start): New function.
40566 (grub_script_lexer_record_stop): Likewise.
40567 (recordchar): Likewise.
40568 (nextchar): Likewise.
40569 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40570 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40571 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40572 (current_menu): New variable.
40573 (free_menu): Mainly rewritten.
40574 (grub_normal_menu_addentry): New function.
40575 (read_config_file): Rewritten.
40576 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40577 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40578 the menu entry.
40579 (run): Mainly rewritten.
40580 * normal/parser.y (menu_entry): New variable.
40581 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40582 (menuentry): New rule.
40583 (command): Add `menuentry'.
40584 (if_statement): Allow additional returns before `fi'.
40585 * normal/script.c (grub_script_create_cmdmenu): New function.
40586
144f1f98 405872006-01-03 Marco Gerards <marco@gnu.org>
40588
40589 * INSTALL: GNU Bison is required.
40590 * configure.ac: Rewritten the test to detect Bison.
40591 * Makefile.in (YACC): New variable. Reported by Xun Sun
40592 <xun.sun.cn@gmail.com>.
40593
af4b2d89 405942006-01-03 Marco Gerards <marco@gnu.org>
40595
40596 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40597 the HFS+ filesystem to filesystem blocks.
40598 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40599 GCC warning is silenced.
40600
15643b71 406012006-01-03 Marco Gerards <marco@gnu.org>
40602
40603 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40604 read from disk from big endian to host byte order.
40605
00905879 406062006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40607
40608 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40609 documentation.
40610 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40611 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40612 embedded HFS+ filesystem.
40613 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40614 (grub_hfs_sblock): Move from here...
40615 * include/grub/hfs.h: To here... New file.
40616 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40617 documentation.
40618 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40619 New macros.
40620 (grub_hfsplus_volheader): Change type of member `magic' to
40621 `grub_uint16_t'.
40622 (grub_hfsplus_data): Add new member `embedded_offset'.
40623 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40624 returned block.
40625 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40626 Calculate the offset.
40627
8899bc3e 406282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40629
40630 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40631 Removed.
40632 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40633
ae8c0277 406342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40635
40636 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40637 ENV->NAME is NULL after allocating ENV->VALUE.
40638
07084456 406392005-12-25 Marco Gerards <marco@gnu.org>
40640
40641 * kern/env.c (grub_env_set): Rewritten the error handling code.
40642
4750f5f1 406432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40644
40645 * geninit.sh: Made more robust, and more portable.
40646
50214199 406472005-12-25 Marco Gerards <marco@gnu.org>
40648
40649 Add support for Apple HFS+ filesystems.
f19dbdb7 40650
50214199 40651 * fs/hfsplus.c: New file.
40652
40653 * DISTLIST: Added `fs/hfsplus.c'.
40654
40655 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40656 (hfsplus_mod_SOURCES): New variable.
40657 (hfsplus_mod_CFLAGS): Likewise.
40658 (hfsplus_mod_LDFLAGS): Likewise.
40659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40660 (grub_setup_SOURCES): Likewise.
40661 (grub_mkdevicemap_SOURCES): Likewise.
40662 (grub_emu_SOURCES): Likewise.
40663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40664
40665 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40666
40667 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40668
befaed6c 406692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40670
40671 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40672 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40673 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40674 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40675 normal/lexer.c, normal/parser.y, normal/script.c, and
40676 partmap/gpt.c.
40677 Removed kern/sparc64/cache.c.
40678
40679 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40680 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40681 grub_emu_init.c.
40682
40683 * configure.ac (AC_INIT): Bumped to 1.92.
40684
6a124103 406852005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40686
40687 * kern/err.c (grub_error_push): Added new function to support error
40688 stacks.
40689 (grub_error_pop): Likewise.
40690 (grub_error_stack_items): New local variable to support error stacks.
40691 (grub_error_stack_pos): Likewise.
40692 (grub_error_stack_assert): Likewise.
40693 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40694 stack depth.
40695 (grub_print_error): Added support to print errors from error stack.
40696
40697 * include/grub/err.h (grub_error_push): Added function prototype.
40698 (grub_error_pop): Likewise.
40699
be973c1b 407002005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40701
40702 * configure.ac: Accept `powerpc64' as host_cpu.
40703 (amd64): Rename to `biarch32'.
40704
40705 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40706 non-cacheline-aligned addresses.
40707
40708 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40709 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40710 if `size' is non-zero.
40711
b04216ab 407122005-12-03 Marco Gerards <mgerards@xs4all.nl>
40713
40714 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40715 and `cd' to make sure the filename is not prefixed with a
40716 directory name.
40717 (pkgdata_MODULES): Add `gpt.mod'.
40718 (gpt_mod_SOURCES): New variable.
40719 (gpt_mod_CFLAGS): Likewise.
40720 (gpt_mod_LDFLAGS): Likewise.
40721
40722 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40723
40724 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40725 New macro.
40726
40727 * partmap/gpt.c: New file.
40728
40729 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40730 GPT partition map is detected.
40731
41730ed9 407322005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40733
40734 * commands/i386/pc/play.c: New file.
40735 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40736 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40737 macros.
f19dbdb7 40738
95dc3643 407392005-11-27 Marco Gerards <mgerards@xs4all.nl>
40740
40741 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40742 ((unused))' to silence gcc warning.
40743
1569ec51 407442005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40745
40746 * configure.ac: Correct `AC_PROG_YACC' test.
40747
9abde152 407482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40749
40750 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40751 check before installing files.
40752
44b83271 407532005-11-22 Mike Small <smallm@panix.com>
40754
40755 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40756 number regex so multidigit numbers are recognized correctly.
40757
407582005-11-22 Mike Small <smallm@panix.com>
40759
40760 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40761 debugging message before attempting to claim memory.
40762 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40763 multiple addresses in case of failure.
40764
9c12956b 407652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40766
40767 * term/tparm.c (get_space): Remove empty `if' statement.
40768
40769 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40770
40771 * kern/parser.c (check_varstate): Rename `state' to 's'.
40772
aeaf81d9 407732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40774
40775 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40776 variable definitions to the beginning of each function. Sort stack
40777 variables by size.
40778 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40779 `buf' argument to `char *'.
40780
79bbb63f 407812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40782
40783 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40784 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40785 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40786 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40787 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40788 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40789 configfile.mod, search.mod, gzio.mod and test.mod.
40790 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40791 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40792 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40793 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40794 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40795 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40796 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40797 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40798 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40799 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40800 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40801 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40802 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40803 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40804 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40805 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40806 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40807 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40808 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40809 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40810 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40811 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40812 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40813
40814 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40815 `grep --include'.
40816 (pkgdata_MODULES): Add test.mod.
40817
233b1628 408182005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40819
40820 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40821 appending to variables with "+=".
40822 (PModule): Use full pathname to generate *.lst filenames.
40823
40824 * Makefile.in: Fixed list rules moved from genmk.rb.
40825 (.DELETE_ON_ERROR): New special target.
40826 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40827
40828 * conf/i386-pc.rmk: Include conf/common.mk.
40829 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40830 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40831 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40832 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40833 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40834 configfile.mod, search.mod, gzio.mod and test.mod.
40835 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40836 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40837 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40838 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40839 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40840 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40841 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40842 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40843 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40844 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40845 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40846 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40847 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40848 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40849 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40850 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40851 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40852 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40853 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40854 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40855 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40856 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40857 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40858 here...
40859 * conf/common.rmk: ... to here. New file.
40860
40861 * conf/common.mk: New file.
40862
16f820c8 408632005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40864
40865 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40866 (grub_script.tab.c): ... here.
40867
40868 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40869 (grub_script.tab.c): ... here.
40870
40871 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40872 (grub_script.tab.c): ... here.
40873
40874 * normal/command.c (grub_command_find): Fixed a memory leak of
40875 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40876
63ba1554 408772005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40878
40879 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40880 "@" which marks the start of a comment on ARM.
40881 (VARIABLE): Likewise.
40882
7f67dc13 408832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40884
79bbb63f 40885 Add support for Linux/ADFS partition tables.
7f67dc13 40886
40887 * partmap/acorn.c: New file.
40888
40889 * include/grub/acorn_filecore.h: Likewise.
40890
40891 * DISTLIST: Added `partmap/acorn.c' and
40892 `include/grub/acorn_filecore.h'.
f19dbdb7 40893
7f67dc13 40894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40895 `partmap/acorn.c'.
40896 (pkgdata_MODULES): Add `acorn.mod'.
40897 (acorn_mod_SOURCES): New variable.
40898 (acorn_mod_CFLAGS): Likewise.
40899
40900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40901 `partmap/acorn.c'.
40902 (pkgdata_MODULES): Add `acorn.mod'.
40903 (acorn_mod_SOURCES): New variable.
40904 (acorn_mod_CFLAGS): Likewise.
40905
40906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40907 (pkgdata_MODULES): Add `acorn.mod'.
40908 (acorn_mod_SOURCES): New variable.
40909 (acorn_mod_CFLAGS): Likewise.
40910 (acorn_mod_LDFLAGS): Likewise.
40911
40912 * include/types.h (grub_disk_addr_t): New typedef.
40913
6d099807 409142005-11-13 Marco Gerards <mgerards@xs4all.nl>
40915
40916 * geninit.sh: New file.
40917
40918 * geninitheader.sh: Likewise.
40919
40920 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40921 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40922 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40923 * commands/configfile.c (grub_configfile_init)
40924 (grub_configfile_fini): Likewise.
40925 * commands/default.c (grub_default_init, grub_default_fini):
40926 Likewise.
40927 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40928 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40929 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40930 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40931 Likewise.
40932 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40933 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40934 Likewise.
40935 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40936 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40937 Likewise.
40938 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40939 Likewise.
fe6b695a 40940 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40941 Likewise.
40942 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40943 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40944 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40945 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40946 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40947 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40948 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40949 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40950 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40951 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40952 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40953 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40954 * partmap/amiga.c (grub_amiga_partition_map_init)
40955 (grub_amiga_partition_map_fini): Likewise.
40956 * partmap/apple.c (grub_apple_partition_map_init)
40957 (grub_apple_partition_map_fini): Likewise.
40958 * partmap/pc.c (grub_pc_partition_map_init)
40959 (grub_pc_partition_map_fini): Likewise.
40960 * partmap/sun.c (grub_sun_partition_map_init,
40961 grub_sun_partition_map_fini): Likewise.
40962 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40963 Likewise.
40964
40965 * util/grub-emu.c: Include <grub_modules_init.h>.
40966 (main): Don't initialize and de-initialize any modules directly,
40967 use `grub_init_all' and `grub_fini_all' instead.
40968
40969 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40970 `grub_vesafb_mod_init'.
40971 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40972 all users.
40973 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40974 `grub_vga_mod_init'. Updated all users.
40975 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40976
6d099807 40977 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40978 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40979 rules.
40980
40981 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40982 Generate a function to initialize the module in utilities.
40983 Updated all callers.
40984 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40985 initialize the module in utilities. Updated all callers.
40986
9046bcf0 409872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40988
40989 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40990 escape sequence and a literal ^L to clear the screen.
40991
40992 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40993 when returning from Open Firmware.
40994
d13ea639 409952005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40996
40997 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40998 (grub_ofconsole_height): Likewise.
40999 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41000 manually insert a '\n'.
41001 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41002 `grub_ofconsole_height'. Return early if these are already set.
41003
a8fcf206 410042005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41005
41006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41007 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41008 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41009 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41010 and `normal/script.c'.
41011 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41012 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41013 (test_mod_SOURCES): New variable.
41014 (test_mod_CFLAGS): Likewise.
41015 (test_mod_LDFLAGS): Likewise.
41016 (pkgdata_MODULES): Add `test.mod'.
41017 (grub_script.tab.c): New rule.
41018 (grub_script.tab.h): Likewise.
41019
b6b32745 410202005-11-07 Marco Gerards <mgerards@xs4all.nl>
41021
41022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41023 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41024 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41025 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41026 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41027 (test_mod_SOURCES): New variable.
41028 (test_mod_CFLAGS): Likewise.
41029 (pkgdata_MODULES): Add `test.mod'.
41030 (grub_script.tab.c): New rule.
41031 (grub_script.tab.h): Likewise.
41032
daac212a 410332005-11-06 Marco Gerards <mgerards@xs4all.nl>
41034
41035 Add initial scripting support.
41036
41037 * commands/test.c: New file.
41038 * include/grub/script.h: Likewise.
41039 * normal/execute.c: Likewise.
41040 * normal/function.c: Likewise.
41041 * normal/lexer.c: Likewise.
41042 * normal/parser.y: Likewise.
41043 * normal/script.c: Likewise.
41044
41045 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41046
daac212a 41047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41048 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41049 `normal/function.c' and `normal/script.c'.
41050 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41051 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41052 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41053 variables.
daac212a 41054 (pkgdata_MODULES): Add `test.mod'.
41055 (grub_script.tab.c): New rule.
41056 (grub_script.tab.h): Likewise.
41057
41058 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41059
41060 * include/grub/normal.h (grub_test_init): New prototype.
41061 (grub_test_fini): Likewise.
f19dbdb7 41062
daac212a 41063 * normal/command.c: Include <grub/script.h>.
41064 (grub_command_execute): Rewritten.
f19dbdb7 41065
daac212a 41066 * util/grub-emu.c (main): Call `grub_test_init' and
41067 `grub_test_fini'.
41068
77500b2b 410692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41070
41071 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41072 to 0.
41073 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41074 there are no pending characters.
41075
e45deb9e 410762005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41077
41078 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41079 `grub_strndup' to drop device arguments. Replace unnecessary
41080 `grub_strndup' with `grub_strdup'.
41081
4ce32619 410822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41083
41084 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41085 `debug' environment variable has been set.
41086
410872005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41088
4ce32619 41089 * Makefile.in (install-local): Use $(DATA).
41090 (uninstall): Likewise.
41091 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41092 (sbin_UTILITIES): ... to here.
41093 (sbin_SCRIPTS): New variable.
41094 (grub_install_SOURCES): New variable.
41095 * util/powerpc/ieee1275/grub-install.in: New file.
41096 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41097 variable.
41098 (add_segments): Call `grub_util_get_path'.
41099
25fe6f03 411002005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41101
41102 From Timothy Baldwin:
41103 * commands/ls.c (grub_ls_list_files): Close FILE with
41104 grub_file_close.
41105 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41106
04ccf3ec 411072005-10-24 Marco Gerards <mgerards@xs4all.nl>
41108
41109 * include/grub/parser.h: New file.
41110
41111 * kern/parser.c: Likewise.
41112
41113 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41114 (grub_setup_SOURCES): Likewise.
41115 (grub_probefs_SOURCES): Likewise.
41116 (grub_emu_SOURCES): Likewise.
41117 (kernel_img_HEADERS): Add `parser.h'.
41118
41119 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41120 (grub_emu_SOURCES): Add `kern/parser.c'.
41121 (grubof_SOURCES): Likewise.
41122
41123 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41124 (grubof_SOURCES): Add `kern/parser.c'.
41125
41126 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41127
41128 * kern/misc.c (grub_split_cmdline): Removed function.
41129
41130 * kern/rescue.c: Include <grub/parser.h>.
41131 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41132 of `grub_split_cmdline'.
41133
41134 * normal/command.c: Include <grub/parser.h>.
41135 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41136 of `grub_split_cmdline'.
41137
41138 * normal/completion.c: Include <grub/parser.h>.
41139 (cmdline_state): New variable.
41140 (iterate_dir): End the filename with a quote depending on the
41141 command line state.
41142 (get_state): new function.
41143 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41144 split the arguments and determine the current argument. When the
41145 argument string is not quoted, escape all spaces.
41146
6d8f4b0e 411472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41148
41149 * normal/sparc64/setjmp.S: New file.
41150
15cf03ed 411512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41152
41153 * include/grub/sparc64/libgcc.h: New file.
41154 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41155 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41156 normal/sparc64/setjmp.c.
41157
03e8661a 411582005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41159
41160 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41161 * kern/sparc64/cache.S: New file.
41162 * kern/sparc64/cache.c: Removed.
41163 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41164 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41165 -mtune=ultrasparc.
41166 (COMMON_LDFLAGS): Add -melf64_sparc.
41167 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41168 (grubof_SOURCES): Use cache.S instead of cache.c.
41169 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41170 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41171 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41172 commented though.
41173 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41174 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41175 (linux_mod_CFLAGS): Commented out.
41176 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41177 out because module isn't built.
41178 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41179 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41180 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41181 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41182 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41183 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41184 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41185 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41186 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41187 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41188 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41189 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41190 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41191 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41192
34eeec8a 411932005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41194
41195 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41196 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41197 longer, because HFS should not be used on PC.
41198
708367a3 411992005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41200
41201 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41202 consistently within the loop.
41203
6fa1251a 412042005-10-15 Marco Gerards <mgerards@xs4all.nl>
41205
41206 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41207 directory can not be read.
41208
4801580b 412092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41210
41211 * configure.ac (AC_INIT): Increase the version number to 1.91.
41212
41213 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41214 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41215 term/i386/pc/serial.c.
41216
219ad426 412172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41218
41219 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41220 file size must be permitted.
41221
41222 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41223 between %ah and %al.
41224
688e5699 412252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41226
41227 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41228 grub_uint64_t.
41229 Call the hook with a NUL-terminated filename.
41230 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41231 grub_cpu_to_be32.
41232
41233 * kern/term.c (cursor_state): New variable.
41234 (grub_term_set_current): Reset the cursor state on a new
41235 terminal.
41236 (grub_setcursor): Rewritten to use CURSOR_STATE.
41237 (grub_getcursor): New function.
41238
41239 * include/grub/term.h (grub_getcursor): New prototype.
41240
41241 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41242 integers on ARM. Reported by Timothy Baldwin
41243 <T.E.Baldwin99@members.leeds.ac.uk>.
41244
bb34586c 412452005-10-11 Marco Gerards <mgerards@xs4all.nl>
41246
41247 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41248 allocated.
41249 (grub_sfs_dir): Likewise.
41250
9a909877 412512005-10-09 Marco Gerards <mgerards@xs4all.nl>
41252
41253 Add support for the SFS filesystem.
41254
41255 * fs/sfs.c: New file.
41256
41257 * DISTLIST: Added `fs/sfs.c'.
41258
41259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41260 (grub_probefs_SOURCES): Likewise.
41261 (grub_emu_SOURCES): Likewise.
41262 (pkgdata_MODULES): Add `sfs.mod'.
41263 (sfs_mod_SOURCES): New variable.
41264 (sfs_mod_CFLAGS): Likewise.
41265 (sfs_mod_LDFLAGS): Likewise.
41266
41267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41268 (pkgdata_MODULES): Add `sfs.mod'.
41269 (sfs_mod_SOURCES): New variable.
41270 (sfs_mod_CFLAGS): Likewise.
41271
41272 * util/grub-emu.c (main): Call `grub_sfs_init' and
41273 `grub_sfs_fini'.
41274
41275 * include/grub/fs.h (grub_sfs_init): New prototype.
41276 (grub_sfs_fini): Likewise.
41277
57bdbde3 412782005-10-07 Marco Gerards <mgerards@xs4all.nl>
41279
41280 Add support for the AFFS filesystem.
41281
41282 * fs/affs.c: New file.
41283
41284 * DISTLIST: Added `fs/affs.c'.
41285
41286 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41287 (grub_probefs_SOURCES): Likewise.
41288 (grub_emu_SOURCES): Likewise.
41289 (pkgdata_MODULES): Add `affs.mod'.
41290 (affs_mod_SOURCES): New variable.
41291 (affs_mod_CFLAGS): Likewise.
41292 (affs_mod_LDFLAGS): Likewise.
41293
41294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41295 (pkgdata_MODULES): Add `affs.mod'.
41296 (affs_mod_SOURCES): New variable.
41297 (affs_mod_CFLAGS): Likewise.
41298
41299 * util/grub-emu.c (main): Call `grub_affs_init' and
41300 `grub_affs_fini'.
41301
41302 * include/grub/fs.h (grub_affs_init): New prototype.
41303 (grub_affs_fini): Likewise.
41304
047b67e0 413052005-10-01 Marco Gerards <mgerards@xs4all.nl>
41306
41307 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41308
59b8208a 413092005-10-01 Marco Gerards <mgerards@xs4all.nl>
41310
41311 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41312 `-m32' to CFLAGS.
41313
41314 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41315 linking.
f19dbdb7 41316
59b8208a 41317 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41318 (COMMON_LDFLAGS): New variable.
41319 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41320 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41321 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41322 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41323 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41324 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41325 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41326 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41327 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41328 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41329 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41330 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41331 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41332 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41333 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41334 variables.
41335 (normal_mod_ASFLAGS): Add `-m32'.
41336
41337 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41338 (grub_host_size_t, grub_host_ssize_t): New types.
41339 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41340 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41341 `GRUB_HOST_SIZEOF_VOID_P'.
41342
41343 * include/grub/kernel.h (struct grub_module_header): Type of
41344 member offset changed to `grub_host_off_t'. Type of member size
41345 changed to `grub_host_size_t'.
41346 (struct grub_module_info): Type of member offset changed to
41347 `grub_host_off_t'. Type of member size changed to
41348 `grub_host_size_t'.
41349
b4093103 413502005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41351
41352 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41353
b4093103 41354 * kern/i386/pc/startup.S (multiboot_header): New label.
41355 (multiboot_entry): Likewise.
41356 (multiboot_trampoline): Likewise.
41357
41358 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41359 Increased to 0x4A0.
41360
41361 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41362 put parentheses after a question mark.
41363 [!GRUB_UTIL] (my_mod): New variable.
41364
41365 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41366
b2499b29 413672005-09-28 Marco Gerards <mgerards@xs4all.nl>
41368
41369 Adds support for the XFS filesystem. Btrees are not supported
41370 yet.
41371
41372 * fs/xfs.c: New file.
41373
41374 * DISTLIST: Added `fs/xfs.c'.
41375
41376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41377 (grub_probefs_SOURCES): Likewise.
41378 (grub_emu_SOURCES): Likewise.
41379 (pkgdata_MODULES): Add `xfs.mod'.
41380 (xfs_mod_SOURCES): New variable.
41381 (xfs_mod_CFLAGS): Likewise.
41382
41383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41384 (pkgdata_MODULES): Add `xfs.mod'.
41385 (xfs_mod_SOURCES): New variable.
41386 (xfs_mod_CFLAGS): Likewise.
41387
41388 * util/grub-emu.c (main): Call `grub_xfs_init' and
41389 `grub_xfs_fini'.
41390
41391 * include/grub/fs.h (grub_xfs_init): New prototype.
41392 (grub_xfs_fini): Likewise.
41393
f19dbdb7 41394
83d37a62 413952005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41396
41397 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41398 color modes, allow greater than 16 colors to be configured as
41399 a default palette.
41400
47d2d65e 414012005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41402
41403 * normal/completion.c (complete_arguments): Add the qualifier
41404 const into OPTIONS.
41405
41406 From Omniflux <omniflux+lists@omniflux.com>:
41407 * include/grub/terminfo.h: New file.
41408 * include/grub/tparm.h: Likewise.
41409 * include/grub/i386/pc/serial.h: Likewise.
41410 * term/terminfo.c: Likewise.
41411 * term/tparm.c: Likewise.
41412 * term/i386/pc/serial.c: Likewise.
41413 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41414 serial.mod.
41415 (terminfo_mod_SOURCES): New variable.
41416 (terminfo_mod_CFLAGS): Likewise.
41417 (serial_mod_SOURCES): Likewise.
41418 (serial_mod_CFLAGS): Likewise.
41419
48b671ff 414202005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41421
41422 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41423 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41424 and kern/powerpc/ieee1275/cmain.c, respectively.
41425
41426 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41427 * kern/powerpc/ieee1275/crt0.S: ... here.
41428
41429 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41430 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41431
48b671ff 41432 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41433 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41434 instead of boot/powerpc/ieee1275/crt0.S and
41435 boot/powerpc/ieee1275/cmain.c, respectively.
41436
41437 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41438 sectors. It was not used anyway.
41439
09fc77a7 414402005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41441
41442 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41443 `unused parameter' warning.
41444
003789c7 414452005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41446
41447 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41448 function.
41449 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41450 getcharwidth.
41451
67f44c86 414522005-08-28 Marco Gerards <metgerards@student.han.nl>
41453
41454 * include/grub/normal.h (enum grub_completion_type): Added
41455 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41456
41457 * normal/cmdline.c (print_completion): Handle
41458 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41459 * normal/menu_entry.c (store_completion): Likewise.
41460
41461 * normal/completion.c (complete_arguments): New function.
41462 (grub_normal_do_completion): Call `complete_arguments' when the
41463 current words start with a dash.
41464
0b5abe02 414652005-08-27 Marco Gerards <metgerards@student.han.nl>
41466
41467 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41468 `gzio.mod' instead of `io.mod').
41469
d9864ee1 414702005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41471
41472 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41473 (DISTDIRS): Added io and video.
41474 Rewrite the search routine to make an output consistently.
41475
41476 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41477 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41478 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41479 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41480 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41481 util/powerpc/ieee1275/misc.c.
f19dbdb7 41482
d9864ee1 41483 * include/grub/gzio.h: New file.
41484 * io/gzio.c: Likewise.
f19dbdb7 41485
d9864ee1 41486 * kern/file.c (grub_file_close): Call grub_device_close only if
41487 FILE->DEVICE is not NULL.
41488
41489 * include/grub/mm.h [!NULL] (NULL): New macro.
41490
41491 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41492
41493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41494 (pkgdata_MODULES): Added gzio.mod.
41495 (gzio_mod_SOURCES): New variable.
41496 (gzio_mod_CFLAGS): Likewise.
41497
41498 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41499 (pkgdata_MODULES): Added gzio.mod.
41500 (gzio_mod_SOURCES): New variable.
41501 (gzio_mod_CFLAGS): Likewise.
41502
41503 * commands/cat.c: Include grub/gzio.h.
41504 (grub_cmd_cat): Use grub_gzfile_open instead of
41505 grub_file_open.
f19dbdb7 41506
d9864ee1 41507 * commands/cmp.c: Include grub/gzio.h.
41508 (grub_cmd_cmp): Use grub_gzfile_open instead of
41509 grub_file_open.
41510
41511 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41512 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41513 grub_file_open.
41514 (grub_rescue_cmd_module): Likewise.
41515
fa46f4b5 415162005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41517
41518 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41519 kern/sparc64/ieee1275/init.c because it contains _start.
41520 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41521
e9211b5d 415222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41523
41524 * configure.ac: Add support for sparc64 host with ieee1275
41525 firmware.
41526 * configure: Generated from configure.ac.
41527 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41528 instead of int.
41529 (grub_ofdisk_read): Likewise.
41530 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41531 pointers as (void *) to remove a warning.
41532 (grub_ofdisk_close): Likewise.
41533 (grub_ofdisk_read): Likewise.
41534 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41535 returns, so make it return void to remove a warning.
41536 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41537 Corresponding prototype change.
41538 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41539 values, and cast the pointers as (void *) to remove a warning.
41540 (grub_mm_dump): Likewise.
41541 * conf/sparc64-ieee1275.mk: New file.
41542 * conf/sparc64-ieee1275.rmk: Likewise.
41543 * include/grub/sparc64/setjmp.h: Likewise.
41544 * include/grub/sparc64/types.h: Likewise.
41545 * include/grub/sparc64/ieee1275/console.h: Likewise.
41546 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41547 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41548 * include/grub/sparc64/ieee1275/time.h: Likewise.
41549 * kern/sparc64/cache.c: Likewise.
41550 * kern/sparc64/dl.c: Likewise.
41551 * kern/sparc64/ieee1275/init.c: Likewise.
41552 * kern/sparc64/ieee1275/openfw.c: Likewise.
41553
385c6a92 415542005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41555
41556 * util/console.c (grub_ncurses_putchar): If C is greater than
41557 0x7f, set C to a question mark.
41558 (grub_ncurses_getcharwidth): New function.
41559 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41560 getcharwidth.
41561
41562 * normal/menu.c (print_entry): Made aware of Unicode. First,
41563 convert TITLE to UCS-4, and predict the cursor position by
41564 grub_getcharwidth.
41565
41566 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41567 const to SRC.
41568 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41569
16ccb8b1 415702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41571
41572 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41573 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41574 grub_strcat.
41575
41576 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41577 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41578 grub_strcpy and grub_strlen. Take it into account that a space
41579 character is inserted as a delimiter.
41580
6a85ce79 415812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41582
41583 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41584 invalid magic in the error.
6a85ce79 41585
41586 * commands/search.c: New file.
f19dbdb7 41587
6a85ce79 41588 * util/grub-emu.c (main): Call grub_search_init and
41589 grub_search_fini.
41590
41591 * kern/rescue.c (grub_rescue_print_disks): Removed.
41592 (grub_rescue_print_devices): New function.
41593 (grub_rescue_cmd_ls): Use grub_device_iterate with
41594 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41595 grub_rescue_print_disks.
41596
41597 * kern/partition.c (grub_partition_iterate): Return the result of
41598 PARTMAP->ITERATE instead of GRUB_ERRNO.
41599
41600 * kern/device.c: Include grub/partition.h.
41601 (grub_device_iterate): New function.
41602
41603 * include/grub/partition.h (grub_partition_iterate): Return int
41604 instead of grub_err_t.
41605
41606 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41607 prototype.
41608 [GRUB_UTIL] (grub_search_fini): Likewise.
41609
41610 * include/grub/device.h (grub_device_iterate): New prototype.
41611
41612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41613 commands/search.c.
41614 (pkgdata_MODULES): Added search.mod.
41615 (search_mod_SOURCES): New variable.
41616 (search_mod_CFLAGS): Likewise.
41617
41618 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41619 (pkgdata_MODULES): Added search.mod.
41620 (search_mod_SOURCES): New variable.
41621 (search_mod_CFLAGS): Likewise.
41622
41623 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41624 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41625 All callers changed.
41626
41627 * DISTLIST: Added commands/search.c.
41628
ef095434 416292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41630
41631 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41632 conversion.
41633 (grub_getcharwidth): New function.
41634
41635 * kern/misc.c (grub_utf8_to_ucs4): New function.
41636
41637 * include/grub/term.h (struct grub_term): Added a new member
41638 "getcharwidth".
41639 (grub_getcharwidth): New prototype.
41640
41641 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41642
41643 * term/i386/pc/console.c (map_char): New function. Segregated from
41644 grub_console_putchar.
41645 (grub_console_putchar): Use map_char.
41646 (grub_console_getcharwidth): New function.
41647 (grub_console_term): Specified grub_console_getcharwidth as
41648 getcharwidth.
41649
41650 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41651 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41652
41653 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41654 GRUB_ERRNO.
41655 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41656 on grub_strtoul completely.
41657 (write_char): Declare local variables in the beginning of the
41658 function.
41659 (grub_vesafb_getcharwidth): New function.
41660 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41661 getcharwidth.
41662
1f0a95e4 416632005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41664
41665 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41666 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41667 commands/i386/pc/vbetest.c.
41668
41669 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41670 call grub_vbe_get_controller_info again, because the returned
41671 information is volatile.
41672 (grub_vbe_set_video_mode): Mostly rewritten.
41673 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41674 grub_vbe_status_t correctly.
41675 (grub_vbe_get_video_mode_info): Likewise.
41676 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41677 several if statements.
41678
41679 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41680 * commands/i386/pc/vbeinfo.c: ... this.
41681
41682 * commands/i386/pc/vbe_test.c: Renamed to ...
41683 * commands/i386/pc/vbetest.c: ... this.
41684
41685 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41686 ...
41687 (grub_cmd_vbeinfo): ... this. Save video modes before
41688 iterating. Skip a video mode, if it is not available, not enough
41689 information is given or it is monochrome. Show the memory
41690 model. Leave the interpretation of MODEVAR to grub_strtoul
41691 completely.
41692 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41693 (GRUB_MOD_FINI): Likewise.
41694
41695 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41696 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41697 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41698 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41699 grub_strtoul completely.
41700 (real2pm): Removed.
41701 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41702 (GRUB_MOD_FINI): Likewise.
41703
41704 * normal/misc.c: Include grub/mm.h.
41705
41706 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41707 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41708 (vbe_list_modes_mod_SOURCES): Removed.
41709 (vbe_list_modes_mod_CFLAGS): Likewise.
41710 (vbe_test_mod_SOURCES): Likewise.
41711 (vbe_test_mod_CFLAGS): Likewise.
41712 (vbeinfo_mod_SOURCES): New variable.
41713 (vbeinfo_mod_CFLAGS): Likewise.
41714 (vbetest_mod_SOURCES): Likewise.
41715 (vbetest_mod_CFLAGS): Likewise.
41716
992ffbbe 417172005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41718
41719 * normal/misc.c: New file.
41720
41721 * DISTLIST: Added normal/misc.c.
f19dbdb7 41722
992ffbbe 41723 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41724 DISK to HOOK. Call HOOK with DISK.
41725 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41726 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41727 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41728
41729 * normal/menu_entry.c (struct screen): Added a new member
41730 "completion_shown".
41731 (completion_buffer): New global variable.
41732 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41733 (store_completion): New function.
41734 (complete): Likewise.
41735 (clear_completions): Likewise.
41736 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41737 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41738 a tab, call complete.
41739
41740 * normal/completion.c (disk_dev): Removed.
41741 (print_simple_completion): Likewise.
41742 (print_partition_completion): Likewise.
41743 (print_func): New global variable.
41744 (add_completion): Do not take the arguments WHAT or PRINT any
41745 longer. Added a new argument TYPE. Instead of printing directly,
41746 call PRINT_FUNC if not NULL.
41747 All callers changed.
41748 (complete_device): Use a local variable DEV instead of
41749 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41750 (grub_normal_do_completion): Take a new argument HOOK. Do not
41751 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41752 empty string, return NULL instead.
41753 All callers changed.
41754
41755 * normal/cmdline.c (print_completion): New function.
41756
41757 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41758 to HOOK.
41759 All callers changed.
41760
41761 * kern/disk.c (grub_print_partinfo): Removed.
41762
41763 * include/grub/partition.h (struct grub_partition_map): Add a new
41764 argument DISK into HOOK of ITERATE.
41765 (grub_partition_iterate): Add a new argument DISK to HOOK.
41766
41767 * include/grub/normal.h (enum grub_completion_type): New enum.
41768 (grub_completion_type_t): New type.
41769 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41770 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41771 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41772 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41773 (grub_normal_do_completion): Added a new argument HOOK.
41774 (grub_normal_print_device_info): New prototype.
41775
41776 * include/grub/disk.h (grub_print_partinfo): Removed.
41777
41778 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41779 (normal_mod_SOURCES): Likewise.
41780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41781 (normal_mod_SOURCES): Likewise.
41782
41783 * commands/ls.c (grub_ls_list_disks): Use
41784 grub_normal_print_device_info instead of grub_print_partinfo. Free
41785 PNAME.
41786 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41787 duplicating the code.
41788
0bd41162 417892005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41790
41791 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41792 follow GCS more precisely.
41793 * commands/i386/pc/vbe_test.c: Likewise.
41794 * include/grub/i386/pc/vbe.h: Likewise.
41795 * term/i386/pc/vesafb.c: Likewise.
41796 * video/i386/pc/vbe.c: Likewise.
0bd41162 41797
6323696a 417982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41799
41800 * DISTLIST: Added term/i386/pc/vesafb.c
41801 DISTLIST: Added video/i386/pc/vbe.c
41802 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41803 DISTLIST: Added commands/i386/pc/vbe_test.c.
41804 * commands/i386/pc/vbe_list_modes.c: New file.
41805 * commands/i386/pc/vbe_test.c: Likewise.
41806 * term/i386/pc/vesafb.c: Likewise.
41807 * video/i386/pc/vbe.c: Likewise.
41808 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41809 (grub_vbe_probe) Added prototype.
41810 (grub_vbe_set_video_mode) Likewise.
41811 (grub_vbe_get_video_mode) Likewise.
41812 (grub_vbe_get_video_mode_info) Likewise.
41813 (grub_vbe_set_pixel_rgb) Likewise.
41814 (grub_vbe_set_pixel_index) Likewise.
41815 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41816 (pkgdata_MODULES): Added vesafb.mod.
41817 (pkgdata_MODULES): Added vbe_list_modes.mod.
41818 (pkgdata_MODULES): Added vbe_test.mod.
41819 (vbe_mod_SOURCES): Added.
41820 (vbe_mod_CFLAGS): Likewise.
41821 (vesafb_mod_SOURCES): Likewise.
41822 (vesafb_mod_CFLAGS): Likewise.
41823 (vbe_list_modes_mod_SOURCES): Likewise.
41824 (vbe_list_modes_mod_CFLAGS): Likewise.
41825 (vbe_test_mod_SOURCES): Likewise.
41826 (vbe_test_mod_CFLAGS): Likewise.
41827
0a74e62f 418282005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41829
0a74e62f 41830 * normal/command.c (grub_command_execute): If INTERACTIVE is
41831 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41832 CMDLINE. Disable the pager if INTERACTIVE is true.
41833 All callers are changed.
41834
41835 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41836 before reading a config file.
41837 * normal/main.c (read_config_file): Even if a command is not
41838 found, register it if it is within an entry.
41839
41840 * util/grub-emu.c: Include sys/types.h and unistd.h.
41841 (options): Added --hold.
41842 (struct arguments): Added a new member "hold".
41843 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41844 missing.
41845 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41846 cleared by a debugger, if it is not zero.
41847
41848 * include/grub/normal.h (grub_command_execute): Add an argument
41849 INTERACTIVE.
41850
e51f85ae 418512005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41852
41853 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41854
e9c6f39b 418552005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41856
41857 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41858 program with another one, because the old one didn't detect a bug
41859 in gcc-3.4. Always use regparm 2, because the new test is still
41860 not enough for gcc-4.0. Someone must investigate a simple test
41861 case which detects a bug in gcc-4.0.
41862
8de3495c 418632005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41864
41865 * DISTLIST: Added normal/completion.c.
41866
41867 * normal/completion.c: New file.
f19dbdb7 41868
8de3495c 41869 * term/i386/pc/console.c (grub_console_getwh): New function.
41870 (grub_console_term): Assign grub_console_getwh to getwh.
41871
41872 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41873 function is defined in normal/completion.c as
41874 grub_normal_do_completion.
41875 (grub_cmdline_get): Use grub_normal_do_completion instead of
41876 grub_tab_complete.
41877
41878 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41879 returns non-zero, otherwise return 0.
41880 (grub_partition_iterate): First, probe the partition map. Then,
41881 call ITERATE only for this partition map.
41882
41883 * kern/misc.c (grub_strncmp): Rewritten.
41884
41885 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41886 returns non-zero. Otherwise return 0.
41887
41888 * include/grub/partition.h (grub_partition_map_iterate): Return
41889 int instead of void.
41890
41891 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41892
41893 * include/grub/misc.h (grub_strncmp): Change the type of N to
41894 grub_size_t.
41895
41896 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41897 of void.
41898
41899 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41900 unsigned explicitly before comparing it with I.
8de3495c 41901
41902 * kern/main.c (grub_env_write_root): Add the attribute unused into
41903 VAR.
41904
41905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41906 normal/completion.c.
41907 (normal_mod_SOURCES): Likewise.
41908 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41909 (normal_mod_SOURCES): Likewise.
41910
41911 * normal/command.c (grub_iterate_commands): If ITERATE returns
41912 non-zero, return one immediately.
41913
e85e144b 419142005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41915
41916 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41917 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41918 descriptions.
41919 (grub_vbe_get_controller_info): New function.
41920 (grub_vbe_get_mode_info): Likewise.
41921 (grub_vbe_set_mode): Likewise.
41922 (grub_vbe_get_mode): Likewise.
41923 (grub_vbe_set_memory_window): Likewise.
41924 (grub_vbe_get_memory_window): Likewise.
41925 (grub_vbe_set_scanline_length): Likewise.
41926 (grub_vbe_get_scanline_length): Likewise.
41927 (grub_vbe_set_display_start): Likewise.
41928 (grub_vbe_get_display_start): Likewise.
41929 (grub_vbe_set_palette_data): Likewise.
41930 * include/grub/i386/pc/vbe.h: New file.
41931
c46153d2 419322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41933
41934 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41935 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41936 * DISTLIST: Likewise.
41937 * kern/ieee1275/of.c: Moved to ...
41938 * kern/ieee1275/ieee1275.c: ... here.
41939
0cb90c45 419402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41941
41942 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41943 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41944 Pass 0 as `end' parameter to grub_strtoul().
41945
a19fb360 419462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41947
41948 * include/grub/powerpc/ieee1275/console.h: Do not include
41949 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41950 ifdef.
41951 (grub_console_cur_color): Remove i386-specific prototype.
41952 (grub_console_real_putchar): Likewise.
41953 (grub_console_checkkey): Likewise.
41954 (grub_console_getkey): Likewise.
41955 (grub_console_getxy): Likewise.
41956 (grub_console_gotoxy): Likewise.
41957 (grub_console_cls): Likewise.
41958 (grub_console_setcursor): Likewise.
41959 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41960 Include <grub/machine/console.h>.
41961 * term/ieee1275/ofconsole.c: Likewise.
41962
4ac9bd04 419632005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41964
41965 * Makefile.in (LIBLZO): New variable.
41966
41967 * configure.ac: Check for LZO version 2.
41968
41969 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41970 lzo/lzo1x.h instead of lzo1x.h.
41971
41972 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41973 of -llzo.
41974
41975 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41976 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41977
41978 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41979 copying the data from PARTITION to P.
41980
f4917dfd 419812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41982
41983 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41984 negative, unload the module.
41985
41986 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41987 map is "pc_partition_map" but not "pc".
41988 (usage): Fix the description. The options are --boot-image and
41989 --core-image but not --boot-file or --core-file.
41990 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41991 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41992 DEFAULT_DIRECTORY.
41993
41994 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41995 --core-file. Specify INSTALL_DEVICE as an argument.
41996
41997 * util/console.c: Include config.h.
41998 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41999 [HAVE_NCURSES_H]: Include ncurses.h.
42000 [HAVE_CURSES_H]: Include curses.h.
42001 [!A_NORMAL] (A_NORMAL): Defined as zero.
42002 [!A_STANDOUT] (A_STANDOUT): Likewise.
42003
42004 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42005 -lncurses.
42006 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42007
42008 * configure.ac: Check for curses libraries and headers.
42009
42010 * Makefile.in (LIBCURSES): New variable.
42011
42012 * genmk.rb (Script::rule): Set the executable bits.
42013
42014 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42015 name of the PC partition map is "pc_partition_map" but not "pc".
42016
0e143073 420172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42018
42019 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42020 (modules): Likewise.
42021 (usage): Added descriptions for --modules and --grub-probefs.
42022 Handle --modules and --grub-probefs. Save the arguments in MODULES
42023 and GRUB_PROBEFS, respectively.
42024 Auto-detect a filesystem module against GRUBDIR. If the result is
42025 empty and modules are not specified explicitly, abort the
42026 installation. Add the result to MODULES.
42027
42028 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42029 disk/powerpc/ieee1275/ofdisk.c,
42030 include/grub/powerpc/ieee1275/init.h and
42031 term/powerpc/ieee1275/ofconsole.c.
42032 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42033 term/ieee1275/ofconsole.c.
42034
42035 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42036
42037 * COPYING: Upgraded to the latest version. Only the address of the
42038 FSF office has changed.
f19dbdb7 42039
efd6e6d5 420402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42041
42042 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42043 kern/ieee1275.c with kern/ieee1275/of.c.
42044
42045 * kern/ieee1275.c: Moved to ...
42046 * kern/ieee1275/of.c: ... here.
42047
8ceafda2 420482005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42049
42050 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42051 readability.
8ceafda2 42052
42053 * config.guess: Updated to the latest version from gnulib.
42054 * config.sub: Likewise.
42055 * install.sh: Likewise.
42056 * mkinstalldirs: Likewise.
42057
42058 * include/grub/console.h: Removed. This file is arch-specific. Do
42059 not put this in include/grub.
42060
42061 * include/grub/i386/pc/console.h: Resurrected.
42062
42063 * util/console.c: Include grub/machine/console.h instead of
42064 grub/console.h.
42065 * util/grub-emu.c: Likewise.
42066
267f6cd9 420672005-08-04 Marco Gerards <metgerards@student.han.nl>
42068
42069 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42070 hardcoded value.
f19dbdb7 42071
267f6cd9 42072 From Vincent Pelletier <subdino2004@yahoo.fr>
42073 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42074 Redefined to use grub_getwh.
42075 (grub_term): New member named getwh.
42076 (grub_getwh): New prototype.
42077 * kern/term.c (grub_getwh): New function.
42078 * term/i386/pc/console.c (grub_console_getwh): New function.
42079 (grub_console_term): New member `getwh'.
42080 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42081 (grub_vga_term): New member `getwh'.
0b5abe02 42082 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42083 grub_ssize_t.
42084 (grub_ofconsole_getw): New function.
42085 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42086 (grub_ofconsole_term): New field named getwh and new initial
42087 value.
42088
3be7266d 420892005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42090
42091 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42092 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42093 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42094 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42095 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42096 of <grub/machine/ieee1275.h>.
42097 * commands/ieee1275/reboot.c: Likewise.
42098 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42099 * kern/ieee1275.c: ... to here. All users updated. Change all
42100 parameter structs to use new type `grub_ieee1275_cell_t'.
42101 * term/powerpc/ieee1275/ofconsole.c: Move ...
42102 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42103 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42104 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42105 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42106 to return int.
42107 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42108 Remove unused prototypes. All users updated.
42109 * include/grub/powerpc/ieee1275/console.h: Removed.
42110 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42111 `grub_ieee1275_cell_t'.
42112 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42113 Cast comparisons with -1 to the correct type.
42114 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42115 type to match `grub_ieee1275_entry_fn'.
42116
8b5f3938 421172005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42118
42119 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42120
42121 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42122 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42123 partmap/sun.c.
42124 (grub_probefs_SOURCES): New variable.
42125
42126 * util/i386/pc/grub-probefs.c: New file.
42127
42128 * util/i386/pc/grub-setup.c (main): Call
42129 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42130 grub_hfs_init and grub_jfs_init to initialize the system. Call
42131 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42132 grub_pc_partition_map_fini to finish the system.
42133
ea409713 421342005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42135
42136 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42137 function.
42138 (grub_multiboot_load_elf32): Likewise.
42139 (grub_multiboot_is_elf64): Likewise.
42140 (grub_multiboot_load_elf64): Likewise.
42141 (grub_multiboot_load_elf): Likewise.
42142 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42143 an ELF32 or ELF64 file.
42144 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42145
42146 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42147 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42148 NULL before calling FS->LABEL.
42149 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42150 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42151 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42152 before calling FS->LABEL.
42153
141a288b 421542005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42155
42156 * util/i386/pc/grub-install.in (datadir): New variable.
42157 (libdir): Removed.
42158 (pkgdatadir): New variable.
42159 (pkglibdir): Removed.
42160
0d5f8a54 421612005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42162
42163 * DISTLIST: Added util/i386/pc/grub-install.in.
42164
42165 * util/i386/pc/grub-install.in: New file.
42166
42167 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42168 (grub_install_SOURCES): Likewise.
42169
42170 * genmk.rb: Added support for scripts.
42171 (Script): New class.
42172 (scripts): New variable.
42173
42174 * Makefile.in (install-local): Install sbin_SCRIPTS by
42175 INSTALL_SCRIPT.
42176 (uninstall): Remove sbin_SCRIPTS.
42177
42178 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42179 device, try to get a GRUB device by
42180 grub_util_biosdisk_get_grub_dev.
42181 Free DEST_DEV.
42182
42183 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42184 description for --device-map.
42185
5f968e1e 421862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42187
42188 Change the semantics of variable hooks. They now return strings
42189 instead of error values.
f19dbdb7 42190
5f968e1e 42191 * util/i386/pc/grub-setup.c: Include grub/env.h.
42192 (setup): Use grub_device_set_root instead of grub_env_set.
42193
42194 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42195 grub_env_get instead of grub_device_set_root and
42196 grub_device_get_root, respectively.
42197
42198 * kern/main.c (grub_env_write_root): New function.
42199 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42200 grub_env_set instead of grub_device_set_root.
42201
42202 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42203 many variables.
42204 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42205 rather than calling ENV->WRITE_HOOK afterwards.
42206 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42207 passing a pointer of a pointer.
42208 (grub_register_variable_hook): Change the types of "read_hook" and
42209 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42210 respectively.
42211 Allocate the default empty string on the heap, because this string
42212 may be freed later.
42213
42214 * kern/device.c: Include grub/env.h.
42215 (grub_device_set_root): Removed.
42216 (grub_device_get_root): Likewise.
42217 (grub_device_open): Use grub_env_get instead of
42218 grub_device_get_root.
42219
42220 * include/grub/env.h (grub_env_read_hook_t): New type.
42221 (grub_env_write_hook_t): Likewise.
42222 (grub_env_var): Change the types of "read_hook" and "write_hook"
42223 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42224 (grub_register_variable_hook): Likewise.
42225
42226 * include/grub/device.h (grub_device_set_root): Removed.
42227 (grub_device_set_root): Likewise.
42228
42229 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42230 make sure that DIRNAME terminates with '/', so that
42231 grub_fat_find_dir will fail if PATH is not a directory.
42232
42233 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42234 from DIRNAME.
42235 Use the qualifier auto for print_files and print_files_long.
42236 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42237 as a regular file.
42238 Put a newline only if there is no error.
42239 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42240 used.
42241
896f0afd 422422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42243
42244 * kern/partition.c (grub_partition_probe): Initialize PART to
42245 NULL. Otherwise, when no partition map is registered, this returns
42246 a garbage.
42247
b28b81b2 422482005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42249
42250 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42251 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42252 valid.
42253
5f3607e0 422542005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42255
42256 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42257 information on each device, if it does not have partitions. Print
42258 "Device" instead of "Disk", because this function is not specific
42259 to disk devices.
42260
42261 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42262 static to ensure that it is put on the memory rather than a
42263 register.
42264
502c87e8 422652005-07-17 Yoshinori Okuji <okuji@enbug.org>
42266
42267 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42268 (grub_cat_init): Likewise.
42269 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42270 (options): Likewise.
42271 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42272 (grub_configfile_init): Likewise.
42273 * font/manager.c (GRUB_MOD_INIT): Likewise.
42274 * commands/help.c (GRUB_MOD_INIT): Likewise.
42275 (grub_help_init): Likewise.
42276 * normal/command.c (grub_command_init): Likewise.
42277 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42278 * disk/loopback.c (grub_loop_init): Likewise.
42279 (GRUB_MOD_INIT): Likewise.
42280 * commands/ls.c (grub_ls_init): Likewise.
42281 (GRUB_MOD_INIT): Likewise.
42282 (options): Likewise.
42283 * commands/boot.c (grub_boot_init): Likewise.
42284 (GRUB_MOD_INIT): Likewise.
42285 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42286 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42287 (GRUB_MOD_INIT): Likewise.
42288 * commands/cmp.c (grub_cmp_init): Likewise.
42289 (GRUB_MOD_INIT): Likewise.
42290
42291 * normal/arg.c: Use <> instead of "" to include header files.
42292 (SHORT_ARG_HELP): New macro.
42293 (SHORT_ARG_USAGE): Likewise.
42294 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42295 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42296 descriptions.
42297 (find_short): Check if C is 'h' or 'u' explicitly.
42298 (grub_arg_show_help): Use space characters instead of tabs. Treat
42299 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42300 are shown with --help and --usage only if they are not used for
42301 the command itself.
42302 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42303 'h' and 'u'.
42304
42305 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42306 const into "longarg". Change the type of "shortarg" to int.
42307
f806d18e 423082005-07-17 Yoshinori Okuji <okuji@enbug.org>
42309
42310 * boot/i386/pc/boot.S (boot_drive_check): New label.
42311
42312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42313 macro.
42314
42315 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42316 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42317
e293232b 423182005-07-17 Yoshinori Okuji <okuji@enbug.org>
42319
42320 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42321 When turning off Gate A20, skip the check and return immediately,
42322 because this is not fatal usually.
42323
ebedfd00 423242005-07-17 Yoshinori Okuji <okuji@enbug.org>
42325
42326 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42327 be 0x7C00 instead of 0x8000.
42328
42329 * boot/i386/pc/pxeboot.S: Rewritten.
42330
42331 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42332 EXT_C.
42333 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42334 result.
42335
654fc59f 423362005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42337
42338 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42339 robustness. This routine now supports a BIOS call and System
42340 Control Port A to modify the gate A20.
42341
42342 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42343 Increased to 0x440.
42344
09f9923f 423452005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42346
42347 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42348 device path and resulting ihandle.
42349 (grub_ofdisk_close): dprintf the ihandle being closed.
42350 (grub_ofdisk_read): dprintf function parameters.
42351 * kern/mm.c (grub_mm_init_region): Likewise.
42352 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42353 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42354 size, and boot arguments.
42355 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42356 before loading into memory.
42357 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42358 before loading into memory.
42359
7ef504d8 423602005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42361
42362 * kern/mm.c: Added much documentation.
42363 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42364 8, set to 5 instead of 8.
42365
e0f050c2 423662005-07-10 Yoshinori Okuji <okuji@enbug.org>
42367
42368 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42369
42370 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42371 (grub_mkdevicemap_SOURCES): New variable.
42372
42373 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42374 lib/device.c of GRUB Legacy.
42375
7224189a 423762005-07-10 Yoshinori Okuji <okuji@enbug.org>
42377
42378 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42379 instead of PATH is NULL.
42380
68c864eb 423812005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42382
42383 * commands/cmp.c (BUFFER_SIZE): New macro.
42384 (grub_cmd_cmp): Close the right file at the right time. Compare
42385 only data just read. Don't report files of different size as
42386 identical. Dynamically allocate buffers. Move variable
42387 declarations at the beginning of function.
42388
e6f3e614 423892005-07-09 Yoshinori Okuji <okuji@enbug.org>
42390
42391 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42392 reverse.
42393
f8f1559a 423942004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42395
42396 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42397 when backspace is pressed at beginning of line.
42398
39c9d41d 423992005-07-03 Yoshinori Okuji <okuji@enbug.org>
42400
42401 * DISTLIST: Added genfslist.sh.
42402
42403 * normal/main.c (fs_module_list): New variable.
42404 (autoload_fs_module): New function.
42405 (read_fs_list): Likewise.
42406 (grub_normal_execute): Call read_fs_list.
42407
42408 * kern/fs.c (grub_fs_autoload_hook): New variable.
42409 (grub_fs_probe): Added support for auto-loading.
42410
42411 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42412 (grub_fs_module_list_t): New type.
42413
42414 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42415 (grub_fs_autoload_hook): New prototype.
42416
42417 * genfslist.sh: New file.
f19dbdb7 42418
39c9d41d 42419 * genmk.rb: Added a rule to generate a filesystem list.
42420
121c1d83 424212005-06-30 Marco Gerards <metgerards@student.han.nl>
42422
42423 * configure.ac: Fix the test for cross-compiling.
42424
42425 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42426 define GRUB_UTIL anymore.
42427
42428 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42429 so this function works on other systems than just big endian.
42430 (load_modules): Likewise.
42431 (add_segments): Likewise.
42432
e75d76e1 424332005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42434
42435 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42436 contains `l' modifier, get a long from va_arg().
42437
50b5a0a7 424382005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42439
42440 * kern/mm.c (grub_free): If the next free block which is being
42441 merged is the first free block, set the first block to the block
42442 being freed.
42443 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42444
89371b20 424452005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42446
42447 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42448 `grub_ieee1275_chosen'.
42449
168d6e58 424502005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42451
42452 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42453 (grub_ieee1275_chosen): New variable.
42454 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42455 `chosen'.
42456 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42457 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42458 Rename first argument to `phandle' for consistency.
42459 (grub_ieee1275_get_property_length): Likewise.
42460 (grub_ieee1275_next_property): Likewise. Change type of first argument
42461 to grub_ieee1275_phandle_t.
42462 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42463 Move export next to declaration.
42464 (grub_ieee1275_chosen): New variable.
42465 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42466 Correct cosmetic typo.
42467 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42468 `grub_ieee1275_chosen'.
42469 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42470 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42471 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42472 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42473 `grub_ieee1275_chosen'.
42474
ca5baa3f 424752005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42476
42477 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42478 /chosen/bootargs.
42479 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42480 /chosen/bootargs as "variable=value" pairs.
42481
708b345f 424822005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42483
42484 * include/grub/misc.h (grub_dprintf): New macro.
42485 (grub_real_dprintf): New prototype.
42486 (grub_strword): Likewise.
42487 (grub_iswordseparator): Likewise.
42488 * kern/misc.c (grub_real_dprintf): New function.
42489 (grub_strword): Likewise.
42490 (grub_iswordseparator): Likewise.
42491
f4c5e67c 424922005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42493
42494 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42495 (roundup): Remove macro.
42496 (grub_ieee1275_flags): Make static.
42497 (grub_ieee1275_realmode): Remove.
42498 (grub_ieee1275_test_flag): New function.
42499 (grub_ieee1275_set_flag): Likewise.
42500 (find_options): Rename to `grub_ieee1275_find_options'; update
42501 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42502 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42503 (cmain): New prototype.
42504 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42505 `grub_ieee1275_flags' directly.
42506 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42507 machine/biosdisk.h.
42508 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42509 Don't include grub/machine/init.h.
42510 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42511 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42512 Remove prototype.
42513 (grub_ieee1275_realmode): Likewise.
42514 (grub_ieee1275_flag): New enum.
42515 (grub_ieee1275_test_flag): New prototype.
42516 (grub_ieee1275_set_flag): New prototype.
42517 * include/grub/powerpc/ieee1275/init.h: Remove file.
42518 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42519 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42520 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42521 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42522 comment.
42523 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42524 `grub_ieee1275_test_flag'.
42525 (grub_ieee1275_encode_devname): Likewise.
42526
ed16607e 425272005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42528
42529 * include/grub/powerpc/ieee1275/ieee1275.h
42530 (grub_ieee1275_encode_devname): New prototype.
42531 (grub_ieee1275_get_filename): Likewise.
42532 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42533 function.
42534 (grub_set_prefix): Likewise.
42535 (grub_machine_init): Call grub_set_prefix.
42536 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42537 (grub_parse_type): New enum.
42538 (grub_ieee1275_get_devargs): New function.
42539 (grub_ieee1275_get_devname): Likewise.
42540 (grub_ieee1275_parse_args): Likewise.
42541 (grub_ieee1275_get_filename): Likewise.
42542 (grub_ieee1275_encode_devname): Likewise.
42543
be369920 425442005-03-30 Marco Gerards <metgerards@student.han.nl>
42545
42546 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42547 `grub_loader_unset'.
42548
a5ce3a4a 425492005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42550
42551 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42552 instead of grub_ieee1275_interpret.
42553 (grub_halt_init): New function.
42554 (grub_halt_fini): Likewise.
42555 (GRUB_MOD_INIT): Correct message grammar.
42556 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42557 instead of grub_ieee1275_interpret.
42558 (grub_reboot_init): New function.
42559 (grub_reboot_fini): Likewise.
42560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42561 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42562 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42563 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42564 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42565 function.
42566 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42567 Add prototype.
42568 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42569 prototype.
42570 (grub_halt): Likewise.
42571 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42572 (cmain): Remove __attribute__((unused)).
42573 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42574 (grub_heap_len): Likewise.
42575 (grub_machine_fini): New function.
42576 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42577 (grub_halt): Likewise.
42578 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42579 function.
42580 * util/powerpc/ieee1275/misc.c: New file.
42581
0058f771 425822005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42583
42584 * DISTLIST: New file.
42585 * gendistlist.sh: Likewise.
f19dbdb7 42586
0058f771 42587 * Makefile.in (COMMON_DISTFILES): Removed.
42588 (BOOT_DISTFILES): Likewise.
42589 (CONF_DISTFILES): Likewise.
42590 (DISK_DISTFILES): Likewise.
42591 (FS_DISTFILES): Likewise.
42592 (INCLUDE_DISTFILES): Likewise.
42593 (KERN_DISTFILES): Likewise.
42594 (LOADER_DISTFILES): Likewise.
42595 (TERM_DISTFILES): Likewise.
42596 (UTIL_DISTFILES): Likewise.
42597 (DISTFILES): Likewise.
42598 (uninstall): Uninstall files in $(pkgdata_DATA).
42599 (DISTLIST): New target.
42600 (distdir): Use the contents of the file DISTLIST to get a list of
42601 distributed files.
42602
46b3b8a5 426032005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42604
42605 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42606 descriptor. This is ported from GRUB Legacy.
42607
42608 * gencmdlist.sh: Added an extra semicolon to make it work with
42609 old sed versions. Reported by Robert Bihlmeyer
42610 <robbe@orcus.priv.at>.
42611
5822ff87 426122005-03-08 Yoshinori Okuji <okuji@enbug.org>
42613
42614 Automatic loading of commands is supported.
f19dbdb7 42615
5822ff87 42616 * normal/main.c (read_command_list): New function.
42617 (grub_normal_execute): Call read_command_list.
42618
42619 * normal/command.c (grub_register_command): Return zero or CMD.
42620 Allocate CMD->NAME from the heap.
42621 Initialize CMD->MODULE_NAME to zero.
42622 Find the same name as well. If the same command is found and it is
42623 a dummy command, overwrite members. If it is not a dummy command,
42624 return zero.
42625 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42626 (grub_command_find): If a dummy command is found, load a module
42627 and retry to find a command only once.
42628
42629 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42630 make sure that each command is loaded.
42631
42632 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42633 macro.
42634 (struct grub_command): Remove const from the member `name'.
42635 Add a new member `module_name'.
42636 (grub_register_command): Return grub_command_t.
42637
42638 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42639 sure that each command is loaded.
42640
42641 * genmk.rb (PModule::rule): Specify a module name without the
42642 suffix ".mod" to gencmdlist.sh.
42643
7b1f4b57 426442005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42645
42646 * gencmdlist.sh: New file.
f19dbdb7 42647
7b1f4b57 42648 * genmk.rb (PModule::rule): Generate a rule for a command list.
42649 Clean command.lst.
42650 Generate command.lst from $(COMMANDFILES).
42651
42652 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42653 (DATA): Added $(pkgdata_DATA).
42654 (install-local): Install files in $(pkgdata_DATA).
42655
062aaf39 426562005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42657
42658 * term/i386/pc/vga.c (debug_command): Removed.
42659 (GRUB_MOD_INIT): Do not register the command "debug".
42660
42661 From Hollis Blanchard:
42662 * commands/configfile.c: New file.
42663 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42664 commands/configfile.c.
42665 (pkgdata_MODULES): Added configfile.mod.
42666 (configfile_mod_SOURCES): New variable.
42667 (configfile_mod_CFLAGS): Likewise.
42668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42669 commands/configfile.c.
42670 (pkgdata_MODULES): Added configfile.mod.
42671 (configfile_mod_SOURCES): New variable.
42672 (configfile_mod_CFLAGS): Likewise.
42673 * util/grub-emu.c (main): Call grub_configfile_init and
42674 grub_configfile_fini.
42675 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42676 prototype.
42677 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42678
cee01aa6 426792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42680
42681 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42682 address.
42683
42684 * commands/help.c (grub_cmd_help): Do not print newlines after
42685 the last command in print_command_help.
42686
93f3a1d8 426872005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42688
42689 * commands/default.h: New file.
42690 * commands/timeout.h: Likewise.
42691 * normal/context.c: Likewise.
f19dbdb7 42692
93f3a1d8 42693 * util/misc.c: Do not include sys/times.h.
42694 Include sys/time.h and grub/machine/time.h.
42695 (grub_get_rtc): Rewritten with gettimeofday.
42696
42697 * util/grub-emu.c (main): Call grub_default_init and
42698 grub_timeout_init before grub_normal_init, and call
42699 grub_timeout_fini and grub_default_fini after grub_main.
42700
42701 * util/console.c (grub_ncurses_checkkey): Return the read
42702 character or -1.
42703
42704 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42705 timeouts.
42706
42707 * normal/main.c (read_config_file): Push MENU. If this fails,
42708 print an error and wait for a user input.
42709 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42710 If a menu is empty or an error occurs, pop MENU.
42711 (grub_normal_execute): Pop and free MENU after grub_menu_run
42712 returns.
42713
42714 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42715
42716 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42717 include time.h.
42718 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42719 without GRUB_UTIL.
42720 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42721 time.h.
42722 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42723 without GRUB_UTIL.
42724
42725 * include/grub/normal.h (struct grub_menu_list): New struct.
42726 (grub_menu_list_t): New type.
42727 (struct grub_context): New struct.
42728 (grub_context_t): New type.
42729 (grub_register_command): Got rid of EXPORT_FUNC.
42730 (grub_unregister_command): Likewise.
42731 (grub_context_get): New prototype.
42732 (grub_context_get_current_menu): Likewise.
42733 (grub_context_push_menu): Likewise.
42734 (grub_context_pop_menu): Likewise.
42735 [GRUB_UTIL] (grub_default_init): Likewise.
42736 [GRUB_UTIL] (grub_default_fini): Likewise.
42737 [GRUB_UTIL] (grub_timeout_init): Likewise.
42738 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42739
42740 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42741 commands/timeout.c and normal/context.c.
42742 (pkgdata_MODULES): Added default.mod and timeout.mod.
42743 (normal_mod_SOURCES): Added normal/context.c.
42744 (default_mod_SOURCES): New variable.
42745 (default_mod_CFLAGS): Likewise.
42746 (timeout_mod_SOURCES): Likewise.
42747 (timeout_mod_CFLAGS): Likewise.
42748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42749 conf/i386-pc.rmk.
42750 (pkgdata_MODULES): Added default.mod and timeout.mod.
42751 (normal_mod_SOURCES): Added normal/context.c.
42752 (default_mod_SOURCES): New variable.
42753 (default_mod_CFLAGS): Likewise.
42754 (timeout_mod_SOURCES): Likewise.
42755 (timeout_mod_CFLAGS): Likewise.
42756
42757 * Makefile.in (all-local): Added $(MKFILES).
42758
4ed2e1dd 427592005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42760
42761 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42762 (grub_emu_SOURCES): Likewise.
42763 (pkgdata_MODULES): Add `sun.mod'.
42764 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42766 `partmap/sun.c'.
42767 (pkgdata_MODULES): Add `sun.mod'.
42768 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42769 * include/grub/partition.h (grub_sun_partition_map_init): New
42770 prototype.
42771 (grub_sun_partition_map_fini): Likewise.
42772 * partmap/sun.c: New file.
42773 * util/grub-emu.c (main): Initialize and de-initialize the sun
42774 partitionmap support.
42775
4d4e372e 427762005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42777
42778 This implements an Emacs-like menu entry editor.
f19dbdb7 42779
4d4e372e 42780 * normal/menu_entry.c: New file.
f19dbdb7 42781
4d4e372e 42782 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42783 characters to ASCII.
42784 (saved_char): New variable.
42785 (grub_ncurses_checkkey): Rewritten completely.
42786 (grub_ncurses_getkey): Likewise.
42787 (grub_ncurses_init): Call raw instead of cbreak.
42788
42789 * normal/menu.c (print_entry): Do not put a space.
42790 (init_page): Renamed to ...
42791 (grub_menu_init_page): ... this. All callers changed.
42792 (edit_menu_entry): Removed.
42793 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42794
42795 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42796
42797 * kern/misc.c (grub_vprintf): Call grub_refresh.
42798
42799 * normal/menu.c (DISP_LEFT): Renamed to ...
42800 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42801 * normal/menu.c (DISP_UP): Renamed to ...
42802 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42803 * normal/menu.c (DISP_RIGHT): Renamed to ...
42804 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42805 * normal/menu.c (DISP_DOWN): Renamed to ...
42806 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42807 * normal/menu.c (DISP_HLINE): Renamed to ...
42808 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42809 * normal/menu.c (DISP_VLINE): Renamed to ...
42810 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42811 * normal/menu.c (DISP_UL): Renamed to ...
42812 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42813 * normal/menu.c (DISP_UR): Renamed to ...
42814 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42815 * normal/menu.c (DISP_LL): Renamed to ...
42816 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42817 * normal/menu.c (DISP_LR): Renamed to ...
42818 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42819 * normal/menu.c (TERM_WIDTH): Renamed to ...
42820 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42821 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42822 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42823 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42824 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42825 * normal/menu.c (TERM_MARGIN): Renamed to ...
42826 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42827 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42828 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42829 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42830 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42831 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42832 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42833 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42834 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42835 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42836 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42837 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42838 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42839 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42840 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42841 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42842 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42843 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42844 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42845 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42846 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42847 All callers changed.
42848
42849 * include/grub/normal.h: New prototype.
42850
42851 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42852 normal/menu_entry.c.
42853 (normal_mod_SOURCES): Likewise.
42854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42855 (normal_mod_SOURCES): Likewise.
42856
e6b92c8a 428572005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42858
42859 * include/grub/normal.h (grub_halt_init): New prototype.
42860 (grub_halt_fini): Likewise.
42861 (grub_reboot_init): Likewise.
42862 (grub_reboot_fini): Likewise.
42863
42864 * util/grub-emu.c: Include signal.h.
42865 (main_env): New global variable.
42866 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42867 catch C-c.
42868 (grub_machine_fini): New function.
42869 (main): Call grub_halt_init and grub_reboot_init before
42870 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42871 Call setjmp with MAIN_ENV to go back afterwards.
42872 Call grub_machine_fini right before return.
42873
42874 * include/grub/util/misc.h: Include setjmp.h.
42875 (main_env): New prototype.
42876
42877 * include/grub/kernel.h (grub_machine_fini): New prototype.
42878 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42879 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42880
42881 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42882 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42883 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42884
e6b92c8a 42885 * util/i386/pc/misc.c: New file.
f19dbdb7 42886
e6b92c8a 42887 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42888 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42889 commands/i386/pc/reboot.c.
42890
c642636f 428912005-02-14 Guillem Jover <guillem@hadrons.org>
42892
42893 * include/grub/dl.h (grub_dl_check_header): New prototype.
42894 (grub_arch_dl_check_header): Change return type to grub_err_t,
42895 remove size parameter and export function. Update all callers.
42896 * kern/dl.c (grub_dl_check_header): New function.
42897 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42898 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42899 are inside the core.
42900 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42901 independent ELF header checks.
42902 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42903 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42904 `grub_dl_check_header' instead of explicit checks. Check for the
42905 ELF type.
42906 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42907 `grub_dl_check_header' instead of explicit checks. Remove arch
42908 specific ELF header checks.
42909
e6b92c8a 42910 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42911 argument SIZE.
42912
5eabe94b 429132005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42914
42915 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42916 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42917
1b14a681 429182005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42919
42920 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42921 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42922 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42923 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42924 * partmap/amiga.c (amiga_partition_map_iterate): Return
42925 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42926 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42927
aca108aa 429282005-02-01 Guillem Jover <guillem@hadrons.org>
42929
42930 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42931 help info.
42932
c9f9c556 429332005-01-31 Marco Gerards <metgerards@student.han.nl>
42934
42935 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42936 Removed prototype.
42937 (grub_rescue_cmd_linux): New prototype.
42938 (grub_rescue_cmd_initrd): Likewise.
42939 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42940 `bi_rec'.
42941 (grub_linux_release_mem): Release the memory for the initrd.
42942 (grub_load_linux): Renamed from this...
42943 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42944 Changed `entry' not to be static. Loop over memory regions to
42945 find another one when the default fails.
42946 (grub_rescue_cmd_initrd): New function.
42947 (grub_linux_init): Remove function.
42948 (grub_linux_fini): Likewise.
42949 (GRUB_MOD_INIT): Register `initrd'.
42950 (GRUB_MOD_FINI): Unregister `initrd'.
42951 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42952 Function removed.
42953 (grub_linux_normal_fini): Likewise.
42954 (GRUB_MOD_INIT): Register `initrd'.
42955 (GRUB_MOD_FINI): Unregister `initrd'.
42956
990cf3aa 429572005-01-31 Marco Gerards <metgerards@student.han.nl>
42958
42959 * commands/help.c: New file.
42960 * normal/arg.c (show_help): Renamed to...
42961 (grub_arg_show_help): ... this.
42962 * commands/i386/pc/halt.c: New file.
42963 * commands/i386/pc/reboot.c: Likewise.
42964 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42965 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42966 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42967 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42968 variables.
42969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42970 `commands/help.c'.
42971 (pkgdata_MODULES): Add `help.mod'.
42972 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42973 * grub/i386/pc/init.h (grub_reboot): New prototype.
42974 (grub_halt): Likewise.
42975 * include/grub/normal.h (grub_arg_show_help): New prototype.
42976 (grub_help_init): Likewise.
42977 (grub_help_fini): Likewise.
42978 * util/grub-emu.c (main): Initialize and deinitialize the help
42979 command.
42980
42981 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42982
42983 * normal/command.c (grub_command_init): Fixed the description of
42984 the `set' and `unset' commands.
42985
429862005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42987
42988 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42989 function.
42990 * commands/ieee1275/halt.c: New file.
42991 * commands/ieee1275/reboot.c: Likewise.
42992 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42993 `__attribute__ ((unused))'. Some GCS related fixed.
42994 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42995 (grub_suspend_fini): Likewise.
42996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42997 and `halt.mod'.
42998 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42999 (halt_mod_CFLAGS): New variables.
43000 * include/grub/powerpc/ieee1275/ieee1275.h
43001 (grub_ieee1275_interpret): New prototype.
43002
1ab09cc7 430032005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43004
43005 * include/grub/misc.h (memmove): New prototype.
43006 (memcpy): Likewise.
43007
8b8cbdb2 430082005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43009
43010 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43011 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43012
e3741a27 430132005-01-22 Marco Gerards <metgerards@student.han.nl>
43014
43015 * kern/misc.c (grub_strndup): Function rewritten.
43016
776bd780 430172005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43018
43019 * normal/menu.c (TERM_WIDTH): Macro redefined.
43020 (TERM_TOP_BORDER_Y): Likewise.
43021 (draw_border): Replaced while-loop by a for-loop. Make the number
43022 of lines consistent with the number of lines displayed in
43023 print_entries. Added a margin below the rectangle.
43024 (print_entry): Make the entry fit in the rectangle.
43025 (print_entries): Display the scroll arrows next to the right
43026 border.
43027
78026bce 430282005-01-21 Marco Gerards <metgerards@student.han.nl>
43029
43030 * fs/minix.c (grub_minix_find_file): Reserve more space for
43031 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43032 `grub_strncpy' to copy `path' into it.
43033
67bbaf0f 430342005-01-21 Marco Gerards <metgerards@student.han.nl>
43035
43036 Add the loopback device, a device via which files can be accessed
43037 as devices.
f19dbdb7 43038
67bbaf0f 43039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43040 (pkgdata_MODULES): Add loopback.mod.
43041 (loopback_mod_SOURCES): New variable.
43042 (loopback_mod_CFLAGS): Likewise.
43043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43044 `disk/loopback.c'.
43045 (pkgdata_MODULES): Add loopback.mod.
43046 (loopback_mod_SOURCES): New variable.
43047 (loopback_mod_CFLAGS): Likewise.
43048 * disk/loopback.c: new file.
43049 * include/grub/normal.h (grub_loop_init): New prototype.
43050 (grub_loop_fini): New prototype.
43051 * util/grub-emu.c (main): Initialize and de-initialize loopback
43052 support.
43053 * include/grub/disk.h (grub_disk_dev_id): Add
43054 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43055
6f1c18bd 430562005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43057
43058 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43059 function.
43060 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43061 (suspend_mod_SOURCES): New variable.
43062 (suspend_mod_CFLAGS): Likewise.
43063 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43064 New prototype.
43065 * commands/ieee1275/suspend.c: New file.
43066
b38551da 430672005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43068
43069 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43070 ((unused))' to `__attribute__ ((used))'.
b38551da 43071 (GRUB_MOD_FINI): Likewise.
43072 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43073 * genmk.rb (PModule): Assign space to common symbols when linking
43074 modules.
43075
777aff39 430762005-01-20 Marco Gerards <metgerards@student.han.nl>
43077
43078 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43079 `unsigned' arguments to `grub_size_t'.
43080 (grub_malloc): Likewise.
43081 (grub_realloc): Likewise.
43082 (grub_memalign): Likewise.
43083 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43084 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43085 * util/misc.c (grub_malloc): Likewise.
43086 (grub_realloc): Likewise.
43087 * kern/mm.c (get_header_from_pointer): Change the casts to
43088 `unsigned' into a cast to `grub_size_t'.
43089
43090 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43091 point to `currnode' when `currnode' is changed.
43092
43093 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43094 Schottelius <nico-linux@schottelius.org>.
43095
d0ff18e1 430962005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43097
43098 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43099 (note_path): Remove variable.
43100 (GRUB_IEEE1275_NOTE_NAME): New macro.
43101 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43102 (grub_ieee1275_note_hdr): New structure.
43103 (grub_ieee1275_note_desc): Likewise.
43104 (grub_ieee1275_note): Likewise.
43105 (load_note): Remove `dir' argument. All callers updated. Remove
43106 `note_img' and `path'. Do not load a file from `note_path'.
43107 Initialize a struct grub_ieee1275_note and write that to `out'.
43108 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43109
4ca7004c 431102005-01-05 Marco Gerards <metgerards@student.han.nl>
43111
43112 * util/misc.c (grub_util_read_image): Revert last change. It
43113 called `grub_util_read_at', which seeks from the beginning of the
43114 file.
43115
0b412211 431162005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43117
43118 * TODO: Add note about endianness in grub-mkimage.
43119 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43120 section.
43121 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43122 (grub_mkimage_SOURCES): New target.
43123 * include/grub/kernel.h (grub_start_addr): Remove variable.
43124 (grub_end_addr): Likewise.
43125 (grub_total_module_size): Likewise.
43126 (grub_kernel_image_size): Likewise.
43127 (GRUB_MODULE_MAGIC): New constant.
43128 (grub_module_info): New structure.
43129 (grub_arch_modules_addr): New prototype.
43130 (grub_get_end_addr): Remove prototype.
43131 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43132 * include/grub/powerpc/ieee1275/kernel.h: New file.
43133 * include/grub/util/misc.h (grub_util_get_fp_size): New
43134 prototype.
43135 (grub_util_read_at): Likewise.
43136 (grub_util_write_image_at): Likewise.
43137 * kern/main.c (grub_get_end_addr): Remove function.
43138 (grub_load_modules): Call grub_arch_modules_addr instead of using
43139 grub_end_addr. Look for a grub_module_info struct in memory. Use
43140 the grub_module_info fields instead of calling grub_get_end_addr
43141 as loop conditions. Move grub_add_unused_region code here.
43142 (grub_add_unused_region): Remove function.
43143 * kern/i386/pc/init.c: Include grub/cache.h.
43144 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43145 one call to add_mem_region.
43146 (grub_arch_modules_addr): New function.
43147 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43148 (grub_total_module_size): Likewise.
43149 Include grub/machine/kernel.h.
43150 (grub_arch_modules_addr): New function.
43151 * util/grub-emu.c (grub_end_addr): Remove variable.
43152 (grub_total_module_size): Likewise.
43153 (grub_arch_modules_addr): New function.
43154 * util/misc.c: Include unistd.h.
43155 (grub_util_get_fp_size): New function.
43156 (grub_util_read_at): Likewise.
43157 (grub_util_write_image_at): Likewise.
43158 (grub_util_read_image): Call grub_util_read_at.
43159 (grub_util_write_image): Call grub_util_write_image_at.
43160 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43161 additional memory in kernel_img for a struct grub_module_info.
43162 Fill in that grub_module_info.
43163 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43164
458786f8 431652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43166
43167 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43168 New function.
43169 * include/grub/powerpc/ieee1275/ieee1275.h
43170 (grub_ieee1275_milliseconds): New prototype.
43171 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43172 Change to 1000.
43173 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43174 grub_ieee1275_milliseconds.
43175
ac507d1b 431762005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43177
43178 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43179 variable.
43180 (find_options): New function.
43181 (cmain): Call find_options.
43182 * include/grub/powerpc/ieee1275/ieee1275.h
43183 (grub_ieee1275_realmode): New extern variable.
43184 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43185 grub_map if grub_ieee1275_realmode is false.
43186
6b8fd1c4 431872004-12-29 Marco Gerards <metgerards@student.han.nl>
43188
43189 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43190 lines are inserted and make it work like readline. Reported by
43191 Vincent Pelletier <subdino2004@yahoo.fr>.
43192
8514a1e0 431932004-12-28 Marco Gerards <metgerards@student.han.nl>
43194
43195 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43196
43197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43198 `kern/powerpc/cache.S'.
43199
924b6140 432002004-12-27 Marco Gerards <metgerards@student.han.nl>
43201
43202 * genmk.rb: Handle the `Program' class in the main loop. Written
43203 by Johan Rydberg <jrydberg@gnu.org>.
43204 (Program): New class.
43205 (programs): New variable.
43206 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43207 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43208 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43209 (help_arch): Function removed.
43210 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43211 `powerpc/libgcc.h' and `loader.h'.
43212 (pkgdata_PROGRAMS): New variable.
43213 (sbin_UTILITIES): Variable removed.
43214 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43215 (grubof_SOURCES): Variable re-defined so it only includes the
43216 core functionality.
43217 (grubof_CFLAGS): Remove `-DGRUBOF'.
43218 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43219 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43220 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43221 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43222 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43223 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43224 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43225 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43226 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43227 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43228 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43229 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43230 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43231 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43232 (pc_mod_CFLAGS): New variables.
43233 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43234 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43235 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43236 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43237 Moved from here...
43238 * include/grub/i386/pc/init.h (grub_os_area_addr)
43239 (rub_os_area_size): ... to here.
43240 * include/grub/powerpc/ieee1275/ieee1275.h
43241 (grub_ieee1275_entry_fn): Export symbol.
43242 * include/grub/powerpc/ieee1275/init.h: New file.
43243 * include/grub/powerpc/libgcc.h: Likewise.
43244 * include/grub/cache.h: Likewise.
43245 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43246 <hollis@penguinppc.org>.
43247 * kern/dl.c: Include <grub/cache.h>.
43248 (grub_dl_flush_cache): New function.
43249 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43250 for this module.
43251 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43252 (grub_console_init): Removed prototypes.
43253 (grub_machine_init): Don't initialize the modules anymore.
43254 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43255 static.
43256 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43257 Macro undef removed.
43258 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43259 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43260 relocation `R_PPC_REL32'. Return an error when the relocation is
43261 unknown.
43262 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43263 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43264 * util/misc.c (grub_arch_sync_caches): Likewise.
43265
e4b47e0c 432662004-12-19 Marco Gerards <metgerards@student.han.nl>
43267
43268 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43269 `symlist.c', add `grubof_symlist.c'.
43270 (symlist.c): Variable removed.
43271 (grubof_HEADERS): Variable added.
43272 (grubof_symlist.c): New target.
43273 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43274 `kernel_img_HEADERS'.
43275 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43276 * kern/powerpc/dl.c: New file.
43277 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43278 Function removed.
43279 (grub_arch_dl_relocate_symbols): Likewise.
43280 (grub_register_exported_symbols): Likewise.
43281
4ceb3636 432822004-12-13 Marco Gerards <metgerards@student.han.nl>
43283
43284 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43285 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43286 to fail instead. Reported by Vincent Pelletier
43287 <subdino2004@yahoo.fr>.
43288
43289 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43290 it is not allocated. Reported by Vincent Pelletier
43291 <subdino2004@yahoo.fr>.
43292
43293 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43294 output so the output looks better.
f19dbdb7 43295
3f1578fe 432962004-12-04 Marco Gerards <metgerards@student.han.nl>
43297
43298 Modulize the partition map support and add support for the amiga
43299 partition map.
f19dbdb7 43300
3f1578fe 43301 * commands/ls.c: Include <grub/partition.h> instead of
43302 <grub/machine/partition.h>.
43303 * kern/disk.c: Likewise.
43304 * kern/rescue.c: Likewise.
43305 * loader/i386/pc/chainloader.c: Likewise.
43306 * normal/cmdline.c: Likewise.
43307 * kern/powerpc/ieee1275/init.c: Likewise.
43308 (grub_machine_init): Call `grub_pc_partition_map_init',
43309 `grub_amiga_partition_map_init' and
43310 `grub_apple_partition_map_init'.
43311 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43312 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43313 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43314 `partition.h' and `pc_partition.h'.
43315 (grub_setup_SOURCES): Remove
43316 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43317 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43318 (grub_emu_SOURCES): Likewise.
43319 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43320 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43321 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43323 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43324 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43325 (grubof_SOURCES): Likewise.
43326 * disk/i386/pc/partition.c: File removed.
43327 * disk/powerpc/ieee1275/partition.c: Likewise.
43328 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43329 * include/grub/i386/pc/partition.h: Likewise.
43330 * kern/partition.c: New file.
43331 * partmap/amiga.c: Likewise.
43332 * partmap/apple.c: Likewise.
43333 * partmap/pc.c: Likewise.
43334 * include/grub/partition.h: Likewise..
43335 * include/grub/pc_partition.h: Likewise.
43336 * util/grub-emu.c: Include <grub/partition.h> instead of
43337 <grub/machine/partition.h>.
43338 (main): Call `grub_pc_partition_map_init',
43339 `grub_amiga_partition_map_init' and
43340 `grub_apple_partition_map_init' and deinitialize afterwards.
43341 * util/i386/pc/biosdisk.c: Include `#include
43342 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43343 `<grub/machine/partition.h>'.
43344 * util/i386/pc/grub-setup.c: Likewise.
43345 * util/i386/pc/biosdisk.c: Likewise.
43346 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43347 partition information in case of a PC partition.
43348 * util/i386/pc/grub-setup.c: Include `#include
43349 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43350 `<grub/machine/partition.h>'.
43351 (setup): Only access the PC specific partition information in case
43352 of a PC partition.
43353
0ef4ced9 433542004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43355
0ef4ced9 43356 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43357 (grub_longjmp): Likewise.
43358 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43359 20.
43360 * normal/powerpc/setjmp.S: New file.
43361 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43362 `normal/powerpc/setjmp.S'.
43363 (grubof_CFLAGS): Add `-DGRUBOF'.
43364 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43365 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43366
19950e29 433672004-11-16 Marco Gerards <metgerards@student.han.nl>
43368
43369 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43370 property named `name'. Correctly handle the error returned by
43371 `grub_ieee1275_finddevice' if a device can not be opened.
43372
a2fea427 433732004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43374
43375 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43376 `actual' for negativity.
43377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43378 kern/fshelp.c.
43379
41ea0ea3 433802004-11-01 Marco Gerards <metgerards@student.han.nl>
43381
43382 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43383 (PAGE_OFFSET): New macro.
43384 (CRTC_ADDR_PORT): Likewise.
43385 (CRTC_DATA_PORT): Likewise.
43386 (START_ADDR_HIGH_REGISTER): Likewise.
43387 (START_ADDR_LOW_REGISTER): Likewise.
43388 (GRAPHICS_ADDR_PORT): Likewise.
43389 (GRAPHICS_DATA_PORT): Likewise.
43390 (READ_MAP_REGISTER): Likewise.
43391 (INPUT_STATUS1_REGISTER): Likewise.
43392 (INPUT_STATUS1_VERTR_BIT): Likewise.
43393 (page): New variable.
43394 (wait_vretrace): New function.
43395 (set_read_map): Likewise.
43396 (set_start_address): Likewise.
43397 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43398 the right page.
43399 (check_vga_mem): Take the page into account.
43400 (write_char): Likewise.
43401 (write_cursor): Likewise.
43402 (scroll_up): Likewise. Copy the page to the page that is not
43403 shown and switch between both pages.
43404 (grub_vga_putchar): Fix off by one error.
43405 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43406 account.
43407
ad0bd20b 434082004-11-01 Marco Gerards <metgerards@student.han.nl>
43409
43410 Add support for iso9660 (including rockridge).
f19dbdb7 43411
ad0bd20b 43412 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43413 (iso9660_mod_SOURCES): New variable.
43414 (iso9660_mod_CFLAGS): Likewise.
43415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43416 * include/grub/fs.h (grub_iso9660_init): New prototype.
43417 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43418 * fs/iso9660.c: New file.
43419
43420 * include/grub/misc.h (grub_strncat): New prototype.
43421 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43422
ad0bd20b 43423 * fs/hfs.c (grub_hfs_mount): Translate the error
43424 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43425 * fs/jfs.c (grub_jfs_mount): Likewise.
43426 * fs/ufs.c (grub_ufs_mount): Likewise.
43427
a5477a59 434282004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43429
43430 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43431 which initialized BAT registers.
43432 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43433 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43434 Move from here...
43435 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43436 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43437 ... to here.
43438 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43439 (grub_mapclaim): Likewise.
43440 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43441 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43442 hand.
43443
9304c1f8 434442004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43445
43446 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43447 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43448 -ffreestanding and -msoft-float.
43449
86f4ae25 434502004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43451
43452 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43453 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43454 set in grub_ieee1275_flags.
43455
38912228 434562004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43457
43458 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43459 prototype.
43460 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43461 grub_console_init first.
43462 Change the memory range used for grub_ieee1275_claim and
43463 grub_mm_init_region.
43464 Print an error message if the claim fails.
43465 Include <grub/misc.h>.
43466
d1923dc8 434672004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43468
43469 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43470 Call grub_children_iterate for device nodes of type `scsi',
43471 `ide', or `ata'.
43472 (grub_ofdisk_open): Remove manual device alias resolution.
43473 Fix memory leak when device cannot be opened.
f19dbdb7 43474 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43475 (grub_children_iterate): New prototype.
43476 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43477 New function.
43478 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43479 Return -1 if args.size was -1.
43480
4512e4f3 434812004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43482
43483 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43484 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43485 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43486 Open Firmware's memory for it; claim memory from _start to _end.
43487 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43488 (_end): New extern.
43489 (_start): Zero BSS from __bss_start to _end.
43490 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43491 New extern.
43492 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43493
4d61feb0 434942004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43495
ad0bd20b 43496 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43497 -1 if args.base was -1.
4d61feb0 43498
026fa2f9 434992004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43500
43501 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43502 escape sequence instead of a literal ^L. Also call
43503 grub_ofconsole_gotoxy.
43504
9f2220ef 435052004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43506
43507 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43508 void * arguments to grub_addr_t. All callers updated. Also make
43509 the `result' argument optional.
43510 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43511 All callers updated.
43512
8a572cd7 435132004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43514
43515 * commands/ls.c (grub_ls_list_files): Use the string following the
43516 initial ')', if present, as the filesystem path.
43517 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43518
43519 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43520
18aa81f2 435212004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43522
43523 Make the source code of the menu interface more readable.
f19dbdb7 43524
18aa81f2 43525 * normal/menu.c: Include grub/mm.h.
43526 (TERM_WIDTH): New macro.
43527 (TERM_HEIGHT): Likewise.
43528 (TERM_INFO_HEIGHT): Likewise.
43529 (TERM_MARGIN): Likewise.
43530 (TERM_SCROLL_WIDTH): Likewise.
43531 (TERM_TOP_BORDER_Y): Likewise.
43532 (TERM_LEFT_BORDER_X): Likewise.
43533 (TERM_BORDER_WIDTH): Likewise.
43534 (TERM_MESSAGE_HEIGHT): Likewise.
43535 (TERM_BORDER_HEIGHT): Likewise.
43536 (TERM_NUM_ENTRIES): Likewise.
43537 (TERM_FIRST_ENTRY_Y): Likewise.
43538 (TERM_ENTRY_WIDTH): Likewise.
43539 (TERM_CURSOR_X): Likewise.
43540 (draw_border): Use macros instead of magic numbers.
43541 (print_entry): Likewise.
43542 (print_entries): Likewise.
43543 (run_menu): Likewise. Also, handle the key 'e'.
43544 (run_menu_entry): Ignore empty command lines.
43545 (print_message): Added a new argument EDIT. If EDIT is true,
43546 print a different message.
43547 (init_page): Likewise.
43548 (edit_menu_entry): New function. Not implemented yet.
43549
b47efe30 435502004-09-17 Marco Gerards <metgerards@student.han.nl>
43551
43552 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43553 can be loaded from normal mode.
f19dbdb7 43554
b47efe30 43555 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43556 `multiboot.mod'.
43557 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43558 (multiboot_mod_CFLAGS): New variables.
43559 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43560 * loader/i386/pc/multiboot_normal.c: Likewise.
43561
b47efe30 43562 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43563 attribute `unused'.
f19dbdb7 43564
b47efe30 43565 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43566 `fdiro' to read the mode information from instead of `diro'.
43567
43568 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43569 looking up a symlink.
43570
43571 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43572 macro.
43573 * normal/command.c (grub_command_execute): Don't parse the
43574 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43575 flags of the command.
43576
43577 * normal/menu.c (grub_menu_run): Fix typo.
43578
da75ac71 435792004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43580
43581 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43582
43583 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43584 `y + 1' instead of `y - 1'.
43585
43586 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43587
062b24c2 435882004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43589
43590 From Hollis Blanchard <hollis@penguinppc.org>:
43591 * kern/misc.c (memmove): New alias for grub_memmove.
43592 (memcmp): New alias for grub_memcmp.
43593 (memset): New alias for grub_memset.
f19dbdb7 43594 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43595 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43596 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43597 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43598
8ddad845 435992004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43600
43601 Added normal mode command `chainloader' as module chain.mod, which
43602 depends on normal.mod and _chain.mod.
f19dbdb7 43603
8ddad845 43604 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43605 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43606 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43607 Deleted prototype.
43608 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43609 but arguments parsing moved to ...
43610 (grub_chainloader_cmd): ... here. New function.
43611 * include/grub/i386/pc/chainloader.h: New file.
43612 * loader/i386/pc/chainloader_normal.c: Likewise.
43613
2c1f4ce3 436142004-09-11 Marco Gerards <metgerards@student.han.nl>
43615
43616 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43617 (grub_mkimage_LDFLAGS): Likewise.
43618 (grub_emu_SOURCES): Likewise.
43619 (kernel_img_HEADERS): Added fshelp.h.
43620 * fs/ext2.c: Include <grub/fshelp.h>.
43621 (FILETYPE_REG): New macro.
43622 (FILETYPE_INO_REG): Likewise.
43623 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43624 Changed all users.
43625 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43626 all users.
43627 (grub_fshelp_node): New struct.
43628 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43629 to a pointer.
43630 (grub_ext2_get_file_block): Removed function.
43631 (grub_ext2_read_block): New function.
43632 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43633 This function was written.
43634 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43635 (grub_ext2_find_file): Removed function.
43636 (grub_ext2_read_symlink): New function.
43637 (grub_ext2_iterate_dir): Likewise.
43638 (grub_ext2_open): Rewritten.
43639 (grub_ext2_dir): Rewritten.
43640 * include/grub/fshelp.h: New file.
43641 * fs/fshelp.c: Likewise.
43642
3c52136a 436432004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43644
43645 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43646 (print_message): Add a missing newline.
43647 (run_menu): Added timeout support.
43648 (run_menu_entry): New local function.
43649 (grub_menu_run): Added support for booting.
43650
43651 * kern/loader.c (grub_loader_is_loaded): New function.
43652
43653 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43654 (grub_get_rtc): Exported.
43655
43656 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43657 (grub_get_rtc): Exported.
43658
43659 * include/grub/normal.h (struct grub_command_list): Remove
43660 constant from the member `command'.
43661
43662 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43663
43664 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43665
43666 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43667
aa033560 436682004-08-28 Marco Gerards <metgerards@student.han.nl>
43669
43670 Add support for the JFS filesystem.
43671
43672 * fs/jfs.c: New file.
43673 * include/grub/fs.h (grub_jfs_init): New prototype.
43674 (grub_jfs_fini): New prototype.
43675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43676 (grub_emu_SOURCES): Likewise.
43677 (pkgdata_MODULES): Add jfs.mod.
43678 (jfs_mod_SOURCES): New variable.
43679 (jfs_mod_CFLAGS): Likewise.
43680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43681 (grubof_SOURCES): Likewise.
43682 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43683
43684 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43685 endian to the host endian.
43686 (grub_fat_utf16_to_utf8): Move function from there...
43687 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43688 the endianness of the source string anymore.
aa033560 43689 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43690
94bc45af 436912004-08-24 Marco Gerards <metgerards@student.han.nl>
43692
43693 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43694 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43695 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43696 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43697
94bc45af 43698 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43699 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43700 for `node_found' and `it_dir'.
43701 (grub_hfs_dir): Add prototype for `dir_hook'.
43702
43703 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43704 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43705 and `indir32' to silence a gcc warning.
43706
43707 * include/grub/fs.h (grub_hfs_init): New prototype.
43708 (grub_hfs_fini): Likewise.
f19dbdb7 43709
43710
97543f08 437112004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43712
43713 Each disk device has its own id now. This is useful to make use
43714 of multiple disk devices.
f19dbdb7 43715
97543f08 43716 * include/grub/disk.h (grub_disk_dev_id): New enum.
43717 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43718 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43719
43720 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43721 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43722
43723 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43724 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43725
43726 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43727 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43728
43729 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43730 "id" which is used by the cache manager.
43731
43732 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43733 of just "GRUB".
43734
64372eb4 437352004-08-18 Marco Gerards <metgerards@student.han.nl>
43736
43737 * fs/hfs.c: New file.
43738 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43739 (grub_emu_SOURCES): Likewise.
43740 (pkgdata_MODULES): Add hfs.mod.
43741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43742 (grubof_SOURCES): Likewise.
43743 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43744
43745 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43746 * kern/misc.c (grub_strncasecmp): Add function.
43747
cc61b58f 437482004-08-14 Marco Gerards <metgerards@student.han.nl>
43749
43750 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43751 with parentheses.
43752
43753 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43754 (grub_ext2_dir): In case the directory entry type is unknown, read
43755 it from the inode.
43756
0ef123f6 437572004-08-02 Peter Bruin <pjbruin@dds.nl>
43758
43759 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43760 grub_load_linux instead of grub_rescue_cmd_linux as second
43761 argument of grub_rescue_register_command.
43762
43763 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43764
a447c5df 437652004-07-27 Marco Gerards <metgerards@student.han.nl>
43766
43767 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43768 function.
43769 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43770 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43771 `loader/powerpc/ieee1275/linux.c',
43772 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43773 * include/grub/powerpc/ieee1275/ieee1275.h
43774 (grub_ieee1275_release): New prototype.
43775 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43776 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43777 normal, boot, linux and linux_normal.
43778 * loader/powerpc/ieee1275/linux.c: New file.
43779 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43780
5a9e3546 437812004-07-12 Marco Gerards <metgerards@student.han.nl>
43782
43783 * normal/arg.c (grub_arg_parse): Correct error handling after
43784 reallocating the argumentlist (check if `argl' is not null instead
43785 of checking if `args' is not null).
43786 * kern/mm.c (grub_realloc): Return the same pointer when using the
43787 same region, instead of returning the header address.
43788
e15199cb 437892004-07-11 Marco Gerards <metgerards@student.han.nl>
43790
43791 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43792 one block instead of two when looking for the initial partition.
43793 (grub_partition_probe): Initialize the local variable `p' with 0.
43794 Use base 10 for the grub_strtoul call.
43795 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43796 need for one local variable.
43797 (grub_strtoul): Don't add the new value to `num', instead of that
43798 just assign it.
43799
020616c2 438002004-07-11 Marco Gerards <metgerards@student.han.nl>
43801
43802 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43803 (pxeboot_img_SOURCES): New variable.
43804 (pxeboot_img_ASFLAGS): Likewise.
43805 (pxeboot_img_LDFLAGS): Likewise.
43806 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43807 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43808 <lode_leroy@hotmail.com>.
43809
6c51eb64 438102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43811
43812 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43813 there was no input.
43814
cfb12aff 438152004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43816
43817 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43818 the history buffer logic.
43819
6eabba74 438202004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43821
43822 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43823 (FILETYPE_INO_SYMLINK): New macros.
43824 (grub_ext2_find_file): Check if the node is a directory using the
43825 inode stat information instead of using the filetype in the
43826 dirent. Exclude the first character of an absolute symlink.
43827 (grub_ext2_dir): Mask out the filetype part of the mode member of
43828 the inode.
43829
66e19ef8 438302004-05-24 Marco Gerards <metgerards@student.han.nl>
43831
43832 Add support for UFS version 1 and 2. Add support for the minix
43833 filesystem version 1 and 2, both the variants with 14 and 30 long
43834 filenames.
f19dbdb7 43835
66e19ef8 43836 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43837 fs/minix.c.
43838 (grub_emu_SOURCES): Likewise.
43839 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43840 (ufs_mod_SOURCES): New variable.
43841 (ufs_mod_CFLAGS): Likewise.
43842 (minix_mod_SOURCES): Likewise.
43843 (minix_mod_CFLAGS): Likewise.
43844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43845 fs/minix.c.
43846 (grubof_SOURCES): Likewise.
43847 * fs/ufs.c: New file.
43848 * fs/minix.c: New file.
43849 * include/grub/fs.h (grub_ufs_init): New prototype.
43850 (grub_ufs_fini): Likewise.
43851 (grub_minix_init): Likewise.
43852 (grub_minix_fini): Likewise.
43853 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43854 minix fs.
43855
cc2e748a 438562004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43857
43858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43859 commands/ls.c, commands/terminal.c, commands/boot.c,
43860 commands/cmp.c and commands/cat.c.
43861 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43862
43863 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43864 "env.h"
43865
4b13b216 438662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43867
43868 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43869 and grub_, respectively. Because the conversion is trivial and
43870 mechanical, I omit the details here. Please refer to the CVS
43871 if you need more information.
43872
6a142551 438732004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43874
43875 * include/pupa: Renamed to ...
43876 * include/grub: ... this.
43877 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43878 * util/i386/pc/grub-mkimage.c: ... this.
43879 * util/i386/pc/pupa-setup.c: Renamed to ...
43880 * util/i386/pc/grub-setup.c: ... this.
43881 * util/pupa-emu.c: Renamed to ...
43882 * util/grub-emu.c: ... this.
43883
e56cdf21 438842004-03-29 Marco Gerards <metgerards@student.han.nl>
43885
43886 Add support for the newworld apple macintosh (PPC). This has been
43887 tested on the powerbook 2000 only. It only adds support for
43888 generic ieee1275 functions, console and disk support. This should
43889 be easy to port to other architectures with support for Open
43890 Firmware.
f19dbdb7 43891
e56cdf21 43892 * configure.ac: Accept the powerpc as host_cpu. In the case of
43893 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43894 specific tests are only executed while building for the i386.
43895 Inverse test for crosscompile.
43896 * genmk.rb (Utility): Allow assembler files.
43897 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43898 * conf/powerpc-ieee1275.rmk: New file.
43899 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43900 * disk/powerpc/ieee1275/partition.c: Likewise.
43901 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43902 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43903 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43904 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43905 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43906 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43907 * include/pupa/powerpc/ieee1275/loader.h
43908 * include/pupa/powerpc/setjmp.h: Likewise.
43909 * include/pupa/powerpc/types.h: Likewise.
43910 * kern/powerpc/ieee1275/init.c: Likewise.
43911 * kern/powerpc/ieee1275/openfw.c: Likewise.
43912 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43913
43914 These files were written by Johan Rydberg
43915 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43916
e56cdf21 43917 * boot/powerpc/ieee1275/cmain.c: New file.
43918 * boot/powerpc/ieee1275/crt0.S: Likewise.
43919 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43920 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43921
8c8cc205 439222004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43923
43924 * Makefile.in: Update copyright.
43925 * genmodsrc.sh: Likewise.
43926 * gensymlist.sh: Likewise.
43927 * term/i386/pc/vga.c: Indent correctly.
43928
43929 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43930 bugreporting address.
43931 * util/i386/pc/pupa-setup.c (usage): Likewise,
43932 (main): Call pupa_ext2_init and pupa_ext2_fini.
43933
f19dbdb7 43934 * fs/fat.c (log2): Renamed to ...
8c8cc205 43935 (fat_log2): ... this.
43936 All callers changed.
43937 * kern/misc.c (memcpy): Alias to pupa_memmove.
43938 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43939 lvalue cast.
43940 * util/console.c (pupa_ncurses_fini): Return 0.
43941
43942 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43943 Move fail label here.
43944 [__GNU__]: Don't warn when using stat.
43945 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43946 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43947 long int. Use strtol instead of strtoul.
f19dbdb7 43948
db1771cf 439492004-03-14 Marco Gerards <metgerards@student.han.nl>
43950
43951 * commands/boot.c: New file.
43952 * commands/cat.c: Likewise.
43953 * commands/cmp.c: Likewise.
43954 * commands/ls.c: Likewise.
43955 * commands/terminal.c: Likewise.
43956 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43957 (pupa_register_command): Changed interface to match the new
43958 argument parser.
43959 (pupa_command_execute): Changed (almost rewritten) so it uses
43960 pupa_split_command. Added support for setting variables using the
43961 syntax `foo=bar'.
43962 (rescue_command): Changed to work with the new argument parser.
43963 (terminal_command): Moved from here to commands/terminal.c.
43964 (set_command): New function.
43965 (unset_command): New function.
43966 (insmod_command): New function.
43967 (rmmod_command): New function.
43968 (lsmod_command): New function.
43969 (pupa_command_init): Don't initialize the command terminal
43970 anymore. Initialize the commands set, unset, insmod, rmmod and
43971 lsmod.
43972 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43973 (kernel_img_HEADERS): Add arg.h and env.h.
43974 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43975 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43976 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43977 normal/arg.c.
43978 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43979 terminal.mod.
43980 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43981 (boot_mod_SOURCES): New variable.
43982 (terminal_mod_SOURCES): Likewise.
43983 (ls_mod_SOURCES): Likewise.
43984 (cmp_mod_SOURCES): Likewise.
43985 (cat_mod_SOURCES): Likewise.
43986
43987 * normal/arg.c: New file.
43988 * kern/env.c: Likewise.
43989 * include/pupa/arg.h: Likewise.
43990 * include/pupa/env.h: Likewise.
43991 * font/manager.c (font_command): Changed to match argument parsing
43992 interface changes.
43993 (PUPA_MOD_INIT): Likewise.
43994 * hello/hello.c (pupa_cmd_hello): Likewise.
43995 (PUPA_MOD_INIT): Likewise.
43996 * include/pupa/disk.h: Include <pupa/device.h>.
43997 (pupa_print_partinfo): New prototype.
43998 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43999 (pupa_dl_get_prefix): Likewise.
44000 * include/pupa/misc.h: Include <pupa/err.h>.
44001 (pupa_isgraph): New prototype.
44002 (pupa_isdigit): Likewise.
44003 (pupa_split_cmdline): Likewise.
44004 * include/pupa/normal.h: Include <pupa/arg.h>.
44005 (pupa_command): Changed the prototype of the member `func' to
44006 match the argument parsing interface. Added member `options'.
44007 (pupa_register_command): Updated to match function.
44008 (pupa_arg_parse): New prototype.
44009 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44010 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44011 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44012 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44013 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44014 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44015 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44016 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44017 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44018 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44019 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44020 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44021 * kern/disk.c: Include <pupa/file.h>.
44022 (pupa_print_partinfo): New function.
44023 * kern/dl.c: Include <pupa/env.h>.
44024 (pupa_dl_dir): Variable removed.
44025 (pupa_dl_load): Use the environment variable `prefix' instead of
44026 the variable pupa_dl_dir.
44027 (pupa_dl_set_prefix): Function removed.
44028 (pupa_dl_get_prefix): Likewise.
44029 * kern/i386/pc/init.c: Include <pupa/env.h>.
44030 (pupa_machine_init): Use the environment variable `prefix' instead of
44031 using pupa_dl_set_prefix to set the prefix.
44032 * kern/main.c: Include <pupa/env.h>.
44033 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44034 using pupa_dl_get_prefix to get the prefix.
44035 * kern/misc.c: Include <pupa/env.h>.
44036 (pupa_isdigit): New function.
44037 (pupa_isgraph): Likewise.
44038 (pupa_ftoa): Likewise.
44039 (pupa_vsprintf): Added support for printing values of the type
44040 `double'. Make it possible to format variable output when using
44041 formatting like `%1.2%f'.
44042 (pupa_split_cmdline): New function.
44043 * kern/rescue.c: Include <pupa/env.h>.
44044 (next_word): Removed function.
44045 (pupa_rescue_cmd_prefix): Likewise.
44046 (pupa_rescue_cmd_set): New function.
44047 (pupa_rescue_cmd_unset): New function.
44048 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44049 split the command line instead of splitting it here. Added
44050 support for setting variables using the syntax `foo=bar'. Don't
44051 initialize the prefix command anymore. Initialized the set and
44052 unset commands.
44053 * normal/cmdline.c: Include <pupa/env.h>.
44054 (pupa_tab_complete): Added prototypes for print_simple_completion,
44055 print_partition_completion, add_completion, iterate_commands,
44056 iterate_dev, iterate_part and iterate_dir. Moved code to print
44057 partition information from here to kern/disk.c.
fe6b695a 44058 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44059 * normal/main.c: Include <pupa/env.h>.
44060 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44061 instead of using pupa_dl_get_prefix to get the prefix.
44062 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44063 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44064 warning.
44065 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44066 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44067 ((unused))' to silence a gcc warning.
44068 (pupa_vga_setcolor): Likewise.
44069 (debug_command): Changed to match argument parsing
44070 interface changes.
44071 * util/pupa-emu.c: Include <pupa/env.h>.
44072 (options): Added 0's for unused fields to silence a gcc warning.
44073 (argp): Likewise.
44074 (main): Use the environment variable `prefix' instead of using
44075 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44076 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44077 and terminal.
44078
44079 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44080 * util/misc.c: Include <malloc.h>.
44081 (pupa_malloc): Rewritten so errors are correctly reported.
44082 (pupa_realloc): Likewise.
44083 (pupa_memalign): Likewise.
44084 (pupa_mm_init_region): Declare unused variables with
44085 `__attribute__ ((unused))' to silence a gcc warning.
44086 * normal/i386/setjmp.S: Remove tab at the end of the file to
44087 silence a gcc warning.
44088 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44089 variables with `__attribute__ ((unused))' to silence a gcc
44090 warning.
44091 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44092 local variable i unsigned to silence a gcc warning.
44093
44094 * kern/term.c: Include <pupa/misc.h>.
44095 (pupa_more_lines): New variable.
44096 (pupa_more): Likewise.
44097 (pupa_putcode): When the pager is active pause at the end of every
44098 screen.
44099 (pupa_set_more): New function.
44100 * include/pupa/term.h (pupa_set_more): New prototype.
44101
44102
3b1139cb 441032004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44104
44105 Now this project is GRUB 2 rather than PUPA. The location of
44106 the CVS repository was moved to GRUB's.
f19dbdb7 44107
3b1139cb 44108 * configure.ac: Use bug-grub as the reporting address.
44109 Use GRUB instead of PUPA.
44110 Change the version number to 1.90.
44111
8367695c 441122004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44113
44114 * genkernsyms.sh: Updated copyright information.
44115 * genmk.rb: Likewise.
44116 * genmodsrc.sh: Likewise.
44117 * gensymlist.sh: Likewise.
44118 * boot/i386/pc/boot.S: Likewise.
44119 * boot/i386/pc/diskboot.S: Likewise.
44120 * disk/i386/pc/biosdisk.c: Likewise.
44121 * disk/i386/pc/partition.c: Likewise.
44122 * font/manager.c: Likewise.
44123 * fs/ext2.c: Likewise.
44124 * fs/fat.c: Likewise.
44125 * include/pupa/boot.h: Likewise.
44126 * include/pupa/device.h: Likewise.
44127 * include/pupa/disk.h: Likewise.
44128 * include/pupa/dl.h: Likewise.
44129 * include/pupa/elf.h: Likewise.
44130 * include/pupa/err.h: Likewise.
44131 * include/pupa/file.h: Likewise.
44132 * include/pupa/font.h: Likewise.
44133 * include/pupa/fs.h: Likewise.
44134 * include/pupa/kernel.h: Likewise.
44135 * include/pupa/loader.h: Likewise.
44136 * include/pupa/misc.h: Likewise.
44137 * include/pupa/mm.h: Likewise.
44138 * include/pupa/net.h: Likewise.
44139 * include/pupa/normal.h: Likewise.
44140 * include/pupa/rescue.h: Likewise.
44141 * include/pupa/setjmp.h: Likewise.
44142 * include/pupa/symbol.h: Likewise.
44143 * include/pupa/term.h: Likewise.
44144 * include/pupa/types.h: Likewise.
44145 * include/pupa/i386/setjmp.h: Likewise.
44146 * include/pupa/i386/types.h: Likewise.
44147 * include/pupa/i386/pc/biosdisk.h: Likewise.
44148 * include/pupa/i386/pc/boot.h: Likewise.
44149 * include/pupa/i386/pc/console.h: Likewise.
44150 * include/pupa/i386/pc/init.h: Likewise.
44151 * include/pupa/i386/pc/kernel.h: Likewise.
44152 * include/pupa/i386/pc/linux.h: Likewise.
44153 * include/pupa/i386/pc/loader.h: Likewise.
44154 * include/pupa/i386/pc/memory.h: Likewise.
44155 * include/pupa/i386/pc/multiboot.h: Likewise.
44156 * include/pupa/i386/pc/partition.h: Likewise.
44157 * include/pupa/i386/pc/time.h: Likewise.
44158 * include/pupa/i386/pc/vga.h: Likewise.
44159 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44160 * include/pupa/util/getroot.h: Likewise.
44161 * include/pupa/util/misc.h: Likewise.
44162 * include/pupa/util/resolve.h: Likewise.
44163 * kern/device.c: Likewise.
44164 * kern/disk.c: Likewise.
44165 * kern/dl.c: Likewise.
44166 * kern/err.c: Likewise.
44167 * kern/file.c: Likewise.
44168 * kern/fs.c: Likewise.
44169 * kern/loader.c: Likewise.
44170 * kern/main.c: Likewise.
44171 * kern/misc.c: Likewise.
44172 * kern/mm.c: Likewise.
44173 * kern/rescue.c: Likewise.
44174 * kern/term.c: Likewise.
44175 * kern/i386/dl.c: Likewise.
44176 * kern/i386/pc/init.c: Likewise.
44177 * kern/i386/pc/lzo1x.S: Likewise.
44178 * kern/i386/pc/startup.S: Likewise.
44179 * loader/i386/pc/chainloader.c: Likewise.
44180 * loader/i386/pc/linux.c: Likewise.
44181 * loader/i386/pc/multiboot.c: Likewise.
44182 * normal/cmdline.c: Likewise.
44183 * normal/command.c: Likewise.
44184 * normal/main.c: Likewise.
44185 * normal/menu.c: Likewise.
44186 * normal/i386/setjmp.S: Likewise.
44187 * term/i386/pc/console.c: Likewise.
44188 * term/i386/pc/vga.c: Likewise.
44189 * util/console.c: Likewise.
44190 * util/genmoddep.c: Likewise.
44191 * util/misc.c: Likewise.
44192 * util/pupa-emu.c: Likewise.
44193 * util/resolve.c: Likewise.
44194 * util/unifont2pff.rb: Likewise.
44195 * util/i386/pc/biosdisk.c: Likewise.
44196 * util/i386/pc/getroot.c: Likewise.
44197 * util/i386/pc/pupa-mkimage.c: Likewise.
44198 * util/i386/pc/pupa-setup.c: Likewise.
44199
e6eced71 442002004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44201
44202 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44203 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44204 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44205 reading and reset it after reading.
44206 (pupa_ext2_close): Return PUPA_ERR_NONE.
44207
44208 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44209 Correct value.
44210 (struct linux_kernel_header): Add kernel_version and
44211 initrd_addr_max.
44212 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44213 pupa_file_read succeeds.
44214 (pupa_rescue_cmd_initrd): Implement.
44215
5aded270 442162003-12-03 Marco Gerards <metgerards@student.han.nl>
44217
44218 * fs/ext2.c (pupa_ext2_label): New function.
44219 (pupa_ext2_fs): Added label.
44220 * fs/fat.c (pupa_fat_label): New function.
44221 (pupa_fat_fs): Added label.
44222 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44223
44224 * kern/misc.c (pupa_strndup): New function.
44225 * include/pupa/misc.h (pupa_strndup): New prototype.
44226
44227 * include/pupa/normal.h: Include <pupa/err.h>.
44228 (pupa_set_history): New prototype.
44229 (pupa_iterate_commands): New prototype.
44230 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44231 <pupa/disk.h>, <pupa/file.h>.
44232 (hist_size): New variable.
44233 (hist_lines): Likewise.
44234 (hist_end): Likewise.
44235 (hist_used): Likewise.
44236 (pupa_set_history): New function.
44237 (pupa_history_get): Likewise.
44238 (pupa_history_add): Likewise.
44239 (pupa_history_replace): Likewise.
44240 (pupa_tab_complete): Likewise.
44241 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44242 completion shows partitionnames while completing partitions, this
44243 feature was suggested by Jeff Bailey.
44244 * normal/command.c (pupa_iterate_commands): New function.
44245 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44246 (pupa_normal_init): Initialize history buffer.
44247 (PUPA_MOD_INIT): Likewise.
44248 (pupa_normal_fini): Free the history buffer.
44249 (PUPA_MOD_FINI): Likewise.
44250
44251 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44252 key.
44253
44254 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44255 * configure.ac [i386]: Check for regparam bug.
44256 (NESTED_FUNC_ATTR) [! i386]: Defined.
44257
1f7315a3 442582003-11-17 Marco Gerards <metgerards@student.han.nl>
44259
44260 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44261 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44262 (pupa_emu_SOURCES): New variable.
44263 (pupa_emu_LDFLAGS): Likewise.
44264 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44265 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44266 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44267 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44268 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44269 (pupa_jmp_buf): New typedef.
44270 (pupa_setjmp) [PUPA_UTIL]: New macro.
44271 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44272 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44273 (pupa_refresh): New prototype.
44274 * include/pupa/util/getroot.h: New file.
44275 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44276 it.
44277 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44278 (pupa_rescue_cmd_cat): Likewise.
44279 (pupa_rescue_cmd_ls): Likewise.
44280 (pupa_rescue_cmd_testload): Likewise.
44281 (pupa_rescue_cmd_lsmod): Likewise.
44282 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44283 * normal/menu.c (run_menu): Likewise.
44284 * kern/term.c (pupa_cls): Likewise.
44285 (pupa_refresh): New function.
44286 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44287 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44288 * util/console.c: New file.
f19dbdb7 44289
1f7315a3 44290 * util/i386/pc/getroot.c: New file.
44291 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44292 (pupa_putchar): New function.
44293 (pupa_refresh): Likewise.
44294 (xgetcwd): Function moved to ...
44295 (strip_extra_slashes): Likewise.
44296 (get_prefix): Likewise.
f19dbdb7 44297 * util/i386/pc/getroot.c: ... here.
1f7315a3 44298 (find_root_device): Function moved and renamed to...
44299 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44300 Changed all callers.
44301 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44302 and renamed to...
44303 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44304 Changed all callers.
44305 * util/misc.c (pupa_memalign): New function.
44306 (pupa_mm_init_region): Likewise.
44307 (pupa_register_exported_symbols): Likewise.
44308 (pupa_putchar): Function removed.
44309 * util/pupa-emu.c: New file.
44310
9a5c1ade 443112003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44312
44313 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44314 (_multiboot_mod_SOURCES): New variable.
44315 (_multiboot_mod_CFLAGS): Likewise.
44316 * loader/i386/pc/multiboot.c: New file.
44317 * include/pupa/i386/pc/multiboot.h: Likewise.
44318 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44319 (pupa_multiboot_real_boot): New function.
44320 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44321 (pupa_multiboot_real_boot): New prototype.
44322 (pupa_rescue_cmd_multiboot): Likewise
44323 (pupa_rescue_cmd_module): Likewise.
44324
44325 * kern/loader.c (pupa_loader_set): Continue when
44326 pupa_loader_unload_func() fails.
44327 (pupa_loader_unset): New function.
44328 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44329
44330 * kern/misc.c (pupa_stpcpy): New function.
44331 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44332
8e72a9c0 443332003-11-12 Marco Gerards <metgerards@student.han.nl>
44334
44335 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44336 for available extensions.
44337
44338 * include/pupa/i386/pc/time.h: New file.
44339 * kern/disk.c: Include <pupa/machine/time.h>.
44340 (PUPA_CACHE_TIMEOUT): New macro.
44341 (pupa_last_time): New variable.
44342 (pupa_disk_open): Flush the cache when there was a timeout.
44343 (pupa_disk_close): Reset the timer.
44344 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44345 pupa_currticks.
44346 * util/misc.c: Include <sys/times.h>
44347 (pupa_get_rtc): New function.
44348
c4adbd32 443492003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44350
44351 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44352 as blocks.
44353 (pupa_ext2_get_file_block): Use blocks member.
44354
44355 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44356 first block. Return -1 instead of pupa_errno on error.
44357
bfd30f06 443582003-10-27 Marco Gerards <metgerards@student.han.nl>
44359
44360 * README: In the pupa-mkimage example use _chain instead of chain
44361 and ext2 instead of fat.
44362 * TODO: Replace ext2fs with jfs as an example. Add an item for
44363 adding journal playback for ext2fs.
44364 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44365 (pkgdata_MODULES): Added ext2.mod.
44366 (ext2_mod_SOURCES): New variable.
44367 (ext2_mod_CFLAGS): Likewise.
44368 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44369 * include/pupa/misc.h (pupa_strncpy): New prototype.
44370 (pupa_strcat): Likewise.
44371 (pupa_strncmp): Likewise.
44372 * kern/misc.c (pupa_strcat): Enable function.
44373 (pupa_strncpy): New function.
44374 (pupa_strncmp): Likewise.
44375 * fs/ext2.c: New file.
f19dbdb7 44376
bfd30f06 44377 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44378 when the read failed before retrying.
44379 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44380 (_FILE_OFFSET_BITS): Likewise.
44381 * configure.ac: Added AC_SYS_LARGEFILE.
44382
98d15063 443832003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44384
44385 * genmk.rb (PModule#rule): Make sure to get only symbol names
44386 from the output of nm.
59cad637 44387 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44388
18d9c7cd 443892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44390
44391 I forgot to check in these changes for a long time. This adds
44392 incomplete support for VGA console, and this is still very
44393 buggy. Also, a lot of consideration is required for I18N,
44394 UNICODE, and VGA font issues. Therefore, assume that this is
44395 such that "better than nothing".
f19dbdb7 44396
18d9c7cd 44397 * font/manager.c: New file.
44398 * include/pupa/font.h: Likewise.
44399 * include/pupa/i386/pc/vga.h: Likewise.
44400 * term/i386/pc/vga.c: Likewise.
44401 * util/unifont2pff.rb: Likewise.
44402
44403 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44404 (pkgdata_MODULES): Added vga.mod and font.mod.
44405 (vga_mod_SOURCES): New variables.
44406 (vga_mod_CFLAGS): Likewise.
44407 (font_mod_SOURCES): Likewise.
44408 (font_mod_CFLAGS): Likewise.
44409
44410 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44411
44412 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44413 (struct pupa_term): Added init and fini.
18d9c7cd 44414 Changed the argument of putchar to pupa_uint32_t.
44415
44416 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44417 (pupa_console_real_putchar): New prototype.
44418 (pupa_console_putchar): Removed.
44419 (pupa_console_checkkey): Exported.
44420 (pupa_console_getkey): Likewise.
44421
44422 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44423 characters.
44424
44425 * kern/term.c (pupa_term_set_current): Rewritten.
44426 (pupa_putchar): Likewise.
44427 (pupa_putcode): New function.
44428
44429 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44430 (pupa_console_real_putchar): ... this.
44431 (pupa_vga_set_mode): New function.
44432 (pupa_vga_get_font): Likewise.
44433
44434 * normal/command.c: Include pupa/term.h.
44435 (terminal_command): New function.
44436 (pupa_command_init): Register the command "terminal".
44437
44438 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44439 (DISP_UP): Likewise.
44440 (DISP_RIGHT): Likewise.
44441 (DISP_DOWN): Likewise.
44442 (DISP_HLINE): Likewise.
44443 (DISP_VLINE): Likewise.
44444 (DISP_UL): Likewise.
44445 (DISP_UR): Likewise.
44446 (DISP_LL): Likewise.
44447 (DISP_LR): Likewise.
44448
44449 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44450
977329f5 444512003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44452
44453 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44454 FIX. Reverse the path_list.
44455
44456 * include/pupa/normal.h: Export pupa_register_command and
44457 pupa_unregister_command.
44458
44459 * hello/hello.c (pupa_cmd_hello): New module.
44460 * conf/i386-pc.rmk: Added hello.mod.
44461
1f5ab428 444622003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44465
1f5ab428 44466 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44467 (compress_kernel): New variable.
44468 (generate_image): Heavily modified to support compressing a
44469 large part of the core image.
44470
44471 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44472 leak.
44473 (pupa_util_load_image): New function.
44474
44475 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44476 (pupa_compressed_size): New variable.
44477 (codestart): Enable Gate A20 here.
44478 Decompress the compressed part of the core image.
44479 Rearrange the code to put functions and variables which are
44480 required for initialization in the non-compressed part.
44481 Include lzo1x.S.
44482
44483 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44484 here.
44485
44486 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44487
f19dbdb7 44488 * include/pupa/i386/pc/kernel.h
1f5ab428 44489 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44490 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44491 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44492 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44493 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44494
44495 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44496
44497 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44498 (Utility#rule): Likewise.
44499
44500 * configure.ac: Check if LZO is available.
44501
ce5bf700 445022003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44503
44504 * include/pupa/normal.h: New file.
44505 * include/pupa/setjmp.h: Likewise.
44506 * include/pupa/i386/setjmp.h: Likewise.
44507 * normal/cmdline.c: Likewise.
44508 * normal/command.c: Likewise.
44509 * normal/main.c: Likewise.
44510 * normal/menu.c: Likewise.
44511 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44512
ce5bf700 44513 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44514 (pupa_rescue_cmd_initrd): Likewise.
44515
44516 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44517 Likewise.
44518
44519 * kern/i386/pc/startup.S (translation_table): New variable.
44520 (translate_keycode): New function.
44521 (pupa_console_getkey): Call translate_keycode.
44522
44523 * kern/rescue.c (attempt_normal_mode): New function.
44524 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44525 it failed, print a message.
44526
44527 * kern/mm.c (pupa_real_malloc): Print more information when a
44528 free magic is broken.
44529 (pupa_free): If the first free header is not free actually, set
44530 it to P.
44531
44532 * kern/main.c (pupa_load_normal_mode): Just load the module
44533 "normal".
44534 (pupa_main): Don't print the message
44535 "Entering into rescue mode..." here.
44536
44537 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44538 Declared.
44539 (pupa_rescue_cmd_initrd): Likewise.
44540 (pupa_rescue_cmd_initrd): Likewise.
44541
44542 * include/pupa/symbol.h (FUNCTION): Specify the type.
44543 (VARIABLE): Likewise.
44544
44545 * include/pupa/err.h (pupa_err_t): Added
44546 PUPA_ERR_UNKNOWN_COMMAND.
44547
44548 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44549 (pupa_dl_get_prefix): Likewise.
44550
44551 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44552 Added _chain.mod and _linux.mod instead of chain.mod and
44553 linux.mod.
44554 (chain_mod_SOURCES): Renamed to ...
44555 (_chain_mod_SOURCES): ... this.
44556 (chain_mod_CFLAGS): Renamed to ...
44557 (_chain_mod_CFLAGS): ... this.
44558 (linux_mod_SOURCES): Renamed to ...
44559 (_linux_mod_SOURCES): ... this.
44560 (linux_mod_CFLAGS): Renamed to ...
44561 (_linux_mod_CFLAGS): ... this.
44562 (normal_mod_SOURCES): New variable.
44563 (normal_mod_CFLAGS): Likewise.
44564 (normal_mod_ASFLAGS): Likewise.
44565
445662003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44567
44568 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44569 possible.
44570
fe6b695a 44571 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44572 recursively.
44573 (pupa_dl_unref): Unrefer depending modules recursively.
44574 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44575 a module is unloaded before one depending on that module is
44576 unloaded.
44577 (pupa_dl_unload): Unload depending modules explicitly,
44578 if possible.
44579
c04da074 445802003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44581
44582 * include/pupa/i386/pc/linux.h: New file.
44583 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44584
c04da074 44585 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44586 Removed.
44587 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44588 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44589 of PUPA_CHAINLOADER_BOOT_SECTOR.
44590
44591 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44592 (pupa_linux_prot_size): New variable.
44593 (pupa_linux_tmp_addr): Likewise.
44594 (pupa_linux_real_addr): Likewise.
44595 (pupa_linux_boot_zimage): New function.
44596 (pupa_linux_boot_bzimage): Likewise.
44597
44598 * kern/i386/pc/init.c (struct mem_region): New structure.
44599 (MAX_REGIONS): New macro.
44600 (mem_regions): New variable.
44601 (num_regions): Likewise.
44602 (pupa_os_area_addr): Likewise.
44603 (pupa_os_area_size): Likewise.
44604 (pupa_lower_mem): Likewise.
44605 (pupa_upper_mem): Likewise.
44606 (add_mem_region): New function.
44607 (compact_mem_regions): Likewise.
44608 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44609 the size of the conventional memory and that of so-called upper
44610 memory (before the first memory hole).
44611 Instead of adding each found region to free memory, use
44612 add_mem_region and add them after removing overlaps.
44613 Also, add only 1/4 of the upper memory to free memory. The rest
44614 is used for loading OS images. Maybe this is ad hoc, but this
44615 makes it much easier to relocate OS images when booting.
44616
44617 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44618 (pupa_enter_rescue_mode): Don't register initrd and module.
44619
44620 * kern/mm.c: Include pupa/dl.h.
44621
44622 * kern/main.c: Include pupa/file.h and pupa/device.h.
44623
44624 * kern/loader.c (pupa_loader_load_module_func): Removed.
44625 (pupa_loader_load_module): Likewise.
44626
44627 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44628 ``.o''.
44629
44630 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44631 (pupa_linux_tmp_addr): Likewise.
44632 (pupa_linux_real_addr): Likewise.
44633 (pupa_linux_boot_zimage): Likewise.
44634 (pupa_linux_boot_bzimage): Likewise.
44635
44636 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44637 (pupa_upper_mem): Likewise.
44638 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44639 module is too dangerous.
44640
44641 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44642 (pupa_os_area_size): Likewise.
44643 (pupa_loader_set): Remove the first argument. Loader doesn't
44644 manage modules or initrd any longer.
44645 (pupa_loader_load_module): Removed.
44646
44647 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44648 (linux_mod_SOURCES): New variable.
44649 (linux_mod_CFLAGS): Likewise.
44650
a13f9237 446512003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44652
44653 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44654 the length of a blocklist correctly.
44655
44656 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44657 Use ioctl only if the OS file is a block device.
44658 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44659 not very useful for normal files.
44660
44661 * kern/main.c (pupa_set_root_dev): New function.
44662 (pupa_load_normal_mode): Likewise.
44663 (pupa_main): Call those above.
44664
44665 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44666 pupa_uint16_t.
44667
44668 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44669
a5ffe966 446702003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44671
44672 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44673 (setup): Configure the installed partition information and the
44674 dl prefix.
44675
44676 * loader/i386/pc/chainloader.c (my_mod): New variable.
44677 (pupa_chainloader_unload): New function.
44678 (pupa_rescue_cmd_chainloader): Refer itself.
44679 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44680
44681 * kern/i386/pc/startup.S (install_partition): Removed.
44682 (version_string): Likewise.
44683 (config_file): Likewise.
44684 (pupa_install_dos_part): New variable.
44685 (pupa_install_bsd_part): Likewise.
44686 (pupa_prefix): Likewise.
44687 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44688
44689 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44690 and pupa/misc.h.
44691 (make_install_device): New function.
44692 (pupa_machine_init): Set the dl prefix.
44693
44694 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44695 (buf): Renamed to ...
44696 (linebuf): ... this.
44697 (pupa_rescue_cmd_prefix): New function.
44698 (pupa_rescue_cmd_insmod): Likewise.
44699 (pupa_rescue_cmd_rmmod): Likewise.
44700 (pupa_rescue_cmd_lsmod): Likewise.
44701 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44702 rmmod and lsmod.
44703
44704 * kern/mm.c (pupa_memalign): If failed even after invalidating
44705 disk caches, unload unneeded modules and retry.
44706
44707 * kern/misc.c (pupa_memmove): New function.
44708 (pupa_memcpy): Removed.
44709 (pupa_strcpy): New function.
44710 (pupa_itoa): Made static.
44711
44712 * kern/dl.c (pupa_dl_iterate): New function.
44713 (pupa_dl_ref): Likewise.
44714 (pupa_dl_unref): Likewise.
44715 (pupa_dl_unload): Return if succeeded or not.
44716 (pupa_dl_unload_unneeded): New function.
44717 (pupa_dl_unload_all): Likewise.
44718 (pupa_dl_init): Renamed to ...
44719 (pupa_dl_set_prefix): ... this.
44720 (pupa_dl_get_prefix): New function.
44721
44722 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44723 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44724 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44725 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44726 (pupa_install_dos_part): Declared.
44727 (pupa_install_bsd_part): Likewise.
44728 (pupa_prefix): Likewise.
44729 (pupa_boot_drive): Likewise.
44730
44731 * include/pupa/types.h: Fix a typo.
44732
44733 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44734 pupa_memmove.
44735 (pupa_memmove): Declared.
44736 (pupa_strcpy): Likewise.
44737
44738 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44739 pupa_mod_init takes one argument, its own module.
44740 (pupa_dl_unload_unneeded): Declared.
44741 (pupa_dl_unload_all): Likewise.
44742 (pupa_dl_ref): Likewise.
44743 (pupa_dl_unref): Likewise.
44744 (pupa_dl_iterate): Likewise.
44745 (pupa_dl_init): Renamed to ...
44746 (pupa_dl_set_prefix): ... this.
44747 (pupa_dl_get_prefix): Declared.
44748
44749 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44750 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44751 unloaded.
44752 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44753 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44754
44755 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44756 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44757
012d7999 447582003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44759
44760 * util/i386/pc/pupa-setup.c (setup): Define the internal
44761 function find_first_partition_start at the top level, because GCC
44762 3.0.x cannot compile internal functions in deeper scopes
44763 correctly.
44764 (find_root_device): Use lstat instead of stat.
44765 Don't follow symbolic links.
44766 Fix the path-constructing code.
44767
44768 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44769 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44770 by a BLKGETSIZE ioctl first, because block devices don't fill
44771 the member st_mode of the structure stat on Linux.
44772 [__linux__] (linux_find_partition): Use a temporary buffer
44773 REAL_DEV for the working space. Copy it to DEV before returning.
44774 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44775 buffer cache consistent.
44776 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44777 strncmp. The previous value was merely wrong.
44778 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44779
44780 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44781 FAT size is 12. The previous value was merely wrong.
44782
44783 * kern/main.c (pupa_main): Don't split the starting message from
44784 newlines.
44785
44786 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44787 LF, because BIOS goes crazy about character attributes in this
44788 case.
44789
1cc73a62 447902003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44791
44792 * include/i386/pc/util/biosdisk.h: New file.
44793 * util/i386/pc/biosdisk.c: Likewise.
44794 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44795
1cc73a62 44796 * Makefile.in (INCLUDE_DISTFILES): Added
44797 include/pupa/i386/pc/util/biosdisk.h.
44798 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44799 directory util/i386/pc.
44800 (install-local): Added a rule for sbin_UTILITIES.
44801 (uninstall): Likewise.
44802
44803 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44804
44805 * util/misc.c (xrealloc): New function.
44806 (pupa_malloc): Likewise.
44807 (pupa_free): Likewise.
44808 (pupa_realloc): Likewise.
44809 (pupa_stop): Likewise.
44810 (pupa_putchar): Likewise.
44811
44812 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44813
44814 * include/pupa/util/misc.h (xrealloc): Declared.
44815
44816 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44817 macro.
44818 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44819 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44820
44821 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44822 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44823
44824 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44825 way should be implemented.
44826 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44827
44828 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44829 the size of NAME for safety.
44830 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44831 0x88.
44832
44833 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44834 (pupa_setup_SOURCES): Likewise.
44835
44836 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44837
08b70fe8 448382002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44839
44840 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44841 bunch of pushl's from pusha, because this destroys the return
44842 value.
44843
62ddcc8f 448442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44845
44846 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44847 This means that any missing prototypes could be fatal. Also, you
44848 must take care when writing assembly code. See the comments at
44849 the beginning of startup.S, for more details.
f19dbdb7 44850
62ddcc8f 44851 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44852 compilation mechanism.
44853 (pupa_chainloader_real_boot): Likewise.
44854 (pupa_biosdisk_rw_int13_extensions): Likewise.
44855 (pupa_biosdisk_rw_standard): Likewise.
44856 (pupa_biosdisk_check_int13_extensions): Likewise.
44857 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44858 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44859 (pupa_get_memsize): Likewise.
44860 (pupa_get_mmap_entry): Likewise.
44861 (pupa_console_putchar): Likewise.
44862 (pupa_console_setcursor): Likewise.
44863 (pupa_getrtsecs): Use pushl instead of push.
44864
44865 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44866 memory instead of the stack for a mmap entry, because some
44867 BIOSes may ignore the maximum size and overflow.
44868
44869 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44870
44871 * genmk.rb (PModule#rule): Compile automatically generated
44872 sources with module-specific CFLAGS as well as other sources.
44873
9962ed99 448742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44875
44876 * configure.ac: Check ld.
44877 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44878 respectively, before checking endianness and sizes.
44879
44880 * Makefile.in (LD): New variable.
f19dbdb7 44881
abdfc3c5 448822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44883
44884 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44885
6a161fa9 448862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44887
44888 * Changelog: New file.
44889